役割: DRP(意思決定 審査パイプライン)ドキュメントの ID 体系 8 種・参照規約(Covers / Verified-by / Constrains)・L1〜L4 変更影響分類の正典。根拠決定は ADR-0117、調査根拠は RQ-095 synthesis適用範囲: docs/_internal/03_decisions/decision_pipeline/ 配下のドキュメントに限定(ADR への Covers:/Constrains: 追加のみ ADR 全体に横展開)。ID 体系の他コンポーネントへの非公式流用は ADR-0117 違反(将来の全社展開時はスコープ修飾子 DRP-BR-001 形式を別 ADR で導入)。 初見の読者へ: 用語集 → 本書 → 文書カタログ の順で読む(読解所要 0.5〜1.0 人日の想定)。

1. ID 体系(8 種)

種別接頭辞採番定義場所
ビジネス要求BR-1. ビジネス要求層3 桁ゼロ詰め連番(BR-001〜)business_requirements.md
システム要件SR-2. システム要件層3 桁ゼロ詰め連番system_requirements.md
非機能要件NFR-2. システム要件層3 桁ゼロ詰め連番非機能要件定義書(Phase 2 新設予定)
ユースケースUC-2. システム要件層既存採番を流用UC-{N} / UC-{N}-S{NN}ユースケース一覧(Phase 2 新設予定)
外部設計EDD-3. 外部設計層3 桁ゼロ詰め連番外部設計 4 分冊(Phase 2 新設予定)
内部設計IDD-4. 内部設計層3 桁ゼロ詰め連番ゲート内部設計書(Phase 3 移行予定)
テストケースTC-7. 検証層既存採番を流用TC-01〜 / TC-S / TC-C 系)test_cases.md ほか
決定ADR-6. 決定層既存採番を流用(4 桁ゼロ詰め)docs/adr/

採番ルール:

  • ID は発行後に再利用・欠番埋め・改番しない(参照の安定性が体系の存在理由)。廃止する場合は定義場所で status: retired を宣言し、ID 自体は予約済みのまま残す。
  • 新規 ID の発行前に定義場所ファイルを grep し衝突がないことを確認する(案件 ID 採番と同じ運用)。

1.1 文書レベル ID(frontmatter id:

上記 8 種は文書「内」のトレーサビリティ要素の ID である。これとは別に、decision_pipeline/ 配下の各ドキュメント自体の frontmatter id:drp-<slug>(kebab-case・ファイル名由来のスラッグ)とする。例: system_requirements.mdid: drp-system-requirements

  • drp- 接頭辞は DRP 文書 id 専用。DRP-(大文字)接頭辞は将来の全社展開時のスコープ修飾子(DRP-BR-001 形式)用に予約しており、文書 id には用いない。
  • 新規 DRP 文書追加時は id: drp-<slug> を frontmatter 先頭キーに置き、既存 id との重複を grep で確認する。
  • 根拠: ADR-0123 §8(Corrigendum 1)が本規約に委譲。

2. 参照規約(トレーサビリティ)

参照は次の 3 種・一方向のみ。双方向リンクや下方向参照は書かない(トレーサビリティマトリクスは CI が Covers: を走査して生成するため、逆方向は自動で得られる)。

フィールド方向意味記入者
covers下層 → 上層この要素は上層のどの要求を充足するか(例: SR → BR)下層文書
verified-by対象 → テストこの要素はどのテストで検証されるか(例: SR → TC)対象文書
Constrains:ADR → 下層この決定はどの要素を制約するか(例: ADR → SR / EDD)ADR

2.1 記載場所は frontmatter 限定(散文中の ID 参照禁止)

ID 参照は必ず frontmatter(ADR はメタデータブロック)に記載し、散文中への記載を参照として扱わない。 CI lint は frontmatter の covers / verified-by フィールド(ADR は - **Covers**: / - **Constrains**: 行)のみを検出する。散文・コードブロック・表の中の ID 文字列は検出対象外であり、lint をすり抜けて陳腐化するため規範的参照として書いてはならない(読みやすさのための見出しへの ID 併記は可。§2.2 参照)。

2.2 層別ドキュメントの frontmatter スキーマ

ID を定義する文書は frontmatter の defines 配列で宣言する。frontmatter が SSoTで、本文見出しの ID 併記(### BR-001: …)は人間可読性のための写しに過ぎない(drift したら frontmatter が正)。

---
id: drp-system-requirements
type: spec
audience: both
status: active
layer: "2"
defines:
  - id: SR-001
    title: 起案の記録価値判定と審査モード決定
    covers: [BR-002]
    verified-by: [TC-01, TC-02, TC-03, TC-04, TC-05]
---
  • layer: 文書カタログの層番号("0""8"、文字列)。
  • defines[].covers / defines[].verified-by: 省略可(最上層の BR は covers を持たない)。空配列は書かず省略する。
  • YAML の重複キーは禁止(gray-matter がビルドを停止させる既知の地雷)。

2.3 ADR のメタデータブロック(Covers: / Constrains:)

ADR は YAML frontmatter を持たないため、冒頭のメタデータブロック(- **Status**: … の並び)に追記する:

- **Covers**: SR-004, SR-005
- **Constrains**: EDD-002
  • DRP スコープの ID のみ記入可。DRP に関係しない ADR はフィールドごと省略する(空欄禁止)。
  • 既存 ADR への付与は追記のみ(本文書き換え禁止・イミュータブル原則の範囲内)。Phase 3 で被参照上位 20 本に後付けする。
  • 新規 ADR(DRP スコープ)は Covers: 付与 100% が完了条件(ADR-0117 §決定 7)。

2.4 CI lint の保証範囲(main 実装・仕様の正典はここ)

  • 検出対象: 層別文書の frontmatter defines / covers / verified-by + ADR の - **Covers**: / - **Constrains**: 行。grep でなく YAML/Markdown パーサーベースで実装する(コードブロック内 ID・複数行 YAML・全角文字の境界値をユニットテストに含める)。
  • 検出内容: orphan ID(参照先が未定義)・リンク切れ。severity は 既存 ADR = warning(別ファイル出力)/ 新規 ADR・層別文書 = error の段階化(警告慣れによる見逃し防止)。
  • lint が保証するのは構文的存在確認のみ(参照先が現役で適切かの意味的整合は保証しない = 必要条件であって十分条件でない)。意味的整合は四半期サンプリング監査(Covers 10 件無作為抽出)と半年毎棚卸しで担保する。
  • 対象外 ADR(DRP スコープ外)に DRP 固有 ID パターンが現れた場合は warning 出力(非公式流用の検知)。
  • トレーサビリティマトリクスは CI 生成のみ。手書き・コミット禁止(matrix rot が最頻失敗モード)。

3. L1〜L4 変更影響分類

「この改修はどのレベルまで影響するか?」を改修に判定する枠組み。decision_pipeline 配下の docs 変更を含む PR で記入必須(PR テンプレートのチェックは main 実装。それ以外の PR は記入不要)。分類はエージェントが diff から自動提案し、人間は承認のみ行う。

Level何が変わる改修か必須更新ADR再実行するテスト層
L1ビジネス要件(目的・対象者・ROI)BR + 配下の SR/設計を全数再検証推奨受入(Confirmation KPI)
L2システム要件(機能・非機能)SR/NFR + 配下の外部・内部設計推奨システムテスト(TC 系)
L3外部設計(API・プロンプト I/O 契約・スキーマ)外部設計 + 破壊的変更判定 + 利用側追従必須契約テスト(golden eval / OpenAPI diff)
L4内部設計のみ(外から観測可能な契約は不変)契約テスト pass の確認のみ任意単体(vitest)

判定ルール:

  1. 外部 / 内部の境界 = 「外から観測可能な契約か」。API・プロンプト I/O 契約・queue 封筒・状態機械・エラーモデル = 外部設計(L3)。リトライ曲線・ルーティング・ロック = 内部設計(L4)。
  2. 迷ったら L3 扱いにして ADR を書く(コストは md 1 枚・監査痕跡が残る)。
  3. L4 自動判定の除外リスト(該当 PR は記入をスキップ可能): *.test.ts のみの変更 / docs 誤字修正 / コメント行のみの変更。
  4. DRP Triage(Light / Standard / Critical)とは直交: Triage = 審査の厳しさ、L1〜L4 = 更新すべき文書層。相互に推定しない。

3.1 分類の練習例(初見読者の自己チェック用)

改修例分類理由
Gate 4 の採点閾値を Standard 40 → 42 に変更L2機能要件(差戻し基準)が変わる。プロンプト I/O 契約は不変
/chat/status/:sessionId のレスポンスに新フィールド追加L3外から観測可能な API 契約の変更。利用側(chat.html / polling)の追従判定が必要
consistency ノードの ADR 取得を REST → GraphQL に変更(出力不変)L4外部契約は不変・内部実装のみ
「最終承認は人間のみ」の原則を変える提案L1設計原則 = ビジネス要件レベル。配下全層の再検証が必要

4. 運用(エージェント前提)

  • 本規約の適用主体は Claude Code エージェント(main/sub)。人間(代表取締役)は PR レビューでの承認のみ(ADR-0117 §1.4 運用主体の前提)。
  • エージェントはセッションごとに本書 + 文書カタログを読み込んで機械的に適用する。
  • 形骸化検知: 四半期ごとの Covers サンプリング監査 + 「L3 宣言のうち実際に ADR が作成された比率」計測(詳細は ADR-0117 §Confirmation)。

変更履歴

日時変更
2026-06-04初版(ADR-0117 Phase 1)
2026-06-08§1.1 文書レベル ID(id: drp-<slug>)を明文化(ADR-0123 §8 Corrigendum 1 からの委譲・DRP id backfill 30 件と同時)