型付き辺: 出 1 / 入 0
ADR-0154: Cross-Validation 2 段化の第 1 段(早期差し戻し)を撤回する
- Status: Accepted (PR #2046 merge = 受理の規約により 2026-06-16 受理・代表取締役判断)
- Mode: Standard
- Kruchten Type: Executive
- Scope: platform
- Implementation Status: Done (PR #2046 merge = 第 1 段早期差し戻しゲートの撤回・実装中止。第 1 段は K.O. で実装着手前のため物理コードは存在せず削除不要。sub 戻し完了 = ADR-0143 Implementation Status 撤回扱い + 構造正典 §G-1 ③ 2 段実行注記除去 + operator_guide §4.3.3・§7.15 の 0143 分除去 + adr-index 再生成)
- 起案者: [email protected]
- 起案日時 (JST): 2026-06-16 12:08
- 承認日時 (JST): 2026-06-16 14:06
- Approver Role: platform
- Approver Who: [email protected]
- Driver: [email protected]
- Consulted: Decision Pipeline AI 審査 (Gate 0-4)
コンテキスト
1.1 背景
ADR-0143 は Cross-Validation(critical 盲点 × Must 軸 × undermines)の判定を 2 段化し、第 1 段(軽量・高 precision)を socratic 直後・body_generation 前に前倒しして、明確な critical×Must 矛盾を Opus 2 ノード前で早期差し戻し(a 文面解消型)または capture(b 実装実証型)する設計だった。同 ADR は §Gate1 #6 で「単一の確信度閾値で先取り率 30% 以上・precision 80% 以上・FPR 5% 以下を同時達成できるか」をパイロット合否の前提条件と定め、§撤退条件で FPR 5% 超なら実装に入らないと規定していた。
1.2 現状 (As-Is)
実装着手前パイロット(本番 telemetry から cv_reject 35 件 + cv_pass 20 件・起案ドメイン別層別化・ADR-0142 稼働後を 5 件以上含む)を実施。確信度閾値 0.50〜0.95 を 0.05 刻みで掃引した結果、3KPI を同時達成する閾値は存在しない:
- 先取り率を 30% 以上に保てる確信度閾値帯では、FPR は最良でも 40%(基準 5% の 8 倍)。閾値を上げて FPR を下げると先取り率が 0% に崩壊。
- 既定閾値 0.70 では 先取り率 88.9% / precision 51.6% / FPR 93〜100%(2 回測定。temperature 0)。
- 正しい差し戻し(cv_reject)と body 救済による誤差し戻し(FP)の確信度分布が完全重複(いずれも中央値 0.82・p75 0.85・上限 0.88)。
なお FPR 40% の Wilson 95% 信頼区間は約 19〜64% と広いが、下限 19% でも基準 5% を 3.8 倍上回るため撤回方向の判定は変わらない(K.O. 結論は標本サイズに対して頑健)。
1.3 課題
第 1 段は ADR-0143 設計上 body を見ない(生テキスト基準で run 間判定を安定させる狙い)ため、本番 CV の通過判定の約半分を占める body 救済ケース(生テキスト基準では critical×Must 矛盾が生きているが、生成された body の記述で undermines=false に救済されるケース)を原理的に再現できない。確信度分布が cv_reject と FP で完全重複するため、閾値調整・プロンプト較正・より強いモデルでも分離不可能(情報が入力に無い問題でモデル能力の問題ではない)。撤退条件に該当した以上、第 1 段ゲートは実装に入らず撤回する必要がある。
1.4 制約・要件
- ADR-0076 の CV 判定権威・観点所有 1 つ・FN=0 の安全性、および本番 CV(body 後の単一段)挙動は不変。
- ADR-0109 bounded rounds は従来どおり機能し、goalpost ループ対策は下流側で担保。
- ADR-0142 ② 受付プリゲートは本番稼働継続。
- 撤回 PR では第 1 段相当のコード(ノード定義・プロンプト・output_schema・safety circuit)を物理削除し、フラグ OFF での残存を許容しない。
- 戻し対象 5 箇所(構造正典 §G-1 ③ / operator_guide §7.15・§4.3.3 / 残論点台帳 Q3 / adr-index)を同一 PR で同期完了させる。
1.5 目標 (To-Be)
ADR-0143 を Implementation Status 撤回扱いに更新し、第 1 段ゲートのコード・ドキュメントを本番グラフおよびリポジトリから完全に取り除く。再導入は本 ADR §撤退条件 3 要件を別 ADR で証明した場合に限る。Non-Goals: 本番 CV(body 後単一段)・ADR-0109 bounded rounds・ADR-0142 ② 受付プリゲートの変更。
決定
ADR-0143 の「第 1 段(socratic 直後・body 前の早期差し戻しゲート)」を撤回し実装中止とする。確信度閾値・プロンプトの較正で解消するのではなく、3KPI 同時達成閾値が存在しないこと(本番データでの掃引結果)および cv_reject と FP の確信度分布完全重複(構造的分離不能)を根拠に、設計前提そのものを放棄する。Opus 2 ノード前 fail-fast のコスト削減便益を放棄する代わりに、通過すべき起案を誤差し戻しすることによる手戻りと信頼毀損を回避する。
判断基準 (Decision Drivers)
3.1 評価軸
| # | 軸 | 重要度 (係数) | 案件特有の解釈 |
|---|---|---|---|
| 1 | #reliable | [Must] (×2.0) | 通過すべき起案を誤差し戻さない(FPR ≤ 5%)。本番データで第 1 段は達成不能と確定。K.O. = FPR > 5% |
| 2 | #efficient | [High] (×1.0) | Opus 2 ノード前 fail-fast のコスト削減便益。誤差し戻しによる手戻りコストがこれを上回るなら正味マイナス |
| 3 | #maintainable | [Medium] (×0.5) | 達成不能な設計を実装・保守し続けないこと(プロンプト 1 本 + ノード + safety circuit の保守負債を負わない) |
| 4 | #usable | [Medium] (×0.5) | 起案者が「予備通過したのに本番で差し戻された / 通過案件が差し戻された」期待値ギャップに晒されない |
K.O. criterion: #reliable が達成不能(FPR 構造的に > 5%)であることが撤回の十分条件。Must 軸 score < 3 は不採用。
3.2 評価軸 × 案スコア表
| 軸 | 係数 | 採択案 (撤回) | 案 1 (閾値較正で維持) | 案 2 (capture 専用化) | 案 3 (body スケッチ後判定) |
|---|---|---|---|---|---|
#reliable (Must) | ×2.0 | 5 | 1 | 4 | 3 |
#efficient (High) | ×1.0 | 3 | 2 | 1 | 2 |
#maintainable (Med) | ×0.5 | 5 | 2 | 3 | 2 |
#usable (Med) | ×0.5 | 5 | 1 | 3 | 3 |
| 加重和 (正規化) | 0.850 | 0.300 | 0.600 | 0.500 | |
| K.O. 通過 (Must ≥3) | ✓ | ❌ | ✓ | ✓ |
検討した代替案 (Alternatives Considered)
- 案 1: 確信度閾値・プロンプトの較正で FPR を下げる(ADR-0143 を維持) — 本番データで否定済み。3KPI 同時達成する閾値が存在せず(掃引実測)、cv_reject と FP の確信度分布が完全重複するため原理的に分離不能。K.O. 不通過。なお閾値掃引のみの検証であり入力フィーチャー変更(body 救済 proxy シグナル付与等)の ablation は未実施のため、「原理的分離不能」の主張範囲は同一入力空間に限る(本 ADR §撤退条件で別経路として明示)。
- 案 2: 第 1 段を capture 専用/助言のみに縮小(reject しない) — 誤差し戻し被害は消えるが、(1) reject しない以上 body_generation を止められず Opus 2 ノード前 fail-fast のコスト便益がほぼ消滅、(2) capture も生テキスト基準では body 救済ケースを過剰に capture 指示し D-1 ログとレビューを汚染。導入益が運用負債を下回るため不採用。
- 案 3: 最小限の body スケッチ生成後に判定位置を再配置 — body 依存を一部取り込めば救済ケースを再現できる可能性はあるが、(1) 「生テキスト基準で body 非依存」という ADR-0143 中核前提の放棄に相当する実質スコープ変更、(2) スケッチ生成コストが fail-fast 便益を相殺、(3) RQ-098(再現性設計)前提も崩れる。本 amend スコープ外の新規設計であり別 ADR で起案すべき。不採用。
影響 (Consequences)
5.1 正の影響 (Good)
- 達成不能な設計の実装・保守(socratic 直後ノード + プロンプト + output_schema + safety circuit + telemetry)を回避。
- 起案者を誤差し戻し(FPR 40%・最悪 100%)の期待値ギャップから守る。
- パイロット工数 0.5 人日で K.O. を実装前に確定させ、サンクコスト回避(実装 2〜3.5 人日 + 継続保守)。
5.2 負の影響 (Bad)
- ADR-0143 で sub 側が先行実装済みの記述を撤回・更新する必要がある(構造正典 §G-1 ③ の 2 段実行注記 / operator_guide §7.15 の再 ON フロー・ルーブリック / §4.3.3 第 1 段 pass 周知 / 残論点台帳 Q3 行)。5 箇所同期漏れリスクあり(Confirmation で対処)。
- 撤回後、cv_reject 相当ケースは Opus 2 を必ず通過してから下流 CV + bounded rounds で止まる経路となり、Opus 2 呼び出しコストが第 1 段存在時より増加(本番月間 cv_reject 件数 × Opus 2 単価。現時点で実測未取得のため概算困難 — Phase 1 撤回 PR マージ後 1 ヶ月時点 (2026-07) の月次 telemetry で実測値を補追する)。
- adr-index の 1 行「撤回扱い」だけでは「確信度分布完全重複」という非自明な構造的機序が伝わらず、別チームによる「プロンプト改善で解決できる」再解釈リスクがある(ADR-0143 本文に分布図と再導入禁止 3 要件を埋め込み緩和)。
- パイロット telemetry(cv_reject 35 / cv_pass 20)が財務系起案を含む場合、電帳法第 7 条の訂正・削除履歴保存要件に該当する可能性。撤回 PR で判定ログ自体は削除しない(保存方針は ADR-0142 既存 telemetry 規約に従う)。
5.3 中立・トレードオフ (Neutral / Trade-offs)
- Opus 2 ノード前 fail-fast の理論上のコスト削減を放棄。ただしパイロットで「正味削減」が成立しないことが示されており放棄による実損は限定的。
- FPR 40% は cv_pass 20 件からの点推定(Wilson 95% CI 約 19〜64%)。下限 19% でも基準 5% を超えるため K.O. 方向は頑健だが、「閾値存在しない」の断定は同一入力空間・現サンプル範囲での結論であることを明記。
- 「body 救済が約半分」はパイロット cv_pass 20 件のうち、生テキスト基準で critical×Must 矛盾が成立しつつ body 記述で undermines=false に転じた件数(約 10 件)の比率に基づく。月次絶対件数換算は本番 telemetry の起案ボリュームに依存し、Phase 1 後の実測で更新。
- ADR-0076 / ADR-0109 / ADR-0142 ② は不変。
撤退条件 (Rollback Plan)
本 amend は「実装しない」決定のため、撤退 = 第 1 段ゲートを再導入する条件の明示とする。次のすべてを満たす設計が別途起案・実証された場合に限り再評価する:
- 起案者が緩和策を生テキストに構造化形式で前置する仕組み(または最小 body 由来の根拠を第 1 段が参照する仕組み、あるいは body 救済 proxy シグナル付与による入力空間拡張)が別 ADR として承認済みであり、かつそのADRのConfirmationが本番 telemetry で検証済みであること(「確立した」の客観的定義)。
- 改修後ハーネスでの再パイロットで、先取り率 ≥ 30% かつ precision ≥ 80% かつ FPR ≤ 5% を同時達成する閾値が実在すること(Gate1 #6 充足)。サンプルサイズは FPR ≤ 5% を検出力 80% で棄却するために必要な n を事前に算出した上で確保。
- 正しい差し戻しと誤差し戻しの確信度分布が分離していること(本パイロットでは中央値とも 0.82 で重複)。箱ひげ図で重複領域 < 25% を目安。
上記未充足のまま第 1 段早期差し戻しを本番グラフへ載せることを禁止する。
コスト試算
- 撤回・ドキュメント更新(sub): ADR-0143 本文の Implementation Status 撤回扱い化 + 構造正典 §G-1 ③ / operator_guide §7.15・§4.3.3 / 残論点台帳 Q3 の戻し + adr-index 再生成で 0.5 人日。
- 削減効果: 実装(main)2〜3.5 人日 + 継続保守(プロンプト 1 本 + ノード + safety circuit + 月次集計)を未然に回避。
- パイロット投資: 0.5 人日(K.O. を実装前に確定させた投資として回収済み)。
- 撤回後の Opus 2 追加通過コスト(増加要素): 第 1 段が存在すれば遮断できた cv_reject 相当ケースが Opus 2 を必ず通過する経路となる。本番月間 cv_reject 件数の実測値が現時点未取得のため概算困難。Phase 1 撤回 PR マージ後 1 ヶ月時点 (2026-07) の月次 telemetry で実測し、コスト試算を更新する。パイロット期間中の cv_reject 35 件比率を月次に外挿した粗推定では、Opus 2 単価が現行月次総コストに対し小さければ削減便益放棄の実損は限定的との見通し。
Confirmation
- 検証手段:
- ADR-0143 の Implementation Status が撤回扱いで adr-lint を通り adr-index に反映されている。
- 本番 decision-pipeline グラフに socratic 直後の第 1 段ノードが存在しない(
drp/srcの grep + グラフ定義で確認)。 - 第 1 段相当ファイル(ノード定義・プロンプト・output_schema・safety circuit)が物理削除されている(CI で対象パスの非存在を assertion。フラグ OFF での残存を許容しない)。
- sub 側の戻し 5 箇所(構造正典 §G-1 ③ / operator_guide §7.15 / §4.3.3 / 残論点台帳 Q3 / adr-index)が完了している(撤回 PR レビュアーがチェックリスト形式で 5 項目すべて承認)。
- ADR-0143 本文に「cv_reject vs FP の確信度分布重複」根拠と再導入禁止 3 要件が埋め込まれ、adr-index から参照可能。
- 実行頻度: 撤回 PR の CI / adr-lint(commit 毎)。マージ後は週次のグラフ定義 grep 監視。
- 違反時対応: 第 1 段ノードまたは関連ファイルが本番グラフ・リポジトリに混入していれば即 OFF + PR で物理除去。再導入は §撤退条件 3 要件の充足を別 ADR で証明してから。
- 観測 KPI: 本番グラフ内の第 1 段ノード数 = 0 / 関連ファイル数 = 0 / adr-index の ADR-0143 行が撤回扱い / 戻し 5 箇所の同期 100%。
参照 (References)
- 関連 ADR:
- ADR-0143: amend(第 1 段早期差し戻しゲートの撤回。パイロット K.O. に基づく実装中止)
- ADR-0076: 不変(CV 判定権威・観点所有 1 つ・FN=0・本番 CV 挙動は影響なし)
- ADR-0109: 補完(下流 bounded rounds は従来どおり。goalpost 対策は下流側で担保)
- ADR-0142: 並立(② 受付プリゲートは本番稼働継続。本 amend は ③ 頑健性検査の前倒し部分のみを撤回)
- ADR-0100 / 0101 / 0102: 参照(実装実証型の連続差し戻し実証ケース。本撤回後も下流 CV + bounded rounds で対処)
- 関連 PR/Issue: -
- 外部資料: Suhr 1999 CBA(WSM 加重和正規化)/ Wilson 1927(二項信頼区間)