型付き辺: 出 7 / 入 1
ADR-0146: 決定の早わかりを ADR 本文から外し、受理後に本文から生成する派生ビューへ移す (結論先行+疑問形ラベル)
- Status: Accepted (PR #1911 merge = 受理の規約により 2026-06-12 受理・代表取締役判断)
- Mode: Standard
- Kruchten Type: Executive/Property
- Scope: platform
- Implementation Status: Not Started
- 起案者: [email protected]
- 起案日時 (JST): 2026-06-12 18:23
- 承認日時 (JST): 2026-06-12 23:09
- Approver Role: platform
- Approver Who: [email protected]
- Driver: [email protected]
- Consulted: Decision Pipeline AI 審査 (Gate 0-4)
コンテキスト
1.1 背景
「決定の早わかり」は ADR-0138 で本文内必須化され、型の正典 (ピラミッド原則 §D) として導入された。2026-06-12 の起案者による実読指摘と γ 検討で、本文内配置の構造的問題が顕在化し、ADR-0138 main 分 (生成+lint+同期、未稼働) の実装着手判断の直前に再設計を迫られている。
1.2 現状 (As-Is)
- 早わかりを本文に持つ ADR は 21 本 (ADR-0140 バックフィル+パイロット・見出し実査 2026-06-12)。新規は起案者の手動記載義務 (正典 §D-2 暫定注記)。
- 現行の読み筋は SCQA 順 (文脈→問題→問題点と課題→前提→決定→目的→代償) で、結論である決定が 7 箇条中 5 番目。
- ラベルは型用語 (「文脈」「代償」) のままで、D-1 の 4 階層連鎖を知らない読者には各行が何の問いへの答えか判らない。
- 既存 ADR 本文を読む唯一の LLM 経路 (consistency ゲート) は各 ADR の先頭 40 行抜粋を使うが、frontmatter 肥大により早わかりに届いていない (ADR-0107 実測: 早わかりは 44 行目)。
- ADR-0138 main 分 (生成+lint+同期) は未稼働。
- TL;DR 節を持つのは ADR-0105/0106/0108 の 3 本 (実査 2026-06-12。ADR-0139 記載の ADR-0114 は節なし)。
1.3 課題
- (a) 読みづらい: 結論である決定が 7 箇条中 5 番目で、「早わかり」なのに結論先行になっていない。ラベルも型用語のままで読者に意味が届かない。
- (b) 所在が目的とずれている: 早わかりの目的は「起案内容を、起案者と後から読む人が理解しやすくする」ことであり、決定の正本 (ADR 本文 md) の構成要素ではない — 本文から導出できる派生ビュー (導出物) である。導出物を正本に固定すると、本文改訂との同期義務・lint 強制・テンプレート肥大が連鎖する。
- γ 検討 (2026-06-12) で「早わかりは審査の質に寄与しない (socratic は body 生成前に実行)・生テキストに無い内容を増やすだけ」と確認済み。本文内配置は人間 (結論が 5 番目) にも機械 (抜粋圏外) にも届いていない。
1.4 制約・要件
- D-1 の 4 階層連鎖 (問題/問題点/課題/対応策)・前提の行き先必須・ADR-0142 プリゲート入力 (起案の生テキスト) を壊さない
- 単独引用時の末尾定型注記 (ADR-0138 から引き継ぐ安全装置) を維持する
- 受理済み本文の遡及変更は導出物 (要約) の削除に限り、決定内容には触れない
- 移行中・移行後を通じて要約が途切れず重複もしないこと
- 生成ビューに本文に無い内容 (幻覚) の混入を許さない (K.O.)
- 監査要件 (SOC 2 / ISO 27001 変更管理) に適合する変更証跡を残す
1.5 目標 (To-Be)
正本 (ADR 本文 md) と導出物 (早わかり) を分離し、全ゲート通過後の検証済み本文から自動生成する派生ビュー (結論先行+疑問形ラベル 8 箇条) を PR 本文と docs サイトの両方に掲示する。これにより起案者と後から読む人の双方に結論先行の要約を届け、本文・テンプレートをスリム化し、ADR-0138 main 分の実装と恒久保守を不要化する。Non-Goals: 審査の質への寄与 (socratic は body 生成前のため不要)・ビューの機械消費者向け最適化 (将来の転用は可能だが今回は対象外)・D-1 意味の型の変更。
決定
早わかりを ADR 本文から外し、全ゲート通過後の検証済み本文から自動生成する派生ビュー (結論先行+疑問形ラベル 8 箇条) として PR 本文と docs サイトに掲示する。新規 ADR テンプレートから早わかり節を削除し、既存の本文内要約 24 本 (早わかり節 21+TL;DR 3) は移行手順で一括削除する。D-1 意味の型・ADR-0142 プリゲート入力・末尾定型注記は不変のまま引き継ぐ。
展開:
- 所在: 新規 ADR は本文に早わかり節を書かない (テンプレートから節を削除)。早わかりは正本から導出される派生ビューとする
- 生成と表示先 2 つ: 全ゲート通過後の検証済み本文から単一の生成器で生成し、① PR 作成時に PR 本文へ掲示 (終端レビューの理解補助・人間が内容を確認する機会)、② docs サイトの ADR ページ冒頭へビルド時注入 (後から読む人向け)。審査の質には寄与させない (γ 方式)
- ビューの型 = 結論先行+疑問形ラベル 8 箇条: 「決定したいことは?」「何を目指す?」「現状のままだとどうなる?」「なぜ現状だとそうなる? → どう止める? (1 行 1 ペア・1:N)」「現状は?」「ここでは扱わない問題は?」「引き換えに受け入れるコストは?」+ 末尾定型注記「詳細は本文の影響・撤退条件セクションを参照のこと」。ラベルと回答は同一行に置く
- 意味の型 (D-1) は概念として不変: 4 階層連鎖・前提の行き先必須はそのまま。改めるのは正典 §D-2 (読み筋→ビューの型) と §E チェック行のみ
- 既存決定の処理と全 ADR の構造統一: ADR-0138 を置換、ADR-0140 も置換 (バックフィル済み 21 本を本決定の実装で削除)、ADR-0139 が温存した既存 TL;DR (3 本: ADR-0105/0106/0108) も削除。TL;DR 系統は完全に消滅し、全 ADR が「本文に冒頭要約なし+生成ビュー」の単一構造に揃う
- 移行順序: (i) 全既存 ADR ぶんのビューを一括生成し、docs 注入を「本文内に早わかり節/TL;DR を持つ ADR はスキップ」判定つきで先行稼働 → (ii) 本文内の早わかり節 21 本+TL;DR 3 本を一括削除する PR (機械的削除・git revert で全復元可能) → (iii) 以後スキップ判定は「本文内に冒頭要約を置かない」再発防止検査へ転用
- 不要化の後始末: 残論点台帳 P7 行・正典 §D-2 暫定注記の削除、受信箱
main_2026-06-11_adr0138-exec-summary-pipeline-implementation.mdの廃棄、WIP branchfeat/adr0138-quick-decision-summary-bodygenの破棄、adr-lint 早わかり見出し検査計画の取り消し
判断基準 (Decision Drivers)
3.1 評価軸
| # | 軸 | 重要度 (係数) | 案件特有の解釈 |
|---|---|---|---|
| 1 | #usable | Must (×2.0) | 起案者と後から読む人が最初の 1 箇条で決定を把握できる。PR 終端レビューと docs 閲覧の両方に要約が届く |
| 2 | #maintainable | Must (×2.0) | 正本と導出物の分離。本文改訂と早わかりの同期義務・lint 強制・テンプレート肥大を発生させない。D-1 概念・ADR-0142 プリゲート入力を壊さない |
| 3 | #efficient | Medium (×0.5) | ADR-0138 main 分 (lint ルール+body_generation 改修+FALLBACK 同期) の実装・保守を不要化し、生成器 1 つに置き換える |
K.O. criterion: Must 軸の score < 3 は不採用。加えて、生成ビューに本文に無い内容 (幻覚) の混入を許す実装は採用しない (生成は本文の要約に限定)。
3.2 評価軸 × 案スコア表
| 軸 | 係数 | 採択案 (A: 生成ビュー化) | 案 B (現状計画維持) | 案 C (本文内のまま表示順変更) | 案 D (受理後生成→本文書戻し) | 案 E (docs 注入のみ) |
|---|---|---|---|---|---|---|
| #usable | ×2.0 | 5 | 2 | 4 | 4 | 3 |
| #maintainable | ×2.0 | 5 | 2 | 3 | 1 | 4 |
| #efficient | ×0.5 | 5 | 2 | 3 | 2 | 4 |
| 加重和 (正規化) | 1.000 | 0.400 | 0.700 | 0.500 | 0.700 | |
| K.O. 通過 (Must ≥3) | ✓ | ❌ | ✓ | ❌ | ✓ |
検討した代替案 (Alternatives Considered)
- 案 B: 現状計画の維持 (本文内必須+パイプライン生成+adr-lint 強制) — 審査の質に寄与しない節のために lint・生成・FALLBACK 同期の 3 点を恒久保守する。導出物が正本に固定され、本文改訂との二重管理が残る。不採用。ただし撤退時の戻り先として採用する
- 案 C: 本文内のまま表示順とラベルだけ変更 (本起案の v2 案) — 読みづらさ (a) は直るが所在の矛盾 (b) が残り、main 分実装一式も必要なまま。不採用
- 案 D: 受理後に生成して本文 md へ書き戻す — 受理済み本文への機械書込が毎回発生し (監査要件と相性が悪い)、本文改訂のたびに再生成と書き戻しが要る。表示先を正本の外に分ける方が安全で安い。不採用
- 案 E: docs サイト注入のみ (PR 掲示なし) — 終端レビュー (受理判断) の時点で理解補助が無く、生成内容を人間が確認する機会も失われる。早わかりの第一目的 (起案内容の理解) に反する。不採用
「GitHub 上で md を直接読む読者」ペルソナでの案 A vs 案 C 比較: 案 C は本文内に要約が残るため md 直読でも結論が見えるが、所在の矛盾 (b) と main 分実装一式 (lint・生成・同期) の恒久保守が残る。案 A は md 直読読者から本文内要約が失われるが、新規参画者が想定する経路は (i) docs サイト閲覧と (ii) PR 履歴閲覧であり、リポジトリ clone での直読は実務上少数派 (起案者観察)。#usable[Must] は「PR 終端レビューと docs 閲覧の両方に要約が届く」を達成条件としており、案 A が満たす。矛盾 (b) は本文改訂のたびに同期義務が発生する継続コストであり、読みづらさ (a) と同等以上の深刻度と判定する (改善の永続性で a より重い)。
影響 (Consequences)
5.1 正の影響 (Good)
- 結論先行+疑問形で読了時間短縮 (#usable Must 達成)
- main 分実装 (1 人日超) が不要化、本文・テンプレートがスリム化 (#maintainable Must / #efficient Medium 達成)
- 生成ビューは PR と docs の両方で人間に届き、将来は consistency 等の機械消費者にも転用可能 (現状の先頭 40 行抜粋は早わかりに届いていない)
- 全 ADR が「本文に冒頭要約なし+生成ビュー」の単一構造に揃う (ADR-0139 の一本化原則が完成)
5.2 負の影響 (Bad)
- GitHub 上で md を直接読む人は本文内に要約を見られない (PR 本文か docs サイトへ誘導)
- 生成器 (プロンプト+webhook+docs 注入) が新たな保守対象になる
- 受理済み 24 本 (早わかり節 21+TL;DR 3) の本文に削除 diff が入る (機械的削除・1 PR・git revert で全復元可能)
- スカッシュマージ運用では PR 本文がマージ後に参照しにくくなり、マージ後の参照経路は docs サイトに一本化される
- docs ビルドのラグ期間中 (CI 完了→デプロイ) は docs 側の要約に短い空白期間が発生する (PR 本文には掲示済みのため要約全体が消えるわけではない)
- Files タブから md の差分を直接確認するレビューワークフローでは生成ビューが届かない (PR 本文 + docs の二経路で代替)
5.3 中立・トレードオフ (Neutral / Trade-offs)
- D-1 意味の型は概念として温存され、表示形のみが結論先行+疑問形のビューへ移る (正典 §D-2/§E の修正のみ)
- ADR-0140 が果たした ADR-0138 撤退条件 #3 の履行は歴史的事実として有効、上位 20 本到達 KPI は達成済みで役目を終える
- リスク (幻覚): 生成プロンプトで「本文の要約に限定・新情報追加禁止」を指示し、新規ぶんは PR 掲示を人間レビューの対象に、既存ぶんの一括生成は月次の矛盾 KPI で監視
- リスク (条件節省略による意味反転): unit test では検知困難 — 月次サンプリング人間レビューで補完 (§Confirmation)
- リスク (後半セクション脱落の先頭集中バイアス): 生成プロンプトに section-to-field マッピングを明示し、8 箇条のうち「引き換えに受け入れるコストは?」行の空欄を CI で 0% 強制
- リスク (webhook 非同期失敗の無検知通過): PR 作成 workflow に掲示マーカー確認ステップを追加し、不在時は warning ラベル付与+起案者 @mention
- リスク (削除 PR が起案者の手動加筆を消去): 削除前に 21 本の早わかり節内容と生成ビュー内容を差分比較し「本文から導出できない記述が存在しないこと」を起案者が人手レビュー
- リスク (監査での改ざん判定): 削除 PR のコミットメッセージと PR 説明に「本 ADR の採用決定に基づく導出物の除去・決定内容は不変」を明記、起案者 (Approver = platform) 署名を必須化
- リスク (PR 本文と docs の要約乖離): 「docs サイトの要約を正」と定義 (本文改訂は docs ビルド時に再生成され追従、PR 本文は作成時点のスナップショット)。乖離は月次 KPI で監視
- リスク (本文品質劣化の逆説): 月次 KPI に「撤退条件・代償セクションが空欄の ADR 件数」を追加し、ビュー品質と独立に本文品質を検知
- 移行中の docs 注入の重複は、本文内に早わかり節/TL;DR を持つ ADR をスキップする判定で構造的に回避
撤退条件 (Rollback Plan)
- 導入後 2 ヶ月で、生成ビューと本文の矛盾 (幻覚・要約誤り) の指摘が累計 3 件以上 → ビュー生成を停止し、案 B (本文内必須) へ戻す決定を再起案する
- PR 掲示の生成失敗率が 20% を超えて常態化 → 同上
- 撤退操作: webhook の掲示 OFF + docs 注入 OFF (worker と docs の通常 PR で可逆)。削除した本文内要約 24 本は削除 PR の git revert で全復元可能
コスト試算
- 実装 約 1.5〜2.0 人日: 生成器 (要約プロンプト+webhook の PR 本文掲示) 約 0.5 人日、docs ビルド注入+移行スキップ判定 約 0.5 人日、既存全 ADR ぶんのビュー一括生成+本文内要約 24 本 (早わかり節 21+TL;DR 3) の削除 PR 約 0.3〜0.5 人日、正典 §D-2/§E・テンプレート節削除・P7/暫定注記/受信箱/WIP branch の後始末 約 0.2〜0.3 人日
- LLM 従量: 既存全 ADR (約 145 本) のビュー一括生成 1 回ぶんで数百円規模
- 効果: ADR-0138 main 分 (adr-lint ルール 3 点セット+body_generation 改修+FALLBACK 同期+golden 再検証、約 1 人日超) の実装と恒久保守を回避。新規 ADR 全件の読み手の読了時間短縮
Confirmation
- 検証手段:
- PR 掲示の生成成功と「本文の要約に限定・新情報追加禁止」遵守を webhook unit test で検証。判定基準は (a) 生成テキスト中の名詞・動詞句が本文中に出現すること (語彙包含率 ≥ 95%)、(b) 生成テキストに「ただし」「ない」「禁止」等の否定・条件節が本文と同数以上保持されていること (条件節保持率 = 100%)、(c) 8 箇条すべて非空欄 (特に「引き換えに受け入れるコストは?」行の空欄率 = 0%)。生成プロンプトには section-to-field マッピング (本文§5.2/§5.3 → 「引き換えに受け入れるコストは?」等) を明示する
- PR 作成 workflow で「PR 本文に特定マーカー (
<!-- adr-quick-view -->) が存在すること」を確認し、不在時は warning ラベル付与+起案者 @mention (webhook 非同期失敗の無検知通過防止) - docs ビルドで全 ADR ページへの注入と「本文内に冒頭要約 (早わかり節/TL;DR) が無い」ことを lint 検査 (再発防止)
- 生成ビューと本文の矛盾 (faithfulness) を月次サンプリング人間レビュー (5 本/月、起案者) で確認
- 月次 KPI: (a) 矛盾指摘件数 (目標 0 件/月)、(b) 撤退条件・代償セクションが空欄の ADR 件数 (目標 0 件・本文品質劣化の独立指標)、(c) PR 本文要約と docs 要約の乖離件数 (目標 0 件)
- 実行頻度: 1〜3 は CI/ビルド毎、4・5 は月次
- 違反時対応: 矛盾検知時は当該 ADR のビューを再生成。空欄率違反は生成器を停止し起案者に通知。累計 3 件で撤退条件を発動
Review After
- 次回レビュー: 2026-12-12(運用 6 ヶ月後。生成ビューの品質〔月次 KPI の推移〕と、本文に冒頭要約が無いことによる読者の不便〔GitHub 直読時〕が許容範囲かを再評価する時期)
- レビュー主体: ADR 制度の所有者(現任 = 代表取締役)
- 前倒しトリガ: ① 撤退条件のいずれかに抵触した時 ② 正典 §D(意味の型)の構造変更が起きた時 — ビューの 8 箇条と D-1 概念の対応が連鎖して壊れるため ③ ビューの機械消費者(consistency ゲート等)への転用を実装する時 — 人間向け前提の生成品質基準では不足する可能性があるため
参照 (References)
- 関連 ADR (型付き辺・ADR-0131):
- supersedes: ADR-0138 (早わかりの本文内必須化 — 本文内配置・adr-lint 強制・パイプライン生成の機構を置換。存続する要件 =「全新規 ADR に早わかりが必ず存在する」「単独引用時の末尾定型注記」は本決定が再掲して引き継ぐ。0138 撤退条件 #3 は ADR-0140 で履行・終結済み)
- supersedes: ADR-0140 (既存上位 20 本のバックフィル+改訂時追加 — 本文内バックフィル+改訂時追加義務という機構を置換。既存分への早わかり提供は生成ビューの一括バックフィルが引き継ぐ。本文内節 21 本は削除。上位 20 本到達 KPI は達成済みで役目を終える)
- amends: ADR-0139 (冒頭 TL;DR 廃止・早わかりへ一本化 —「冒頭要約を 2 系統作らない・早わかりへ一本化」の原則は存続し、一本化先が本文内節から生成ビューへ移る。部分修正は「既存 4 本の TL;DR は温存する」の 1 点のみ → 温存をやめ削除する。実査 2026-06-12 では節を持つのは 3 本 [ADR-0105/0106/0108])
- relates_to: ADR-0107 (早わかりの型のパイロット — 6R→Y-statement 圧縮の経緯の続き。D-1 の意味の型は本決定後も正典として温存し、表示形だけが結論先行+疑問形のビューへ移る。0107 本文のパイロット節は削除対象 21 本に含む)
- relates_to: ADR-0142 (受付プリゲートの 2 段判定 — 語彙規律「概念 1 つ・ビュー 2 つ」に準拠。プリゲート入力は起案の生テキストで本決定の影響を受けず、D-1 概念語彙も不変)
- depends_on・conflicts_with: なし
- 関連 PR/Issue: 受信箱
main_2026-06-11_adr0138-exec-summary-pipeline-implementation.md(廃棄予定)、WIP branchfeat/adr0138-quick-decision-summary-bodygen(破棄予定) - 外部資料: -