• Status: Accepted
  • Mode: Standard
  • Kruchten Type: Existence/Executive
  • Scope: platform
  • Implementation Status: Done (drp #2152 同梱実装・worker v c2d51b1a 本番反映 2026-06-18・撤退条件監視 4週)
  • 起案者: [email protected]
  • 起案日時 (JST): 2026-06-18 18:16
  • 承認日時 (JST): 2026-06-18 19:04 (Pipeline 通常 flow Standard 42/50 通過 + Cross-Validation 却下なし・Consistency INFO、PR #2123 マージ)
  • Approver Role: platform
  • Approver Who: [email protected]
  • Driver: [email protected]
  • Consulted: Decision Pipeline AI 審査 (Gate 0-4)

コンテキスト

1.1 背景

DRP は決定の緻密さを Gate4 の 10 軸で採点するが、そのうち 9 軸が解決策・決定側で、問題側は軸1 problem_definition のみである(prompts/production/gate4-scoring/prompt.md:8-17)。しかも軸1は「痛みを明確に・数値で記述したか」を見るだけで、「その問題を解く価値があるか(不可逆な実害を含むか)」は採点しない。

1.2 現状 (As-Is)

Gate4 で価値を見る軸 = 9 分の 0。本番 telemetry の distinct 起案 97 件(2026-05-27〜06-17・単一起案者)を分析した結果、放置コスト記述の有無や solution-first といった「安価な床」を単独で入口ゲートにするのは低 ROI だった。低スコア起案の失点源は特定軸でなく全軸が薄い broad thinness で、放置コスト単独シグナルは却下率と交絡していただけだった。

1.3 課題

論証だけ立派な非問題が軸1で高得点を取れてしまい、逆に不可逆 harm を含む問題を入口で強く扱う仕組みも無い。価値そのものは母集団横断の優先度に依存し生テキスト 1 本からは判定できないが、harm の「性質」——後から金や気合で取り返せない不可逆性(A)か、放置で複利的に悪化する慢性流血(B)か、ROI の合わない軽微(C)か——は問題に内在し、テキストから逐語シグナルで推論できる。

1.4 制約・要件

  • 不可逆 harm A の取りこぼしを防ぐ(K.O. 基準)
  • 高い再現性(temp0 + evidence 照合 + コード routing。完璧な決定性は主張せず Confidence フラグ/INVALID を安全弁とする)
  • env フラグで即停止できる HITL
  • 判定ロジックはプロンプトでなくコード(abc_decide.ts)に置く
  • pregate(ADR-0142)と同型の二段構成(LLM 抽出 + 決定論コード)

1.5 目標 (To-Be)

triage と pregate の間に新ノード abc_screen を置いて harm 性質を逐語抽出しコードで A/B/C 分類・ルーティングする。A は審査を厚く(force-Critical)、B は実測必須タグ、C は Do Nothing 旗で「やらない」を可視化する。Non-Goals: 価値の絶対採点・コストゲート(ADR-0088)の A-aware 化(ADR-B へ分離)。

決定

triage →(needsAdr)→ abc_screen → pregate → socratic の位置に受付ノード 1 つを新設し、harm 性質の A/B/C 分類でルーティングする。LLM は harm を意味で分類し根拠を逐語 evidence span で示す(毀損ドメイン: コンプラ / 情報資産・トラスト / コア停止・SLA / キャッシュフロー、不可逆性シグナル、緊急性シグナル、影響範囲、ワークアラウンド有無、放置コストの実測有無)。A/B/C の確定と routing は決定論コード abc_decide.ts が下す(LLM の構造化出力に lookup-table を適用し、evidence span が本文に存在するか照合して幻覚を排除する。drp/src/nodes/problem_space_decide.ts:92-136 を範に)。ルーティングは FMEA Action Priority 流の lookup-table で、不可逆性 A かつ影響範囲が顧客級以上なら審査深度を Critical へ強制、B なら実測必須タグ、C なら Do Nothing 旗を立てる。証拠が薄い軸は採点に混ぜず人間へ回す(Confidence フラグ)。harm 性質(severity)と triage の mode(priority)は別軸として駆動する。

不可逆性 A(後から回復できるか)と Urgency(外部主導の期限があるか)は共起しても別軸として扱う。慢性悪化 B(内在的に複利で悪化する度合い)は外部期限の Urgency とは区別する。

span 照合は normalized substring match(Unicode NFC + 空白正規化)で行い、照合失敗時は INVALID でなく Confidence フラグ(人間回し)に格下げする(日本語全角/半角・改行コード差・シノニム解決後の表現ずれを吸収するため)。

判断基準 (Decision Drivers)

3.1 評価軸

#重要度 (係数)案件特有の解釈
1#safeMust (×2.0)不可逆 harm A の取りこぼしを防ぐ(K.O.)
2#reliableMust (×2.0)temp0 + evidence 照合 + コード routing で高い再現性。Confidence フラグ/INVALID を安全弁とする
3#operableHigh (×1.0)C 終端は人間が決める HITL、env フラグで即停止できる
4#maintainableMedium (×0.5)判定ロジックはプロンプトでなくコードに置く

K.O. criterion: Must 軸の score < 3 は不採用。#safe を満たさない案(A を見逃す)は本案の存在意義を失うため絶対条件。

3.2 評価軸 × 案スコア表

係数採択案(新ノード)案 1 (LLM 主観採点)案 2 (Gate4 軸追加)案 3 (pregate 拡張)案 4 (triage 統合)
#safe×2.042233
#reliable×2.041232
#operable×1.043232
#maintainable×0.542332
加重和 (正規化)0.8000.3600.4200.6000.480
K.O. 通過 (Must ≥3)

検討した代替案 (Alternatives Considered)

  • 案 1: LLM に「価値があるか」を主観採点させる — 母集団横断の優先度に依存し、同じ起案でも判定がぶれて再現性(K.O.)を満たせない。境界 drift を招くため不採用。
  • 案 2: Gate4 に「問題価値」軸を 1 本足す — Gate4 は本審査の下流で、しかも採点であり境界がぶれる。受付で harm 性質を機械確定する本案の目的(早期ルーティング・force-Critical)を満たせないため不採用。
  • 案 3: pregate(ADR-0142)を拡張する — pregate は「構造を見て FAIL=差し戻し一択」のゲートで、全件 harm を見てルーティングする(C も差し戻さない)本スクリーンとは性質が違う。隣接する別ノードが自然で不採用。
  • 案 4: harm 抽出を triage ノードに統合する — triage は既に短絡判定・ADR 該当判定・mode 決定・コストゲートの 4 工程が同居しており、severity と priority を混線させるため不採用。
  • 案 5: A の ROI 免除(ADR-0088 コストゲートの A-aware 化)を本案に同梱する — v1 では見送り、ADR-B へ段階分離する(同梱はコストゲートを triage から動かす Critical 級の変更を v1 に持ち込むため)。放置防止策(ADR-0130 パターン):
    • 起票義務: ADR-A 受理(merge)時に ADR-B を起票
    • 期限: ADR-A 本番反映後 4 週間以内に ADR-B に着手
    • 撤退トリガー: 期限内に ADR-B 未着手なら abc_screen の A→force-Critical override を env フラグで無効化。期間中「A 相当でコストゲート却下」件数を telemetry で監視し、観測されれば ADR-B を最優先化
    • 検知運用: merge 後 4 週で ADR-B 未起票を自動検知して起案者・承認者に通知する(CI または calendar reminder)。ADR-B 未実装期間中に A 判定かつコストゲート却下になった起案者向けエラーメッセージに「ADR-B 実装待ち・再提出可」の案内を表示する
    • 充足済注記 (2026-06-19): ADR-B = ADR-0158「コストゲートを triage から独立ノードへ分離し ABC スクリーンの後段に置く」が PR #2147 で同梱起票・本案 PR #2152 で同梱実装され本番反映済。本節の起票義務・期限・撤退トリガー・検知運用はいずれも ADR-0158 同梱で形式的に充足された。ADR-B 未起票検知 cron / calendar reminder の構築は不要。なお A 免除率の監視(cost_gate_verdict='A_AWARE_PASS' が全 A 起案の 50% を 4 週連続で超えたら無効化)は ADR-0158 の撤退条件に集約済。

影響 (Consequences)

5.1 正の影響 (Good)

  • 論証だけ立派な非問題を C として可視化できる
  • 不可逆 harm A の取りこぼしを防げる
  • harm 性質という問題側の軸が初めてパイプラインに入る

5.2 負の影響 (Bad)

  • A の force-Critical で審査コスト(socratic 以降)が増える
  • 誤分類(過大 A・過小 C)が残る
  • 受付の LLM 呼び出しが 1 回増える
  • C の「Do Nothing 旗」が「あなたの問題は無価値」と読まれ起案を萎縮させうる(複数起案者環境で本来 A/B 相当の問題を DRP に持ち込まなくなる行動変容のリスク)→ C のメッセージは「現時点で取り組む優先度が低い理由」を提示し、再申請フロー・人間レビュー要求オプションを設計に含める(ADR-0149 連携)。再起案率を telemetry KPI に追加し、基準値を下回った場合の設計見直しトリガーを撤退条件に追加する
  • Confidence フラグ起案が人間レビューキューに滞留しうる → 週次上限件数・SLA 日数・担当ロール・エスカレーション先を ADR 本文に数値で確定する必要がある(下記 Confirmation 参照)。Confidence キュー滞留件数を telemetry KPI に追加
  • 日本語全角/半角混在や LLM シノニム言い換えで span 照合が失敗するリスク → normalized substring match(Unicode NFC + 空白正規化)+ 照合失敗時 Confidence 格下げで吸収(§決定参照)
  • 起案者の記述スタイル差で同一 harm が A 以外に着地しうる(婉曲表現の例: GDPR 違反を「個人情報の取り扱い改善」と書く)→ 複数ライター golden eval で verdict 一致率を検証(Confirmation 参照)
  • FMEA AP lookup-table が法域依存・時間的割引が必要な harm パターン(EU AI Act vs 国内規制、3 年後に不可逆になる技術的負債)に適合しないリスク → 該当パターンを Confidence フラグに自動分類する条件を abc_decide.ts 設計に含める
  • 新興ドメインの harm(AI 規制・新規 CVE)が四半期更新の空白で C 誤分類されるリスク → イベントドリブン更新を Confirmation に追加

5.3 中立・トレードオフ (Neutral / Trade-offs)

  • telemetry に verdict 列(abc_verdict)を 1 つ追加(migrate-vN を SSoT に remote migration を merge 前へ先行適用)
  • telemetry n=97(3 週・単一起案者)でシグナル定義を固定する代表性の限界。3 ヶ月後 n≈400 で再較正コスト。四半期リサンプリング(Confirmation 参照)で対応

コスト試算

  • 実装: 約 2〜3 人日(受付ノード + abc_decide.ts pure module + プロンプト + golden eval + telemetry 列)
  • 運用 / LLM: 逐語抽出は軽量モデル 1 回で pregate 一次と同等、1 起案あたり概ね無視できる増分(月次 ~$1 未満)

実測トラフィック・モデル単価は本番反映後 4 週時点の telemetry で更新する(ADR-0091(a))。

撤退条件 (Rollback Plan)

  • env フラグ ABC_SCREEN_ENABLED=false で即素通し(PREGATE_ENABLED と同型の緊急停止)
  • A 判定を人間が Critical から下げる(downgrade)率が 4 週連続で 30% を超えたら、A のシグナル定義を再較正する。ただし単週で 50% を超えたら 4 週を待たず即時停止(誤 A による審査工数の過剰消費を止める)
  • Confidence フラグ率(または INVALID 率)が 20% を超えたら、意味分類の精度を再較正する(force-Critical 空洞化の早期検知)
  • Do Nothing 旗を人間が覆して着手する率が 50% を超えたら C の判定基準を緩める
  • C 判定起案者の再起案率が基準値(運用開始時に確定)を下回ったら C の UX(メッセージ文言・再申請導線)を見直す
  • ADR-B が本番反映後 4 週以内に未着手なら、abc_screen の A→force-Critical override を env フラグで無効化する

Confirmation

  • 検証手段:
    • A/B/C の golden eval セットを作り FP / FN を追跡、CI ゲート化する(prompt-cicd フロー)
    • abc_decide.ts には decide() と同型の unit test を置く
    • 複数ライターが同一問題を異なる文体で記述したサンプルで golden eval を構築し、verdict 一致率を測る。一致率が 80% を下回る場合は #reliable の K.O. 基準を満たさないと判定しシグナル定義を再較正する
  • 実行頻度:
    • golden eval は PR ごと(pre-push)、verdict 分布は週次 telemetry レビュー
    • golden セットは四半期ごとに新規起案から無作為サンプリングして更新(ベースライン)
    • 外部イベント(法令施行・重大インシデント・新規 API 廃止通知など)を検知した際は golden eval をアドホック更新(イベントドリブン例外フロー)。トリガー条件と責任者を運用手順書に定義し本 ADR から参照
  • 違反時対応: golden の FP / FN が増加したら PR に理由を必須記載しレビュアー承認を経て更新を許容する(1 件でも一律 merge ブロックはシグナル定義の更新 PR 自体を CI デッドロック化するため緩和)。golden セットはバージョン管理し変更履歴を保持する
  • KPI 数値:
    • golden verdict 一致率 ≥ 80%(維持)
    • A の人間 downgrade 率 < 30%
    • Confidence フラグ率 < 20%
    • Confidence キュー滞留件数(週次上限を運用開始時に確定し telemetry 監視)
    • C 判定起案者の再起案率(基準値を運用開始時に確定し telemetry 監視)
  • Confidence フラグ運用: 週次上限件数・SLA 日数(何日以内に人間が返すか)・担当ロール・エスカレーション先を運用開始時に数値で確定し、手順書に記載する。本 ADR 本番反映 2 週以内に確定(未確定時は撤退条件の env フラグ停止を発動)

参照 (References)

  • 関連 ADR:
    • ADR-0142: 問題空間切り分けプリゲート — 並立(同じ受付バンドの別検査。構造を見る pregate と harm を見る本スクリーン)
    • ADR-0102: 審査深度の階層化 — 補完(A の force-Critical が mode override として作用する)
    • ADR-0088: コスト試算必須化 — 補完(本案はコストゲートに触れず、A の ROI 免除は ADR-B へ送り先付きで分離 = §検討した代替案 案 5)
    • ADR-0130: スコープ外前提の送り先パターン — 適用(ADR-B 分離の起票義務+期限+撤退トリガーに使用)
    • ADR-0091: 起案前ゲート数値要件 — 並立(本案は触れない)
    • ADR-0149: 認知負荷の制度設計 — 並立(C メッセージ設計で連携)
  • 関連 PR/Issue: -
  • 外部資料:
    • prompts/production/gate4-scoring/prompt.md:8-17
    • drp/src/nodes/problem_space_decide.ts:92-136(参照実装)
    • FMEA Action Priority (ISO 17165-2 等)
    • Edmondson 1999, 心理的安全性研究
    • OpenAI Cookbook 2024, temp0 span 位置ずれ事例

11. 参照: Pipeline 審査履歴

Decision Pipeline (Gate 0-4) 審査結果 — 起案 PR #2123 (2026-06-18 マージ)

Gate 0 (Triage)

needs_adr: Yes / Mode: Standard。

Gate 1 (Socratic — 盲点検出と本文補強)

Must 軸に対する盲点を検出。本文生成が起案者の生テキスト外で織り込んだ補強策 4 件を Pipeline 補強一覧として提示し、起案者 (= 承認者) が全件を承認 (CI adr-reinforcement-checklist 通過):

  • 新興ドメイン harm の golden eval 四半期更新による誤分類 (#safe / #reliable / #operable の 3 軸)
  • C 判定による起案者の萎縮・再申請フロー (#operable)

Gate 2 (整合性チェック)

判定: INFO。既存受付ノード (triage / pregate) と並立する別検査として矛盾なし。ADR-0142 / 0102 / 0088 / 0130 / 0149 と連携。

Gate 4 (スコアリング) — 42 / 50 (Standard 閾値 40 を通過・PASS)

項目スコア要旨
1_problem_definition4/59/10 軸が解決策側・telemetry 97 件の数値根拠あり。高得点を取った非問題の具体件数が欠落、単一起案者・3 週の代表性限界を自認
2_alternatives5/55 案 + スコア表 + K.O. 判定 + 案 5 分離計画 (ADR-0130 パターン)
3_decision_criteria4/54 軸 + 重要度係数 + K.O. 明示。係数 (×2.0/×1.0/×0.5) の決定根拠が未提示
4_past_adr_consistency4/5関連 ADR を並立/補完/適用に分類。frontmatter の relates_to/depends_on が空のまま
5_impact_scope4/5影響箇所を明示。新規プロンプト/golden eval の配置・複数起案者移行時の範囲が不明
6_operational_pitfalls5/5萎縮・Confidence 滞留・全角半角・文体差・法域依存・新興ドメインを多角的に対応
7_rollback_strategy5/5env フラグ即停止 + downgrade 率の単週/週次二段閾値ほか多段階
8_cost_estimate3/5「2〜3 人日 / 月 $1 未満」と粗く内訳なし。golden eval 構築工数の所在が不明
9_completion_criteria4/5一致率 ≥80%・downgrade<30%・Confidence<20% は数値化。一部基準値を運用開始時に先送り
10_long_term_impact4/5四半期再較正・ADR-B 4 週起票・法域時間割引に言及。Review After 日付が未記載
合計42/50Standard 閾値 40/50 をクリア (PASS)

Cross-Validation (Blind-spot × Must)

Must 軸スコア盲点毀損
#safe45 件 (critical 3 / high 2)
#reliable41 件 (critical 1)
#operable42 件 (critical 1 / high 1)
#maintainable40 件 (全 OK)

最終 verdict: Accept (bodyOnlyMitigation = true。本文が盲点に対する補強策を起案者の生テキスト外で織り込み、CV がそれを正当な根拠と認めた。ADR-0150)。

3 モデル評価 (Gemini / Claude / o3)

  • 強み: 判定ロジックのコード化 (abc_decide.ts)、env フラグ + 二段閾値の撤退条件、golden eval + CI ゲート。
  • 懸念 (共通): コスト試算が過少、substring span 照合が言い換え evidence を取りこぼす恐れ、SLA・主要 KPI 基準値の後決め。

Policy Alignment (自社方針適合)

Conditional Approve。1 人法人運用前提の明記・複数ライター golden の LLM 文体変換代替・C 再起案率 KPI の扱い・継続運用コストの 4 点を本文へ反映すれば Approve。

Status 遷移 (Proposed → Accepted)

  • 起案時の最低評価は軸 8 (コスト試算 3/5)。本文コスト試算節で「実測トラフィック・単価は本番反映後 4 週の telemetry で更新 (ADR-0091(a))」と明記済み。
  • CV / Policy が指摘した「1 人運用前提・複数ライター golden の代替・Confidence SLA 後決め」は、撤退条件 (env フラグ即停止・本番反映 2 週以内に SLA 数値確定) と Confirmation でカバー。
  • 上記の改善余地を承認者が確認のうえ Accepted とした (2026-06-18 19:04 JST、PR #2123 マージ)。
  • 受理に伴う ADR-B (コストゲートの A-aware 化) 起票義務: 本 ADR 本番反映後 4 週以内に着手 (§検討した代替案 案 5・ADR-0130 パターン)。