最終更新: 2026/06/22 18:56
ADR 間の型付き辺 監査記録
ADR-0133 の四半期サンプリング監査の実施記録。手順の正典は ADR 間の型付き辺の意味監査手順。四半期ごとに「記録一覧」へ 1 行追記し、判定レコードの詳細は「監査詳細」へ節を追加する。ADR-0133 Confirmation 1〜3 はこのページの記録を検証手段とする。
記録一覧
四半期監査の初回は未実施。開始条件は ADR-0131 初期移行完了 + ADR-0107 受理 + adr-index.json 辺フィールド完全性テスト green の 3 点(手順書 §2)。
| 実施日 | 種別 | seed | 総辺数 N | n | 不整合数 | 全数棚卸し | drift 不一致率 | 担当 | PR |
|---|---|---|---|---|---|---|---|---|---|
| 2026-06-11 | 受け入れ検査 (ADR-0131 初期移行⑤) | 20260611 | 456 | 22 | 4 (+判定割れ 1) | 該当 3 型の全数再レビューへ (main 調整) | 0/5 = 0% (達希さん検証・本ページ下記) | sub (Claude Code) | #1784 |
| 2026-06-11 | 受け入れ再検査 1 巡目 (judge=gemini-pro) | 2026061102 | 450 | 22 | 票割れ 1 → 人間判断 mismatch | follows_up_on 全数 16 本 → 11 修正 | 票割れ・補正 6 件を人間検証 | main (judge=gemini-pro)・達希さん終端 | #1797 後続 |
| 2026-06-11 | 受け入れ再検査 2 巡目 (judge=gemini-pro) | 2026061103 | 450 | 22 | 3 → 人間判断: 適用 1・棄却 2 | なし (人間終端宣言) | 同上 | 同上 | 同上 |
四半期監査を実施したら次の形式で 1 行追記する。
| 実施日 | 種別 | seed | 総辺数 N | n | 不整合数 | 全数棚卸し | drift 不一致率 | 担当 | PR |
|---|---|---|---|---|---|---|---|---|---|
| 2026-09-XX | 四半期監査 | 202609XX | NNN | 22 | 0 | なし | 0/5 | t_saitoh | #NNNN |
監査詳細
実施ごとに ## YYYY-MM-DD 監査 の節を追加し、次を残す。
- 抽出 22 件の一覧(seed から再現可能であること)
- 判定レコード全件(逐語引用込み = 透明な監査証跡)
- 低確信・判定割れの辺の一覧と人間レビューの結果
- drift 検証 5 件の内訳(うち低確信/判定割れ由来が 2 件以上あること)と不一致率
- 最初の 2 サイクルのみ: 実測誤り率・辺クラスタ別の偏在・設計値(22 件・c=0)再評価のメモ
2026-06-11 受け入れ検査 (ADR-0131 初期移行⑤)
- 母集団: LLM 候補辺 (frontmatter 出典コメントに
LLM候補を含む forward 辺・逆辺除外) 456 本。型別 = depends_on 103 / relates_to 229 / refines 87 / follows_up_on 20 / amends 17 / supersedes 0 / conflicts_with 0。 - 抽出: 層別サンプリング n=22・c=0 (main 申し送り 2026-06-11 の規則)。seed = 20260611 (LCG:
s*1664525+1013904223、Fisher–Yates)。層 = ①低確信・照合不一致リスト (バッチ PR #1770/#1772/#1775 本文記載 51 件) から 5 件 → ②relates_to 以外の各型が最低 2 件になるまで型別補充 → ③残りを全体から充填。ファイル名昇順で母集団を構築し各層を seed 順にシャッフルして先頭から採用 (機械抽出・手作業リストなし = ADR-0130 規律)。 - 判定: 手順書 §4 ルーブリック (内部知識遮断・型ごと二値・逐語引用の機械照合・次点型比較)。判定者 = Claude Code サブエージェント (1 辺 1 判定者・両端 2 ファイルのみ読む)。逐語引用は全件、空白正規化後の完全一致で原文と機械照合済み。暫定 mismatch には独立 2 票を追加し 3 票多数決 (self-consistency)。
結果サマリ
- match 17 / mismatch 4 (3 票全会一致) / 判定割れ 1 (2 対 1・人間レビュー送り) → c=0 不合格。該当 3 型 (depends_on / amends / refines) の LLM 候補辺 計 207 本の全数再レビューを main と調整する (即
--enforce昇格はしない)。 - 実測誤り率 = 4/22 ≈ 18% (判定割れを含めると最大 5/22 ≈ 23%)。設計検出対象の 10% を上回る。
- 偏在 (型別 mismatch 率): depends_on 2/5・amends 1/2・refines 1/3・relates_to 0/10・follows_up_on 0/2。
- 誤りの型は 4 件全て「正しくは relates_to」: LLM 抽出が「Confirms」「補完」「準拠・適用」「(撤回済みの) 部分 supersede 予定」を強い型 (depends_on/amends/refines) に格上げする過剰型付けが系統誤りで、relates_to の過剰使用 (ADR-0131 撤退条件 (b) の監視対象) は観測されなかった。
- 層別の内訳: 低確信層 1/5・型最低保証層 2/7・無作為層 1/10 (+判定割れ 1)。低確信リスト外からも mismatch が出ており (n#16・出典確信度 medium / n#6・high)、確信度ラベルは誤りの予測子として信頼できない (手順書 §7 の前提と整合)。
抽出 22 件と判定レコード全件
層: A=低確信 5 件 / B=型最低保証 / C=無作為。出典確信度 = 宣言時コメントの自己申告。引用は判定者が両端本文から抜き機械照合済みのもの (from 側のみ掲載・to 側は本節末尾の控え JSON に全量)。
| # | 辺 | 層 | 出典確信度 | verdict | 判定確信度 | runner-up | 判定根拠 (from 本文の逐語引用・要点) |
|---|---|---|---|---|---|---|---|
| 1 | 0104 relates_to 0064 | A | low | match | high | depends_on | 「いずれも Supersede しない・補完」 |
| 2 | 0108 relates_to 0021 | A | low | match | high | depends_on | 「関連 ADR: …ADR-0021 (UC スライス開発・監査ログ機構)」 |
| 3 | 0117 relates_to 0115 | A | low | match | high | depends_on | 「ADR-0115 の層構造と統合する。いずれも本起案と矛盾せず補完関係」 |
| 4 | 0104 relates_to 0052 | A | low | match | high | depends_on | 「Pipeline retroactive validation は任意」= 前提でない |
| 5 | 0077 depends_on 0076 | A | low | mismatch (3-0) | medium | relates_to | 「ADR-0076 (Cross-Validation Gate): Confirms — crossValidationDetail の永続化」= 整合参照。記録フィールドの 1 つで 0076 欠如でも決定は成立 |
| 6 | 0103 amends 0094 | B | high | mismatch (3-0) | high | relates_to | 「案 C′ 採択により当初予定の ADR-0094 Phase B partial supersede は撤回。ADR-0103 は既存 ADR を supersede しない」= 出典引用は撤回済みの旧案前提 |
| 7 | 0129 amends 0123 | B | high | match | high | supersedes | audience 用途のみ無効化・3 層モデルは現役 = supersedes→amends 降格は妥当 |
| 8 | 0071 refines 0019 | B | high | match | high | amends | Pipeline (0019) の機構を引き継ぎ Gate 1 の細部を決める子決定 |
| 9 | 0055 refines 0050 | B | low | mismatch (3-0) | medium | relates_to | 「本 ADR §3 で Q42 5 軸 + WSM + K.O. を適用」= 評価手法の借用で、0050 スコープ内の子決定ではない |
| 10 | 0102 depends_on 0087 | B | high | match | medium | relates_to | 「定量根拠…の出所。導入後の効果検証も同テレメトリで行う」 |
| 11 | 0052 follows_up_on 0050 | B | high | match | high | refines | 「Gate 4 validation report §6.4 で識別された…改善余地への直接対応 (本 ADR の起案根拠)」= 宿題回答 |
| 12 | 0038 follows_up_on 0036 | B | high | match | high | refines | 0036 が積み残した lint ルール追加への具体回答 |
| 13 | 0027 relates_to 0013 | C | medium | match | high | depends_on | 「ADR-0013 …準拠…Conflict なし」= 整合宣言 |
| 14 | 0054 refines 0039 | C | high | match | medium | relates_to | 「関連 ADR (Refines + 集約参照、片方向参照)」+ 0039 規約を引き継ぐ SSoT 文書化 |
| 15 | 0122 depends_on 0019 | C | high | match | high | relates_to | 「decision-pipeline (ADR-0019…) のインターフェースを再利用し新規定義しない」 |
| 16 | 0125 depends_on 0121 | C | medium | mismatch (3-0) | high | relates_to | 「ADR-0121 …— 補完 (共通基盤を継承)」= 本文の自己宣言が「補完」で前提・開始条件の記述なし |
| 17 | 0094 relates_to 0066 | C | medium | match | high | depends_on | 「session 保存設計の母体。本 ADR は session schema を拡張する」= 並立・拡張 |
| 18 | 0062 relates_to 0061 | C | high | match | high | refines | 「ADR-0061 (補完並立)…(別系統)」 |
| 19 | 0066 relates_to 0052 | C | medium | match | high | depends_on | 「ADR-0052 retroactive validation…との整合」 |
| 20 | 0041 relates_to 0052 | C | medium | match | high | depends_on | 422 guard への参照のみ・0052 欠如でも決定成立 |
| 21 | 0067 relates_to 0065 | C | medium | match | high | refines | 「Pattern-aligned with ADR-0065…5 タイプ citation 準拠」 |
| 22 | 0062 depends_on 0028 | C | high | 判定割れ (match 2 / mismatch 1) | — | relates_to | 争点 = §1.4「Walking Skeleton 4 要素は ADR-0028 SSoT 経由参照のみ」を定義依存 (depends_on) と読むか、§7 表の自己申告「Confirms」(整合 = relates_to) を採るか。人間判断で解決 (2026-06-11): keep — lint ルールは検査対象の規約定義なしに成立しない = 真の依存 (下の「人間レビュー待ち」節 1 参照) |
- 判定レコードの完全版 (両端の逐語引用・note 全文・追加票 3 票の個別レコード) は実施セッションの控え
tmp/verdicts_r1.json/tmp/verdicts_votes.json(job tmp・gitignored 相当) に保存。逐語引用 44 本 + 追加票分は全て空白正規化後の完全一致で機械照合済み。
不整合 4 件の修正 (本 PR・frontmatter のみ・手順書 §9)
| 辺 | 修正 | 逆辺の整合 |
|---|---|---|
| ADR-0077 depends_on ADR-0076 | → relates_to | 0076 側に対称 relates_to 追記 |
| ADR-0103 amends ADR-0094 | → relates_to | 0094 側の amended_by 削除 + 対称 relates_to 追記 |
| ADR-0055 refines ADR-0050 | → relates_to | 0050 側の refined_by 削除 + 対称 relates_to 追記 |
| ADR-0125 depends_on ADR-0121 | → relates_to | 0121 側に対称 relates_to 追記 |
[edge-depends-superseded] warning 3 件の判定 (main 申し送りの宿題)
申し送り時点の 2 件に加え、検査時点で 0038→0030 が 1 件増えていた (バッチ 3 以降の追加分)。3 件とも両端 + 置換チェーン終端の 3 ファイルを読む同ルーブリックで判定:
| 辺 | 処置 | 根拠 |
|---|---|---|
| ADR-0039 depends_on ADR-0030 | relates_to へ型変更 (本 PR) | 「本 ADR はこれらを遵守して起案。Conflict なし」= 整合宣言で依存でない。warning も解消 |
| ADR-0090 depends_on ADR-0079 | relates_to へ型変更 (本 PR) | 0090 撤退条件の「(0079 不成立時) 本サブツリーを最終形として確定(0079 依存解除)」が成就。終端 ADR-0128 は「より単純な単一サイト + Corp/MAS/DRP 軸フィルタ…が実際に採られた」(0128 §参照) で依存内容を未継承 = 張り替え不可、precursor 関係は relates_to で保持 |
| ADR-0038 depends_on ADR-0030 | 現状維持 (warning 容認) | 0038 の lint ルール kruchten-type-meta は 0030 の Kruchten メタデータ規約なしに成立しない真の依存。0030 の被依存部分は「Kruchten 3 分類定義・判定ロジック・裁定ルール・撤退条件・観測指標は本 ADR で維持」(部分 Supersede の対象外) で現役。終端 0031 は「本文不変」制約の上書きのみで張り替え先として不適 |
- 0038→0030 の warning は「部分 Supersede で被依存部分が現役」という lint が区別できないケース。恒常 warning 1 件として残る。lint 側の扱い (例: 部分 Supersede の suppress 注記) は adr-lint の領分として main へ申し送り (手順書 §9)。
人間レビュー待ち・drift 検証 (達希さん)
- 判定割れ #22
ADR-0062 depends_on ADR-0028: 人間の判断が最終 (手順書 §5)。維持 (depends_on) なら修正不要、relates_to なら 0062 側の型移動のみ。- 解決 (2026-06-11・達希さん判断): keep (depends_on を維持)。理由 =「lint ルールは検査対象の規約定義なしに成立しない = 真の依存」(ADR-0062 の lint は ADR-0028 が定義する Walking Skeleton 4 要素の規約を検査対象とするため、定義依存と読む側を採用)。frontmatter 修正は不要。全数再レビューでも機械再判定の対象外 (スキップリスト登録済み)。
- drift 検証 5 件 (手順書 §7: 低確信/判定割れ由来 ≥2 を含む): #22 (判定割れ)・#5 (低確信 mismatch)・#9 (低確信 mismatch)・#7 (高確信 match・降格妥当性)・#11 (高確信 match) を人間が検証し、不一致率をこの節へ追記する。
- 解決 (2026-06-11・達希さん検証): 5 件すべて judge の判定に同意 — 不一致率 0/5 = 0% (再設計トリガーなし)。
- #11 (
0052 follows_up_on 0050) は「宿題の発行元 (0050 検証レポート §6.4) と主題の帰属先 (0019・refines 辺で表現済み) が分離している」点を判断材料として検討の上、「§6.4 の起票候補指示の履行 = 宿題回答」として維持を採用。
設計値の再評価メモ (最初の 2 サイクル要件の先行データ)
- 実測誤り率 ~18% は設計検出対象 (10%) の上限超え。n=22・c=0 の検出力設計は妥当に機能した (不合格を正しく検出)。
- 偏在は「強い型 (depends_on/amends/refines) への過剰型付け」に集中し、relates_to 側 (10 件) は誤りゼロ。再レビューは強い型に絞るのが効率的で、relates_to 229 本の全数再レビューは現データでは不要。
- 出典コメントに「Confirms」「補完」「準拠」「適用」を含む強い型の辺は機械 grep で事前に洗い出せる (再レビューの優先キュー候補)。
2026-06-11 受け入れ再検査 (judge=gemini-pro)・人間終端
強い型 200 本の全数再レビュー (PR #1797: keep 71 / demote 129・上書き keep 10) 完了後の再検査。
判定者を別ベンダー (gemini-pro) に変更 — 分類・再レビューを行った claude-opus の系統的な癖を共有しない独立判定とするため (Gate 3 の 3 ベンダー並列と同じ原理・達希さん判断)。実装 = scripts/adr-edges-llm-classify.mjs --inspect。
1 巡目 (seed 2026061102・n=22・降格辺 5 件含む)
- match 21 / 票割れ 1 (
0053 follows_up_on 0052・2 対 1)。降格辺 5 件は全件 match = 再レビューの降格判定を別ベンダーが支持。 - 票割れは人間判断 (手順書 §5) で mismatch に確定 → relates_to へ修正。先例確立: 参照先 (またはその付属文書) に宿題の明示的な発行 (「別 ADR 候補」等の起票指示) があれば follows_up_on、参照先の事例・採点実績を起案動機として引くだけなら relates_to (#11 の維持判断との区別根拠)。
c=0 帰結: follows_up_on 型の全数再確認 (16 本)
- mismatch 11 本 (全件 3 票全会一致)。修正適用 = refines 3 (0027→0021 子 ADR 自己宣言 / 0074→0056 §6.1 トリガー枠組み継承 / 0107→0130 委譲明記の適用 2 号)・depends_on 1 (0072→0056 設計前提 drift の検出 = #22 原則同型)・relates_to 5・辺削除 2 (0116→0109 / 0126→0109)。
- 先例確立: 「Cross-Validation の残余リスク付き Accept で起票された」等の審査経緯の注記は決定間の構造関係ではなく辺にしない (mention-only)。同パターンの既存辺 0115→0109 / 0129→0109 も一貫して削除 (計 4 件)。
- 0126→0109 の機械適用 (depends_on 提案) は 0116 との一貫性違反として人間補正で削除。suggested 票割れ 2 件 (0074 / 0126) も人間検証。
2 巡目 (seed 2026061103・n=22・降格辺 7 件含む)
- match 19 / mismatch 3 → 人間判断: 適用 1 (
0115 relates_to→refines 再昇格— 本文の自己宣言「Refine。Supersede しない」を優先。全数再レビューの降格→再検査の再昇格という往復事例で、自己宣言と実態分析が割れる境界の代表例として記録)・棄却 2 (0056→0036「ADR-0036 準拠」/0056→0033「直交軸・整合確認」— relates_to の字義「整合・並立」に合致し、judge の mention-only 提案が定義より厳格と判断)。
終端宣言 (達希さん・2026-06-11)
- 検査の繰り返しで残る揺れは relates_to ↔ mention-only の本質的グレーゾーンに収束し、judge を替えても巡回しても完全収束しない (Cross-Validation の過剰審査ループと同型)。ADR-0109 Part4 の流儀 (上限ラウンド + 人間レビュー終端) により、検査 2 巡 + 型別全数確認をもって終了し、達希さんの PASS 判断を最終とする →
--enforce昇格へ。 - 品質保証の総括: 機械抽出 → LLM 分類 456 辺 → 強い型 200 本全数再レビュー → 層別検査 2 巡 (n=22×2・別ベンダー judge) + follows_up_on 型全数確認。系統誤り 3 種 (過剰型付け / 宿題発行基準 / 審査経緯注記) を特定・全数修正済み。
- 判定の監査トレイル:
tmp/adr-edges-rereview.jsonl/tmp/adr-edges-inspect.jsonl(票内訳・逐語引用・機械照合結果)。