Kairos 言語仕様 — RC 履歴
リリース候補(RC)宣言ごとの差分と追補の記録。README(最新ステータス) の前段から移した
当時の記録(追記型・古い順)で、旧仮称や当時の宿題表記はそのまま残す。現況の正本は spec 本文・
命名の確定状況は §5.4・宿題は ../design/90-open-questions.md。
RC1 → RC2(2026-07-07)
通読レビューで ADR-29/30 の反映漏れと章間齟齬を修正(EBNF へ labels: を追補、前文を独立文とするスコープの
EBNF 修正、高階関数の記述修正ほか)、射影一族ほか六語の命名確定、宿題の分類再確認(DoD)。
RC2 追補(2026-07-07)
リファレンス実装(../impl/)の綻び F43〜F50 を解消——例の不整合修正(F45〜F48)と ADR-31(grid の
既定整列+anchor:・紀元 epoch:・stride 一族の from: 必須化)・ADR-32(文字列リテラル。
tz: "Asia/Tokyo")。
RC2 → RC3(2026-07-08)
頻出しながら未定義だった土台の明文化と、最後の未確定機構の確定:
ADR-33(TZ の定義)=射影パラメータモデル(基底 chronos は TZ 非依存・TZ は市民座標への版付き写像・
「錨」は射影に付く)、市民日は「その日付になる最初の瞬間」からの半開区間、chronos はうるう秒を持たない
一様な理想化軸=UTC の各日を 86,400 秒と数える(23:59:60 は字句エラー)、DST の隙間・重複に落ちる時刻リテラルは
明示エラー(解決規約は将来の opt-in)、紀元の tz 相対性の明文化。ADR-34(label: 付与式の束縛規則)=
ラムダは窓の先頭点を受け、意味論は定義的等式「名前(d) ≡ 付与式(先頭点)」(射影時・遅延評価)・
点±幅算術は導入しない。あわせて ADR-30/31 に改訂節(「別点の窓参照」の精密化・データ由来窓の
epochOrdinal=存在する最初の窓が 0(F60)・div/mod の負数は floor(F63))、用語集に TZ の項を新設、
§3.6 の「うるう秒で 23〜25 時間」の誤記を修正。標準 premise は 4 本に拡充済み(../stdlib/——Fiscal・
ISOWeek・Kyureki と暦座標糖衣。ISO 週番号が label: なしの確定語彙で書ける発見 F57 を含む)。
RC3 → RC4(2026-07-08)
最後まで残っていた二つの継続項目の確定:
ADR-35(カレンダー実体の宣言)=calendar: に立てる実体は予約公開語 nonWorking(仮称)を持つ
premise(新構文ゼロ・§3.9 新設)。正体判定(ADR-19 の延長)は nonWorking の day 整列と tz: 宣言
(内側固定の執行点)まで要求し、bizDay は言語規定の標準導出(calendar: 在圏の予約名)。軸位置の
premise 名(on: TSE)は正体判定+標準導出への読み替え(F53 解消)。修飾ピンの member 解決規則
(定義側優先)を明文化。ADR-36(結合子・軸所属の粒度整合)=整列(alignment)の静的検査を導入
(F56/F54 解消・§4.5)。整列=「全点が原子グリッド G(幅・正規化位相・tz 名)の目盛り上」という導出構造
からの主張で、&/\/filter(on:)/roll(on:)/shift(unit: 点列軸)/stride は両辺同一 G を要求
(黙って空振りする形を静的エラーに)・snapTo が明示の再整列・和 | は不問(混合スケジュール保護)・
tz 名はリテラル文字列の等値。あわせて ADR-05 に注記(整列は型でなく静的性質)・I8 の字面に結合子を追補・
glossary に整列/カレンダー実体/nonWorking/bizDay を追加・reference に nonWorking.md を新設。
リファレンス実装は実体・標準導出・整列検査まで実装し 147 テスト全通過(doctest の標準前提も実体経由)。
新出の宿題は F67〜F70(../design/40-examples/90-findings.md)。
RC4 → RC5(2026-07-08)
評価註釈(I6・ADR-15)の初めての具体化(F61 解消):
ADR-37(範囲外出自と covering: の活性化)=covering: は「範囲内は完全・範囲外は未知」の二面の
主張で値には触れない(列の全要素の包含は静的検査——当初案の clip は敵対検証の致命反例で却下)。
範囲外出自は結果に並走する区間註釈〔[a,b)・種・源・covering・asof〕で、伝播は core 全演算子の
輸送表(§4.10 新設——結合子は和・shift は平行移動像・roll は依存像・選択子は窓拡幅・stride は位相
汚染・segmentBy の edges: 発火は覆域端=実効被覆域)。相殺は自動でなく明示の被覆主張(束縛
後置 covering:)のみ。エラーの分類器=実効被覆域(外なら「落として註釈」・内なら従来どおり硬エラー)。
器は二つ——評価範囲にクリップする区間註釈と、クリップしない被覆サマリ(源・covering・asof・完結
主張・残走路)。covering の表現域を拡張: 開端(2021..・..=完結主張・統治つき)と区間
リスト(中抜けの申告)。あわせて ADR-15/26 に改訂節(空の出自→区間の出自)、I6 の字面更新、
EBNF(covering-list・束縛後置)、glossary 5 項追加。bizDay 標準導出の「データの尽きた先の黙った退化」
(ADR-35 判断 3)が退化するが観測可能になる。リファレンス実装は註釈の区間輸送・包含検査・分類器・
被覆サマリまで実装し 188 テスト全通過(実装検証で判断 5 の必要条件検査を精密化=ADR-37 改訂。
判断 1 の tz: 必須の執行のみ宿題)。
RC5 追補 1(2026-07-08)——所属の意味論の縁の確定
F68・F70 解消: ADR-38=(a) 窓所属の述語
coincides(S, w, d)(仮称三語目・§4.9 射影一族=値式の有界存在量化)。時刻付き・混合スケジュールへの
例外日適用(filter(t => not coincides(closures, day, t))——発火時刻を保存して「日」で除く)の受け皿。
確定は証人規則(真=非註釈区間の証人のみ・偽=窓が実効被覆域内)・S の市民時 tz と w の tz 名
不一致は静的エラー(クロス tz の裏口封じ)・整列要求は課さない(区間所属=ADR-36 判断 7 免除系へ)。
(b) stride は入力相対に確定(軸引数削除・n ≥ 1 の整数・from: 以上の最初の入力点が第 0 歩・
ADR-36 の stride 整列検査は削除)。あわせて ADR-37 判断 4 の filter 輸送行を逆像拡幅に精密化
(F75——窓越し述語の過小近似の穴)。使い分けの規範「同じ点なら結合子〈snapTo で整合〉・同じ
所属なら coincides」を §4.5 とエラー文言に整備。
RC5 追補 2(2026-07-08)——並行リストの結びの確定
F62 解消: ADR-39=テーブルの labels: を
segmentBy 窓列へ一般化(新語ゼロ・三ラベル源の対称完成——点データ/窓規則/窓データ・§4.2)。
読みは束縛名射影・整列は専用の窓列序数(実効被覆域内の先頭マーカー窓が 0——epochOrdinal とは
紀元跨ぎで食い違うため相乗りしない)・同長性検査(リスト長 == 覆域基準の窓数・評価範囲非依存=
正確・窓束縛の評価と同時)。前提=マーカー有限・無註釈の単一覆域。締め=edges: clip/empties:
drop/label: 同居/cycle/gen 語すべて静的エラー+未知の名前付き引数の黙殺も封止。守るのは長さのみ
(中身の照合は doctest・coincides の分担)。ADR-30 に改訂節(適用先一般化・補助束縛パターンの再配置)。
RC5 追補 3(2026-07-08)——日付ラベル保存の再錨と多 TZ の実行検証
F69 解消: ADR-40=
点変換 rebase(to: "tz")(仮称)=日付ラベルを保存して to tz の同日付の市民日先頭へ写す(§4.4)。
snapTo=chronos 所属・rebase=ラベル対応の二本立てで ADR-36 の整合手段が完成(TSE×NYSE の共通
営業日が書ける)。w=day 固定・非存在日付(Pacific/Apia 2011-12-30)は明示エラー・免除系の tz 名
検査を同時拡張(ADR-36 改訂 2)。リファレンス実装は IANA tz(依存ゼロ)で多 TZ を実装——DST 切替日
23/25h(ADR-11/12 幅規約の初の実行検証)・premise 相対 day グリッド・tz: 必須の全面執行。
RC5 追補 4(2026-07-09)——営業時間の供給規約と標準導出
F67 本体・F79 裁定: ADR-41=
カレンダー実体の細粒度層(§3.9)。供給規約=実体の予約公開語の対 sessionOpens/sessionCloses(仮称・実体 tz
の市民座標=壁時計で宣言・任意・with 継承込みで対判定)・セッション=半開区間の和・整合性検査
(結合実効被覆域∩実体化範囲での局所交互・端の切り欠き合法・同時刻対は両点保持)・標準導出
bizOpen/bizClose/isOpen(実体相対)。あわせて ADR-31 改訂 2=時刻付き anchor:/from: の
窓境界(壁時計ラベル読み・隙間→最初の瞬間・重複→最初)と shift の経過保存の明文化(F81/F83)。
RC5 追補 5(2026-07-09)——位置依存の名前解釈と窓インスタンス参照
F64/F9 解消: ADR-42=
適用の型規則(§2.7 新設——名前の解釈は候補集合を出現位置の期待型で絞り、複数残れば曖昧エラー。
軸位置の premise 名〈ADR-35〉・点引数=束縛名射影〈ADR-34〉・値引数=窓インスタンス参照の三面)と、
窓インスタンス参照 W(v)=逆像(§4.9——W(v) ≡ W の要素点列 |> filter(d => W(d) == v)。
year(2020)=その年の日々・marineDay & year(2020) の正準形・新語彙ゼロ)。dispatch は糖衣
展開後・実引数束縛後の引数式の型で分岐。標準ラベル=year/month(Gregorian)+year(Fiscal——
上書きはラベルを継承しないため同時付与)。ゼロマッチは空だが、静的に列挙できるラベル値域の域外は
静的エラー(month(2020) 級のタイポ封じ)。EBNF は stream-atom の修飾適用形
(Gregorian.year(2020))のみ追補。
RC5 追補 6(2026-07-09)——純命名の一括確定とリテラルの締め
F51・F66/F97: 仮称 9 語の
うち 8 語を正式名に確定(供給の対のみ opens/closes → sessionOpens/sessionCloses に改名・
ADR-41 改訂。残る仮称は shiftBoundary 一語=1.0 送り継続)。ADR-43=(a) 日付リテラルの
値域は字句エラー(2026-02-30 級の拒否——実装が黙って 2026-03-02 へロールオーバーしていた
サイレント面を封じる)・(b) 固定オフセット TZ は厳格一意形 "±HH:MM" のみ(ADR-36 の
「リテラル字面の等値」が依存する一意性)・(c) 時点は値型の一員(裸の値束縛 d0 = 2026-05-15
合法=F97 解消・ADR-42 の dispatch 表は「点以外の値→インスタンス参照」に精密化)。
RC5 追補 7(2026-07-14)——空テーブルリテラル(実装系還流の初便)
ADR-45=F98(発報層実装からの第一次還流で出た綻び——「点ゼロだが覆域は主張したい」束縛の
一次形が無く、恒偽 filter の回避形が迂遠): 空リスト [] は covering: 後置に限り時間ストリーム
定数(空テーブル)に昇格する。空形は covering 明示必須(省略既定「列の端」が空列で定義できない)・
labels: [] のみ合法・包含/昇順/同長の各検査は空虚に成立。整列は空虚適合の第三状態(ADR-36
改訂 3=全整列に適合し検査に通る・結合は相手を継承)。EBNF は変更なし(要素列は既に省略可能——
意味論注記のみ改稿)。既存の式の意味は不変(静的エラーだった形の合法化=追加拡張)。検証の副産物
として roll 空軸の依存像の実装欠陥(F99)を発見・修正。
RC5 追補 8(2026-07-14)——外部供給宣言 external(socket の確定)
ADR-46=発報層還流第一次の実測痛点 2 件(静的ソース不可・統治の焼き忘れ)を受けた socket の
要否込み裁定(設計者裁定=採用・宣言語 external)。設計の核=実行時に解決されるテーブル
リテラル——新型・新代数ゼロで、リテラルが字面で運ぶ静的性質を宣言(kind:=整列の主張・
labels:=値域の列挙)が先取りし、解決値に同一の統治検査(covering/asof 必須・包含・昇順・同長・
日付の実在)を供給契約として課す。premise 束縛の右辺(先頭)限定・解決は評価文脈の随伴
(一評価一解決・要求駆動・定義側 premise 単位のスナップショット)・解決失敗は供給エラー
(機械可読な部分類——「まだ無い」〈ADR-45〉と型で区別)。EBNF は param-key に kind/source を
追加のみ。§7.8 の決定性は「同一スナップショット相対」の条件を明記。既存の式の意味は不変
(追加拡張)。ADR-26 改訂 3(式に埋める/器で受ける、の使い分け確定)。
RC5 追補 9(2026-07-25)——テーブル後置の順序自由化と窓列被覆域の精密化(発報層還流 第 5 便)
第 3 の適用ドメイン(暦×占い)の実運用検証(発報層還流 第 5 便)が炙り出した 2 件:
- テーブルリテラル後置の順序自由化(F104):
covering:/labels:の後置を順序自由・各一回 とする(EBNF §5.6 を{ covering | labels }形に改訂)。従来文法は固定順(covering → labels) だったが、実装が逆順のcovering:をラベルリストの後置として黙って捨てていた——受理拡大に よる封じ(二重指定は構文エラー)。既存の式の意味は不変(追加拡張)。 - 窓列の実効被覆域の精密化(F105・ADR-37 改訂 3):
segmentByの窓列は「窓の張られた範囲」 だけを語る——マーカー覆域内でも窓のない区間(edges: drop/errorの頭側・empties: dropの 中抜け)は窓列由来の範囲外註釈とし、labels 射影・coincidesの読みには「落として註釈」で 応える(従来は硬エラー——filter 派生マーカー〔覆域始端 < 最初のマーカー〕で filter 正準形が 評価不能だった)。エラー→註釈の緩和方向のみで、正しく評価できていた式の意味は不変。
RC5 追補 10(2026-07-25)——窓列への周期ラベル labels: cycle(ADR-47)
segmentBy の labels: の値位置に周期形 cycle リスト anchor: 実日 を追加(発報層還流 第 5 便
§3 の実需——節切り月の十二支・月家九星・月星座など「窓列=暦の単位・ラベル=固定周期」の形。
候補設計 4 視点検証・設計者裁定 3 件を経た採用)。意味論は窓束縛 cycle と同一「anchor の属する窓が
先頭ラベル」= list[(i − i₀) mod N]・新語彙ゼロ。同長性検査は課さない(covering が伸びても式
不変=ADR-46 静的ソース原則との整合)——守るのは位相の宣言のみで、マーカー中途増減・非周期列への
誤用は機械検出されない(照合は doctest・coincides の分担)。anchor は窓列のいずれかの窓に区間
所属(頭側・範囲外は明示エラー)。締めは静的 labels: と同一を継承。あわせて named-arg の重複指定を
静的エラーに一般化。既存の式の意味は不変(追加拡張)。EBNF は segment-labels/cycle-labels を追加。
RC5 追補 11(2026-07-26)——最後の仮称を rephase に裁定・命名完全確定
窓境界の位相ずらし糖衣の正式名を rephase に裁定(旧仮称 shiftBoundary・設計者裁定=
当初「1.0 宣言時」予定の条件 3 を前倒し)。根拠は三点: (1) 展開の実体(span の phase:
差し替え)と名が一致——rephase(δ, on: W, unit: U) ≡ W = U span (_ => k) phase: ((φ₀+δ) mod k)、
(2) rebase(点の再錨)・anchor:(位相を留める実日)との re-/錨・位相語彙系の対称——ADR-47 で
「位相」が利用者向け語彙に昇格したことが後押し、(3) 簡潔(13 字→7 字)と点変換 shift との
同語幹回避。比較候補 shiftBoundary 昇格・shiftPhase・offsetBoundary/moveBoundary は
不採用(経緯は design/30-syntax/01)。boundary の語は k 可変組を扱う将来の別演算子
(スコープ外)に温存。これで全語彙が正式名——仮称ゼロ。意味論・展開・シグネチャは不変
(純命名)。全コーパス一括置換(spec・reference〈ページ改名 shiftBoundary.md→rephase.md〉・
stdlib・impl・図版・英語ミラー)。
RC5 追補 12(2026-08-17)——take・split 親受理拡張・hour 窓と整合検査(ADR-48/49/50)
「書けない」実例調査(40-examples/11=収集 32 項目・実測 17 本)が駆動した三点。(1) take(n,
from:) 新設(ADR-49・§4.7): ストライドの数える側の第 3 語=先頭 N 選択(COUNT 相当・実需要の
初証拠 rrule.js #456)。除外後に数えるが合成順で出るため COUNT の轍を踏まない。輸送表に take 行
(stride 同型+第 n 点確定後の縮小)・窓付き入力は誘導つき静的エラー・§1.2 の「できないこと」表
から当該行を解消。(2) split の親受理拡張(ADR-48・§3.6): 規則マーカー由来の実効パーティション
(glossary 新設)を親・by: に受ける(F109——標準 week 自体が弾かれていた非対称の解消)。データ
由来親・empties: drop・cycle は不受理・境界整合検査を新設・I5 総和はエラーへ昇格。(3) hour 窓の
標準化と ordinalIn 整合検査(ADR-50・§4.9): Gregorian に経過 1 時間タイル hour を追加し、
経過幅単位×市民枠窓の境界不整合を per-instance の明示エラーに(破れの述語は「紀元差」——
Kolkata は整列・Singapore/Kathmandu/Lord_Howe が破れの実測。ADR-36 判断 7 の免除の精密化)。
552 テスト。
RC5 追補 13(2026-08-21)——単独時刻リテラルと at・takeLast(ADR-51/52)
(補記 2026-08-26・第 11 回レビュー G の補綴: 本追補の前日 2026-08-20 に F110=糖衣定義の 循環検出〈自己・相互再帰を経路つき静的エラーへ——従来は JS 生エラーで落ちていた挙動変更を含む〉 と reference「糖衣定義」ページ新設〈doctest 3 本〉・spec §4.8 の循環明文化が入っている。 追補相当の変更だが番号を持たず、記録がこの欄から漏れていた。)
還流第 12 便(供給側の運用報告=収蔵 13)が駆動した二点。(1) 単独時刻リテラル Thh:mm と
stdlib 糖衣 at(ADR-51・§5.5・stdlib §2): 「日集合→その日の壁時計 H 時」の正準形(壁時計
tick+coincides・F76 の受け皿)を最短形にする。T 接頭形限定(裸 hh:mm は三項条件と衝突=互換
保持を実測)・epoch 錨日 1970-01-01(tzdb 悉皆で遷移ゼロ・帯 [紀元, 錨) の欠落ゼロ)・DST は
F81 継承(糖衣は展開先の意味を継承)。供給側の経過算術形(発火点数分の horizon-clip)からの
乗り換え先。(2) takeLast(n, until:) 新設(ADR-52・§4.7): ストライドの数える側の第 4 語=
末尾 N 選択(直近 N 発火)。ADR-49 判断 6 の見送りを実需要第 1 号(レシピ発火例・366 日窓の
代替運用)を受けて改訂——until: の明示錨が「covering 依存」の却下理由を構造的に解消。輸送は
判断 5 の鏡像(条件付き縮小)・実装地平線ガード 2 面(until ≥ 計算範囲・実体化下限)・until: は
点包含(正道=数える段は日の層・時刻付与は後)。603 テスト。
RC5 追補 14(2026-08-26)——標準糖衣 at の名指し検査(ADR-51 追記)
還流第 15 便(供給側の追随実装知見 5 件=収蔵 16・全件を参照実装で再現確認)が駆動。at の展開形は 入力を述語として読み直すため、入力が運んでいた窓・覆域註釈のかかった点・endless の由来が 出力へ引き継がれない——うち「利用者が黙って誤結果を得る」2 形を展開前の名指し検査で塞ぐ (§5.5・stdlib §2): (a) 窓付き入力は誘導つき静的エラー(ADR-49 の窓ガードが 1 段で素通り し通し数えに化ける形。正道=窓は at の後で切る——外延同値)・(c) 引数は単独時刻リテラルに限る (日付つきの錨〈日時・裸日付とも〉は前方専用で錨より前が黙って空)。検査は標準語彙の名の防御で、 利用側 premise の同名再定義には掛からない(糖衣原理 ADR-23 の例外ではなく展開前の適格性検査)。 覆域外の点の at 段での脱落と endless 由来の警告偽陽性は規約の内(糖衣は展開先の意味を継承) ——reference の落とし穴へ実測込みで文書化。判断 6 の括弧書き(tick 生成域)は実装事実に合わせ 追記で訂正——horizon-clip が出ない論拠は「単位窓列を実体化しない」の側。607 テスト。
RC5 追補 15(2026-08-26)——束縛右辺の名前解決境界とメモ化の正しさ(ADR-53)
還流第 16 便(供給側のメモ化追随の敵対的レビュー=収蔵 17・全 9 再現形を参照実装で確認)が
駆動。バグ 2 件——①右辺が呼び出し側ラムダ変数を掴む束縛で最初に評価された点(実体化原点
epoch)の値が全点に焼き付きエラーも警告も無く点集合が変わる ②ADR-40 の tz 名検査が
文の並び順・単一文内の整列切替で有効/無効が変わる。処置(§4.8): (1) 束縛右辺の名前
解決は「束縛・premise 語・前文メンバー・列挙」で閉じる——呼び出し側ラムダ変数への捕獲は
誘導つき静的エラー(点依存は引数付き束縛 T(x) = … で明示。マクロ捕獲は「定義の意味が使用
箇所の変数名に依存する」=定義単体で読める思想への反・既存コーパスに該当形ゼロの実測・推移形
も遮断が根で断つ)。メモ化はこれで正となる(焼き付きが構造的に不可能に)。(2) メモ化ヒット
時に記録済みの tz 名検査を現在の文脈で再実行(defCache 全 3 経路)——検査の順序独立性と解決値
のクロージャ同一性(labelStack ガードの前提)の両立(align をキーに足す案・メモ化スキップ案は
同一性の破れを実測して不採=ADR-53 判断 6)。617 テスト。
RC5 追補 16(2026-08-28)——ADR-53 の完遂と記録条件の精密化(還流第 17 便)
供給側の ADR-53 追随レビュー(収蔵 19)が駆動。①判断 3 の完遂=引数付き束縛の呼び出し経路
(evalCall)の遮断漏れを補綴——T(x) = dayNo(d) が使用箇所の変数名に依存する形(改名で挙動が
変わる・引数無視)が静的エラーに(spec §4.8 の明文どおりへ実装が追随・誘導文言も両状況対応へ)。
②判断 5 の記録条件の精密化=tz 名検査の記録を「fromPredicate 明示(predicateAlign 由来の
5 呼び出し元だけ)∧ 束縛評価開始時 align と一致」の二重条件へ——値由来検査の誤記録が生んでいた
診断の誤帰属・within 形の偽陽性・右辺内で完結した検査の過剰停止を封止(第 16 便の順序独立 3 形は
不変量のまま)。仕様の字面変更なし(§4.8 の明文に実装が追いつく形)。テスト 5 本追加=623。
追補 16 補綴(同日)——EBNF の棚卸し(第 11 回レビュー LOW・文法凍結前の一度きり)
①未定義非終端の補定義(digit/digit2/digit4/digits/letter——参照のみで定義が無かった)
②width-literal を実装の受理形へ(旧 elapsed-width は空文字列を導出でき・順序固定が実装
〈セグメント 1 回以上の列〉より狭かった——width-seg の 1 回以上繰り返しに統一・civil/elapsed の
分類は検査の層と明記)③束縛後置の covering: を引数なし束縛の分岐に限定(実装の静的エラー
「被覆主張は引数なしの束縛にのみ付く」と文法を一致)。いずれも受理言語の実態は不変=文法記述の
精密化のみ。日英同時。
RC5 追補 17(2026-08-28)——順序独立の完全化: ヒット時再実行の再記録(還流第 18 便)
追補 16 の記録条件精密化が作った退行の修正(供給側の追随レビューが検出・叩き台 3 行を採用)。
ヒット時再実行の 3 経路が fromPredicate を渡しておらず、間接参照 B = T で内側束縛が
キャッシュヒットすると検査が外側エントリへ伝播しない——先行の単独評価 1 行で危険な文が
黙って通る「並び順」依存が再来していた(値は正しく、壊れたのは警告の一貫性)。修正=
再実行検査を評価中の外側フレームへ再記録(baseAlign 条件は維持=追補 16 の過剰停止封止と両立)。
witness 3 本追加=626 テスト。bizDay 導出経路の別種非対称(align オブジェクト共有の偶然一致)は
観測として 90-open-questions に採録(1.0 後の精密化候補)。
RC5 追補 18(2026-08-31)——テストの網の補強: 診断全文の固定と bizDay 経路 witness(還流第 19 便)
受理言語・意味論・診断文言とも不変(テスト側のみ)。供給側の変異試験が検出した 3 件——
①追補 17 の witness 3 本のうち単一文内切替形は追補 17 の退行を検出しない(別面の witness と位置づけを
明記)②ADR-40 診断の期待値が部分一致で、入力/窓の左右取り違えを内容で捕まえるテストが 0 本だった
(→全文アンカー固定・変異 3 種で 7 本が赤)③defCache 第 3 経路(bizDay 標準導出)の再記録に witness が
無かった(→間接参照 B = bizDay の witness 1 本追加)。627 テスト。ADR-53 追記 4。