• Status: Accepted (PR #1835 merge = 受理の規約により 2026-06-12 受理・代表取締役判断)
  • Mode: Standard
  • Kruchten Type: Existence/Executive
  • Scope: platform
  • Implementation Status: Done (Phase A=PR#2038 パイロット K.O.通過 / Phase B=PR#2043 本番稼働 2026-06-15)
  • 起案者: [email protected]
  • 起案日時 (JST): 2026-06-12 03:21
  • 承認日時 (JST): 2026-06-12 10:29
  • Deciders: [email protected] (単独)

コンテキスト

§1.1 背景

検査 5 層モデル(構造正典 §G-1)の ② 受付層は、形式(必須節の存在+数値)の静的 4 検査しか持たず、分析(上流)の検査 — D-3 発散検問 4 つ+前提の行き先解決 — が空白である(残論点台帳 Q2)。下流ガバナンス 4 つはテンプレート節として制度化済みだが、機械検査は「節・キーワードの存在+数値」にとどまり(§G-2。承認者は ADR-0141 で決定済み・実装中)、起案の分析そのものの破れを検査する層がどこにもない。検出は受理後の人の対話頼みになっている。

§1.2 現状 (As-Is)

② 受付層は静的 4 検査(必須節の存在・数値)のみで、分析の意味判定は審査と人の対話に委ねられている。下流の検査機構と承認者体系は別 ADR で進行中。

§1.3 課題

実害は 3 つある(コスト浪費は副次)。

  1. 盲点指摘の的が外れる(盲点移動): 分析が崩れた起案(塊の混在・モレ)の上で審査が走ると、Cross-Validation の指摘が審査中の決定のスコープ外へ向かう。実測で多重却下 ADR 7 本中 7 本がこの型の指摘移動(goalpost)を起こしていた(2026-06-02)。
  2. エスカレーションと受理後の手戻りが増える: ADR-0107 は起案前ゲートと審査を通過したが、検問 1 の破れ(文脈と無関係な塊の混入)は受理後の人の対話まで検出されず、受け皿 ADR-0130 の分離起案と正典改訂 PR 3 本(#1665/#1668/#1682)が必要になった。
  3. 決定グラフの認知負荷が上がる: 塊が複数の ADR が受理されると、型付き辺(ADR-0131)が複数決定の混線した参照を持ち、検索・監査・被参照ランキングの信頼性が下がる。

副次: 分析が破れた起案も Opus 2 ノード(body_generation・scoring)を消費してから差し戻される。実測では却下の 72% が scoring 通過済みで、CV 差し戻しは 35/72 run(2026-06-05 ベースライン)。

§1.4 制約・要件

  • critical 盲点×Must 軸の早期チェックは socratic の盲点出力を入力とするため ② には置けない。残論点台帳 Q3 の別 ADR が所有する(起票はキュー確定済み・本 ADR 受理後 30 日以内)。
  • 起案者が書く語彙(ミント連鎖)は変えない。新しい書き方を要求しない。
  • 受付の追加コストは軽量モデル 1〜2 call/run に抑える。
  • temperature 0・厳格 JSON schema・プロンプトハッシュキャッシュで同一起案には常に同一判定。
  • graph 分岐で OFF 可能な実装。

§1.5 目標 (To-Be)

② 受付に問題空間切り分けプリゲートを置き、D-3 発散検問 4 つ+前提の行き先解決を 2 段判定(一次 = 属性分岐シグナル・二次 = 構造化分解+決定論的ルール)で検査し、分析破れを審査と受理の前に検出する。Non-Goals: 頑健性検査(③ の役割)・critical×Must の早期チェック(Q3 の別 ADR)・ミント連鎖以外の新語彙の導入。

決定

〔② 受付層に分析(上流)の検査が空白で、分析の破れが受理後の人の対話まで検出されない文脈〕〔分析が崩れた起案を審査と受理の前に検出する課題〕 に直面し、〔body_generation プロンプトへの検問埋め込みや起案前ゲートの静的ルール拡張〕 ではなく 〔② 受付に問題空間切り分けプリゲートを置き、D-3 発散検問 4 つ+前提の行き先解決を 2 段判定(一次 = 属性分岐シグナル・二次 = 構造化分解+決定論的ルール)で検査する〕 を選ぶ。〔盲点移動・エスカレーション増・決定グラフ混線の上流での防止〕 のためであり、〔受付に LLM 呼び出しが加わることと、誤検知時の起案者の修正・再投入負担〕 を受け入れる。

設計の中身は次の 6 点。

  • 位置 = ② 受付(静的 4 検査の直後・審査グラフ実行前)。② は「起案の文章が分析として成立しているか」を見る層であり(上司レビューの位置・§G-3)、頑健性を見る ③ 審査と目的が違うため同居させない。検査の所有は ② 受付(差し戻し権限つき・本番 1 層)。
  • 検査項目 = D-3 検問 4 つ+行き先解決。検問 1(塊の混在)の問いは「1 文の決定に圧縮できるか・独立して撤退できるか」(複数型ラベル自体は ADR-0030 で許容・受理済みの約 7 割が複数型)。検問 2(モレ・ダブり・同種)・検問 3(再発防止)・検問 4(宙に浮いた対応策)。
  • 2 段判定: 一次 = 属性分岐シグナル(RQ-097 の 4 発散シグナル = 独立可逆性・判断ドライバー・承認者・撤退条件/検証 KPI の分岐+決定対象軸の型またぎ)を構造化出力で抽出し判定。一次で塊複数の疑いが出た場合のみ二次 = 意味判定へ。二次は起案を主張グラフ(IBIS: 問い/案/論拠)へ strict JSON schema で構造化分解し、判定は決定論的コードに置く(root の問いが 2 つ以上 ⇒ 塊複数・行き先のない前提 ⇒ fail)。判定根拠は本文からの逐語引用を必須とし、引用の実在を機械照合する(幻覚防止・RQ-103 で 3 モデル一致の設計)。
  • 行き先解決の許容形を確定する(残論点台帳 P1 の確定を本決定が兼ねる): スコープ的与件として前提に送った問題点の行き先は、(i) 解決を所有する既存 ADR・文書の名指し、または (ii) 未起案の場合は ADR-0130 パターン(起票義務+期限+撤退条件トリガーの明記)のいずれかを必須とする。受理後、正典 D-1 へこの許容形を反映する。
  • 語彙の規律(概念 1 つ・ビュー 2 つ): 起案者が書く言葉はミント連鎖(文脈→問題→問題点→課題→対応策)のまま変えない。主張グラフはゲートが内部で使う機械表現であり、起案者に新しい書き方を要求しない(検問 1 ≡ root 複数ルールは同じ検査の人間向け・機械向け表現)。glossary に対応を 1 行で記載する。
  • 再現性と運用: temperature 0・厳格 JSON schema・境界例のみ k=3 投票・プロンプトハッシュでキャッシュ(同一起案には常に同一判定)。fail 時は判定理由+逐語引用を D-1 記録(telemetry D1)に残し差し戻す。差し戻し回数は ADR-0109 の bounded rounds の枠内。graph 分岐で OFF にできる形で実装し、プロンプトは prompts/production の SSoT 管理+golden eval に乗せる(golden の初期ケース = ADR-0107 修正前〔塊 2 つ〕/修正後〔単一+行き先つき前提〕/ADR-0136〔単一〕の実検証 3 件)。

判断基準 (Decision Drivers)

3.1 評価軸

#重要度 (係数)案件特有の解釈
1#usable[Must] (×2.0)起案者が判定に納得して直せる。判定根拠が本文の逐語引用つきで返り、誤検知が過大でない。K.O. = 受理済み 20 本パイロットで false positive 30% 超なら不採用
2#reliable[High] (×1.0)上流の分析破れの検出率向上(人手のみ → 機械+人手の二重化)と run 間の判定再現性(同一起案で同一判定)
3#efficient[Medium] (×0.5)高コストノード前の fail-fast(副次便益)。受付の追加コストは軽量モデル 1〜2 call/run に抑える
4#maintainable[Medium] (×0.5)プロンプト 2 本(一次/二次)の保守を prompt-cicd(SSoT+golden eval)に乗せる

K.O. criterion: Must 軸(#usable)の score < 3 は不採用。パイロット FP > 30% も K.O.。

3.2 評価軸 × 案スコア表

係数採択案 (② 受付プリゲート)案 A (現状維持)案 B (body_generation 埋め込み)案 C (起案前ゲート静的拡張)案 D (③ socratic 直後に統合)
#usable×2.042223
#reliable×1.041223
#efficient×0.533142
#maintainable×0.545243
加重和 (正規化)0.7750.4500.3750.5250.575
K.O. 通過 (Must ≥3)

検討した代替案 (Alternatives Considered)

  • 案 A (現状維持・人手レビューのみ): ADR-0107 の実例のとおり破れは受理後まで検出されず、検出が対話の深さに依存し再現性がない。Must 軸 K.O.。不採用。
  • 案 B (body_generation プロンプトへ検問を埋め込み): fail しても Opus コストは発生済みで、生成と検査の同居は自己採点バイアスを生む(Cross-Validation の自己スコア前提ループで実証済み)。Must 軸 K.O.。不採用。
  • 案 C (起案前ゲート checkTriageGate の静的ルール拡張): 検問 1〜4 は意味判定であり正規表現・構造検査では書けない(RQ-103 でも統計・静的手法は単一短文書の混在検出に不成立が 3 モデル一致)。行き先参照の「存在」のみ静的検査可能で部分解。Must 軸 K.O.。将来の併用は妨げない。不採用。
  • 案 D (③ socratic 直後に置き critical×Must 判定と統合・v1 案): critical×Must は socratic 出力が必要で、検問 4 つは不要 — 入力も目的も違う 2 つの検査の同居は、② 分析成立/③ 頑健性という層の役割分担(§G-3)に反し、独立した撤退判断もできない。加重和でも採択案に及ばない。不採用(検問は ②、critical×Must は Q3 の別 ADR へ分離)。

影響 (Consequences)

§5.1 正の影響 (Good)

  • §G-1 表 ② の「分析(上流)= 空白」が埋まり、検査 5 層モデルの上流・下流が両輪で揃う
  • 盲点移動・エスカレ・グラフ混線を上流で予防(多重却下 ADR 7/7 の goalpost 型抑止)
  • D-1 行き先許容形が確定し正典に反映される(P1 クローズ)
  • 副次で Opus 2 ノード(body_generation・scoring)の浪費削減($0.2〜0.3/run 規模)

§5.2 負の影響 (Bad)

  • 受付に LLM 呼び出しが加わり、受付の即応答性が下がる(静的のみ → 数秒〜十数秒)
  • プロンプト保守対象が 2 本増える(一次/二次)
  • 誤検知時は起案者が修正・再投入する負担
  • 盲点 (critical): 撤退で graph OFF にしても、D-1 に書き込まれた誤判定由来の差し戻し記録(precision 70% 未達時は最大 6 件/20 件)が正典の人手検査基準として残り続けるリスク → 撤退発動時に D-1 への該当記録へ「プリゲート由来・precision 閾値未達のため参照停止」フラグを付与する手順を運用追補に明記(下記 §5.3 リスクで扱う)
  • 盲点 (high): 「行き先許容形の確定(P1 クローズ)」を本 ADR が兼ねることで「分析破れの機械検出」と「行き先規約の制度化」の 2 決定が同居し、本 ADR 自身が検問 1 で排除する塊混在と同型構造を持つ → 本 ADR の主眼はプリゲート設計、D-1 改訂は併発する従属決定として位置づけ、独立撤退可能(プリゲート OFF でも D-1 許容形は人手検査基準として独立存続)であることを §5.3 と撤退条件で明記して整合させる(将来分離が必要なら別 ADR 起票)
  • 盲点 (high): プリゲート稼働後、審査者が「② で分析チェック済み」と過信し人手レビューが形式確認に退化、検問外の構造的欠陥が素通りする代替効果(Verizon DBIR 2023 同型) → operator_guide と審査ガイドに「プリゲート pass は検問 4 つの通過のみを意味し、分析全正確性は保証しない」と明記し、審査グラフのチェックリストからプリゲート結果参照項目を削除

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

  • リスク (critical): 二次判定の主張グラフ分解で日本語の並列節(「〜であり、かつ〜である」「〜と〜を解決する」)を独立 root と誤解釈し false positive が噴出する → パイロット前に「並列節を含む単一決定」起案を 10 件以上 golden eval に追加し、root 抽出 precision を事前測定(撤退条件の事前ゲートに組み込み)
  • リスク (high): 逐語引用照合は引用文字列の実在を保証するのみで、引用が判定根拠として論理的に妥当か(faithful but not factual 問題)は担保しない → 担保範囲(実在)と未担保範囲(論理的妥当性)をリスクとして明示し、後者は導入直後 20 run の人手確認で補完
  • リスク (high): パイロットの受理済み 20 本は人手で「分析成立」と判定された正例に偏り、実運用 FP を過小評価しうる → 修正前 ADR-0107 相当の塊混在ケースを人工生成して陽性例を 5 件以上追加し、precision・recall・F1 を算出して K.O. 基準に組み込む
  • リスク (high): ADR-0141 frontmatter schema が変更されても一次プロンプトが古い field を黙って参照し承認者シグナルが「分岐なし」に形骸化 → ADR-0141 schema を contract test として golden eval に組み込み、schema 変更で本プリゲート CI が失敗する仕組みを実装
  • リスク (high): 「正当な差し戻し」判定者と判定ルーブリックが未定義で precision 集計が属人化し、撤退 70% 基準が機能しない → operator_guide にルーブリック(判定者役割・判断基準具体例・異議申し立て手順)を追記、Confirmation 節からそれを参照
  • リスク (medium): telemetry D1 の判定記録が電帳法・社内監査要件(訂正・削除履歴保存)の対象になりうるが該当性検討が未着手 → 法務・経理担当に該当性確認、対象なら追記のみ・上書き禁止のストレージ設計
  • トレードオフ: 意味判定の誤検知は構造的に残る → 逐語引用機械照合・k=3 投票・パイロット K.O. 基準・graph 分岐 OFF で多重に抑える
  • 独立撤退性: プリゲート OFF と D-1 行き先許容形は独立に存続可能(後者は人手検査の基準として機能する)

撤退条件 (Rollback Plan)

  • 事前 K.O.: パイロット(受理済み 20 本 + 人工生成陽性例 5 件以上)で false positive が 30% 超なら実装に入らず不採用
  • 運用 K.O. (precision): 導入後 20 run で、プリゲート差し戻しの precision(人手確認で「正当な差し戻し」と判定される割合)が 70% 未満なら graph 分岐で OFF(誤検知の起案者負担が利得を上回る)
  • 運用 K.O. (評価不能): 導入後 20 run で、評価不能の判定が 3 件以上(JSON schema 不適合・引用照合失敗の頻発)なら設計を見直す
  • ロールバック手順:
    1. graph 分岐でノードを OFF(他ノード・KV draft・D-1 記録への影響なし)
    2. precision 閾値未達で OFF した場合、D-1 に書き込まれたプリゲート由来差し戻し記録へ「プリゲート由来・precision 閾値未達のため参照停止」フラグを付与
    3. 正典 D-1 の行き先許容形は独立に存続可(人手検査基準として機能)
  • 判定期限: 導入後 30 日以内に第 1 回判定、以降月次

コスト試算

項目内容工数/金額
実装 (main)受付ノード追加+プロンプト 2 本(一次シグナル抽出/二次主張グラフ分解)+output_schema+決定論的判定コード+golden eval(初期 3 ケース+日本語境界例 10 件+人工陽性例 5 件)+telemetry 記録(prompt + output_schema + golden eval を同一 PR・ADR-0138 確立パターン)2〜4 人日
実装 (sub)正典 D-1(行き先許容形)・D-3・§G-1 表 ② の反映+glossary(概念 1 つ・ビュー 2 つの対応 1 行)+operator_guide 追補(判定ルーブリック含む)0.5 人日
パイロット受理済み ADR 20 本+人工生成陽性例 5 件以上の再判定と人手照合(precision・recall・F1 算出。K.O. 判定・実装前に実施)0.5 人日
運用コスト軽量モデル 1〜2 call/run1〜3 円/run(キャッシュで同一再投入は 0 円)
副次便益差し戻し 1 件を上流で先取りするごとに Opus 2 ノード分節約$0.2〜0.3/件

合計実装+パイロット: 3〜5 人日

Confirmation

  • 検証手段: run telemetry にプリゲート判定(pass/fail・一次/二次の別・判定理由・逐語引用・引用照合結果)を記録し、月次で precision と evidence 逐語一致率を集計。導入直後 20 run までは run ごとに operator_guide のルーブリックに従い人手確認(判定者・基準・異議手順を明記)。月次集計 SQL は drp/queries/adr-0142-pregate-observation.sql(ブロック A-F・2026-06-19 整備・PR #2198)。人手ルーブリック判定の手順は operator_guide_langgraph §4.3.4。SQL は集計の母集団のみ提供する設計で、precision 算出は人手判定を要する
  • 実行頻度: 判定記録 = run ごと / 集計 = 月次 / パイロット = 実装前に 1 回(受理済み 20 本 + 人工陽性例 5 件以上)
  • 違反時対応: 撤退条件の閾値評価を行い、該当すれば graph 分岐で OFF + D-1 該当記録へ参照停止フラグを付与
  • KPI: precision 70% 以上 / evidence 逐語一致率 100%(機械照合) / 受理後 30 日以内の正典 D-1 反映と Q3(critical×Must 別 ADR)起票
  • 行き先確認: Q3 起票(受理後 30 日以内)を初回月次レビューで確認(ADR-0130 パターン)
  • schema 連携: ADR-0141 frontmatter schema を contract test として golden eval に組み込み、schema 変更時に本プリゲート CI が自動失敗

Review After

  • 次回レビュー: 2026-12-01(導入後 precision 実績の確定と、自己言及リスク〔P1 行き先許容形の同居・盲点 high〕の塊評価を併せて再評価する時期)
  • レビュー主体: ② 受付検査の所有者(DRP 運用者。現任 = 代表取締役)
  • 前倒しトリガ: ① precision 70% 未達で graph OFF が発動した時(撤退条件と連動) ② Q3(critical×Must 別 ADR)受理時(検査全体の再配置を統合評価) ③ 正典 D-1 への行き先許容形反映が完了した時(P1 分離の要否を再判定)

参照 (References)

  • 関連 ADR:
    • ADR-0141: 承認者体系 — 補完(4 発散シグナルの 1 つ「承認者」が frontmatter 構造化され、一次判定の入力が安定する)
    • ADR-0109: 過剰審査ループの bounded rounds — 補完(下流の差し戻しループ対策と対になる上流対策。差し戻しは同じ bounded rounds 枠内)
    • ADR-0091 / ADR-0088: 起案前ゲートの数値必須・コスト試算検査 — 補完(② 受付の静的 4 検査に、分析の意味検査を追加する)
    • ADR-0130: 索引・カタログの自動生成 — 参照(行き先許容形(ii)のパターン参照元・検問の規約整備から生まれた受け皿の実例)
    • ADR-0030: Kruchten 分類ラベル — 整合(複数型ラベルは許容のまま。検問 1 は「ラベルが複数か」でなく「1 文圧縮・独立撤退」で判定)
    • ADR-0135 (審査待ち・mode 別レビュー深度): 並立(本決定は mode 非依存の受付検査で干渉しない)
    • ADR-0138: prompt + output_schema + golden eval 同一 PR パターン — 準拠
    • ADR-0131: 型付き辺による決定グラフ — 関連(塊混在による参照混線の防止が本 ADR の便益)
    • ADR-0107 / ADR-0136: golden eval 実検証ケースの出典
  • 関連 PR/Issue: #1665 / #1668 / #1682(ADR-0107 由来の正典改訂 PR・本 ADR 動機の実例)
  • 外部資料:
    • RQ-097(4 発散シグナル設計)
    • RQ-103(静的手法での混在検出不成立・3 モデル一致)
    • 残論点台帳 Q2 / Q3 / P1
    • 構造正典 §G-1 / §G-2 / §G-3 / D-1 / D-3
    • Verizon DBIR 2023(自動スキャナー導入後の人手レビュー深度低下の参照)