{
  "$comment": [
    "**公開レーンの出荷に、事前登録した予測が付いているか。**",
    "scripts/check-contract-coverage.mjs が読む。",
    "",
    "【なぜ要るか】",
    "価値契約の仕組みは 2026-09-04 に配線され、承認済み指標も3件入った。",
    "それから 2026-09-05 まで、**起案は1本も書かれなかった。**",
    "配線が済んでいることと、実際に使われることは別で、",
    "**使われなかったことに気づく仕掛けが無かった。**",
    "公開レーンの出荷 14 件のうち契約が付いていたのは 0 件（2026-09-05 実測）。",
    "",
    "VDC 30点は「窓内の出荷のうち決済済み契約を伴う割合」なので、",
    "自律スコアを 60 に乗せるには窓内 22 出荷のうち 15 本が要る。",
    "**1本ずつ手で書いて届く距離ではない。**日次runが毎回書く運用に変わるしかなく、",
    "変わったかどうかは、この台帳が数える。",
    "",
    "【何を「覆われている」とするか】",
    "契約が在る、**または**その日の不適格理由が記録されている（data/decision-rejections/）。",
    "Runbook §2-1 の『候補が通らない日は不適格理由だけ記録し、出荷を捏造しない』と同じ。",
    "**書けない日があること自体は正常。**異常なのは、書きも記録もせずに出荷が通ること。",
    "",
    "【enforcement — 停止側へ倒す日を決めるのは L4】",
    "record_only … 数えて出すだけ。CIは落ちない（2026-09-05 の設定）",
    "block       … 契約も理由も無い公開レーン出荷があればCIを落とす",
    "",
    "**いきなり block にしない。**日次runは §3-1 に一度も到達していないので、",
    "今日 block にすると**明日の朝から出荷が止まる。**",
    "eligibility-policy.json が 09-04 に同じ理由で record_plus_r2_block から始めたのと同じ判断で、",
    "1周まわして分布を見てから倒す。",
    "",
    "【この台帳が「効いていない」と言える条件】",
    "required_from 以降の公開レーン出荷が 0 件なら、この検査は何も見ていない。",
    "--check がその状態を『空回りしている』と明示する。"
  ],
  "version": 1,
  "policy_owner": "human",
  "created_at": "2026-09-05",
  "enforcement": "record_only",
  "$enforcement_values": [
    "record_only … 数えて出すだけ（CIは落ちない）",
    "block       … 契約も理由も無い公開レーン出荷でCIを落とす"
  ],
  "required_from": "2026-09-06",
  "$required_from_note": [
    "この日以降の公開レーン出荷だけを見る。**過去に遡って落とさない。**",
    "2026-09-05 以前の 14 件は契約が付けられない時期の出荷なので、数に入れない。"
  ],
  "publishing_lanes": ["A", "B", "C", "D", "E"],
  "target": {
    "settled_contracts_for_score_60": 15,
    "window_ships_at_measurement": 22,
    "measured_at": "2026-09-05",
    "$note": "VDC = 30 × 決済済み契約を伴う出荷 / 窓内の全出荷。60点にはVDC 20.8点が要り、22出荷なら15本。**この数は窓の出荷数で動く。**"
  }
}
