最終更新: 2026/06/22 18:56
approver-meta — 承認者欄の存在とちょうど 1 つの Approver
上位 doc: §4 Summary Table in adr-lint_rules.md — Summary Table 集約参照
id: approver-meta
severity: error
category: metadata
since: 2026-06-12
status: active
fixable: true
description: ADR-0145+ は承認者欄 (Approver Role / Approver Who) を持ち、role はちょうど 1 つ (カンマ / スラッシュ / 空白区切りの複数指定を禁止)
related_adrs: [ADR-0141]
Rationale
ADR-0141 (承認者体系) は決定の最終責任者を 1 人 (単一 Accountable) に固定し、役割 (role) と人 (who) を分離して frontmatter / 本文メタ欄に構造化する。本ルールはその存在と単一性を ④ 受理 PR 層で機械検査する。役割が複数併記されると「誰がこの決定の最終責任者か」が再び曖昧になり、旧 Deciders 自由記述の問題が再発するため、ちょうど 1 つを強制する。
しきい値 = ADR-0145 以降 (生成プロンプト v2.0.0 の本番反映後に生成される番号から適用)。既存 144 本と審査中在庫には遡及しない。読み出しは scripts/lib/adr_meta.mjs (frontmatter 優先・本文太字メタ欄フォールバック) を経由する。
❌ FAIL Example
# ADR-0145: ...
- **Scope**: platform
- **Approver Role**: platform, product ← 複数指定
(Approver Who 欠落・Approver Role の複数指定 → FAIL)
✅ PASS Example
# ADR-0145: ...
- **Scope**: platform
- **Approver Role**: platform
- **Approver Who**: [email protected]
- **Driver**: [email protected]
- **Consulted**: Decision Pipeline AI 審査 (Gate 0-4)
Migration / Corrigendum
- 既存 ADR (≤ 0144) は対象外。deciders → 4 欄の変換は ADR-0137 Phase 2 + 改訂時 touch-time で行う (frontmatter-meta-sync の Migration 参照)
- 値の意味のうち role の値域は approver-role-enum、Scope との整合は approver-role-scope-match が所有 (本ルールは存在+単一性のみ)