日本語 · English

Kairos 言語仕様 — 付録 A. 発報層プロファイル(適合実装の契約)

本書は仕様ツリーに置く付録で、規範(§1〜7)の一部ではない。「Kairos 適合の発報層はこれを満たす」を文書だけで定める契約である。 言語は定義と評価だけを持ち(§1.4)、実行と状態は発報層の責務(§7.8)。本書はその境目を、参照実装を 実運用に載せた供給側の実行系からの還流便(2026-07〜10)の知見で具体化する。英訳は en/spec/60。

A.0 この文書は何か

言語は点列を返す。発報層は点列を実行し、状態を持つ。本書はこの境目をどちら側にも越えさせない。 適合の段は 3 つ。

本書の立場。

読む順は §1.4 スコープ → §7.7〜7.8 分業の一般形 → §4.10 評価註釈と被覆サマリ → 本書。

A.1 評価の契約

言語との境界は CliReport の形。評価器を CLI で呼んでも自前に持ってもよいが、受け渡す器はこの形に揃える。

器

tz と評価範囲

版

同一性の鍵(1.0.9)

自前の評価器を持つ場合

A.2 再評価(rolling horizon)

近未来の有界窓を評価し、定期的に再評価して差し替える。言語の決定性がこの運用を支える。

有界窓と決定性

水位標と missed-fire

タイマーと起床

A.3 発火と冪等

発火は at-least-once、重複の吸収はジョブ側の冪等。予定側の永続化は要らない。

at-least-once と claim

冪等キー

点の同定

予定側の永続化を要求しない

A.4 運用信号の配線

言語は危険を註釈・被覆サマリ・警告で返す。発報層はそれを監視へ配線し、黙らせない。

残走路→監視

区間註釈→警告

供給の失敗→劣化運転

警告

信号台帳

A.5 供給(supply)

式は静的・データは実行時に解決。1 回の評価で供給は 1 回固定する。

静的束と一評価一解決

asof と covering

供給路

A.6 照合(予実)

照合は意味を持つ副作用にだけ要る。予定側のテーブルは作らない。

A.7 観測例

言語側の試作実測と、供給側の実行系(自前の評価器・external 供給・通知の配信)からの還流便に記録された値。供給側の固有名は伏せ、「供給側の記録では」の枠で引く。

言語側の試作実測(2026-07-09)

供給側の本番値(測定条件は本番環境・各事象 1 発火・ベンチマークではない)

A.8 適合の自己申告(チェックリスト)

発報層が「Kairos 適合」を名乗るときに添える一覧。MUST は全部に印を付け、SHOULD は外した項目と理由を書く。

MUST

  1. CliReport の形で評価結果を受け、points を点の同一性にしている(A.1)
  2. エラーも JSON で受け、error.kind で起動時の扱いを分けている(A.1)
  3. tz は定義側で明示し、実行環境の既定 tz に依存しない(A.1)
  4. 評価範囲は日付単位の半開区間(to は含まない)である(A.1)
  5. 時刻起点の切り出しを評価範囲で行っていない(A.1)
  6. version を記録し、版更新時に点列を前後比較している(A.1)
  7. uid を永続 ID に使っていない(A.1)
  8. 自前の評価器は判定の同一性(診断の文言を含む)と doctest 照合を満たす(A.1・該当時)
  9. 有界窓の定期再評価で差し替え、重なる区間の一致を検査している(A.2)
  10. 水位標を持ち、未発火点を列挙して黙って消さない(A.2)
  11. 発火は at-least-once・副作用の前に claim・台帳は鍵(事象×宛先)につき 1 行(A.3)
  12. missed-fire が通常の発火と同じ配信処理・同じ冪等キーを通る(A.3)
  13. 冪等キーの成分に定義の同一性(自前の記録 id)・点(粒度に応じて暦日か点そのもの)・asof(複数宛先なら宛先)が入っている(A.3)
  14. 残走路を閾値監視に配線している(A.4)
  15. 発火点と註釈区間の交差を扱っている(A.4)
  16. boot で止めないのは error.kind が supply のときだけ(劣化運転)・static と usage は止める(A.4)
  17. 「まだ無い」と「解決失敗」を型で区別している(A.4)
  18. 供給は静的束・一評価一解決・asof は同一性比較のみ(A.5)
  19. データを持つ premise に covering と tz を明示している(A.5)
  20. 予実照合は決定的再評価 × 冪等台帳(A.6)
  21. 発火・予約・送信完了の 3 つの時刻を区別して記録している(A.6)

適合検査の最小セット(SHOULD)

報告の定型(SHOULD)

A.9 用語

用語 定義 参照
発報層 言語の点列を解釈して実際に起動・実行・管理する実装系。言語のスコープ外 §1.4・§7.8
rolling horizon 近未来の有界窓 [today, today+H) で評価し、定期的に再実体化して差し替える実行モデル A.2
実体化 評価窓で定義を評価し、発火予定(missed と next)を確定する処理。起動時・日次・回復時に走る A.2
水位標 前回どこまで発火したかの記録。実装形は前回実行位置や lookback 窓 A.2
missed-fire 停止中に過ぎた発火点。水位標から now までの列挙で得る。通常の発火と同じ配信処理を通る A.2・A.3
決定性 同じ定義・同じ範囲・同じ供給から同じ点列。環境を跨いでも next が変わらない §7.8
at-least-once 取りこぼさず実行する保証。重複はジョブ側の冪等で吸収する A.3
冪等 claim 副作用の前に冪等キーで台帳の行を取る操作。claimed/delivered の計数で表す。行は鍵(事象×宛先)につき 1 つ A.3
冪等キー 定義の同一性(自前の記録 id)・点(粒度に応じて暦日か点そのもの)・asof(複数宛先なら宛先)の成分で組む鍵 A.3
uid 式の指紋。順番・字面・tz から計算。永続 ID ではない A.1
残走路 被覆サマリの各源について、評価 to から covering 末尾までの日数 §4.10
区間註釈 範囲外出自の註釈区間。結果に並走し、空でない結果にも付く §4.10
被覆サマリ 参照した各源の covering・asof・完結主張・残走路。評価範囲でクリップしない §4.10
劣化運転 供給の解決失敗時に空の予定で起動し、起床ごとに再試行する状態 A.4
供給エラー external の解決失敗。CLI の --supply では束の形の誤りも含む。機械可読な部分類(error.kind が supply) ADR-46
正当な空 空テーブル+covering。実体化は成功・点ゼロ・残走路の警告は出る ADR-45
CAP/TTL/H 起床周期/供給キャッシュの有効期限/評価地平線。失敗した更新でも TTL が進む実装では CAP > TTL が回復の条件 A.2・A.4
horizon-clip/window-clip 実装地平線の越えの警告/評価範囲内の点が段で外へ動いた警告 §7.8・ADR-37
一評価一解決 1 回の評価で供給を 1 回だけ解決し、asof を固定する A.5
静的束 external の解決値を dates/instants・covering・asof・labels の形で渡す束 A.5
予実照合 決定的再評価と冪等台帳の突き合わせ。意味を持つ副作用にだけ要る A.6
3 つの時刻 発火・予約(claim)・送信完了。観測値にはどれかを添える A.6
写経/追随 参照実装を自前の評価器へ移す行為と、公開版への追従 A.1
判定の同一性 参照実装と同じ可否(受理・拒否)・点列・診断の文言を返す性質。独自ガードを足さない A.1
信号台帳 運用信号を 1 発火 1 レコードで残す記録 A.4