コンテンツにスキップ

ADR-0040: 準拠テンプレートの様式を標準の部分集合と定め、欠けた必須欄を逸脱として扱う

採用(2026-08-13)

準拠テンプレート(pit-in-template)の成果物様式と、標準の第6章を突き合わせたところ、広範な乖離が見つかりました(#227)。

様式 乖離
テンプレ4 ゲート判定記録 決断の記録と選択肢の比較の節が無い
テンプレ2 ADR 「回復に要する時間」が標準と逆の指示になっている
テンプレ9 安全リスクアセスメント 記号体系が別物。危害の見積りに安全重要度を用いている
テンプレ0 D-0 権限境界の表が無い
テンプレ10 前提の台帳 標準とは別の概念の台帳になっている

テンプレートの様式は標準の様式の複製ではありません。初版で独自に書き下ろされ、以後一度も突き合わせていません。標準の当該記述より後に書かれているため、古くなったのではなく最初から別物です。

原因は構造にあります。複製の検査が見ているのはテーラリングエンジン・知識ベース・ゲート識別子の3点のみで、様式は検査の対象外でした。標準の第6章を改訂しても、テンプレートの様式は誰も突き合わせません。

#216で確定した「規定が実行層へ降りていない」の様式版です。規定の本文には実装マークで経路を作りましたが、様式には作っていませんでした。

1. テンプレートの様式を、標準の様式の部分集合と定める

Section titled “1. テンプレートの様式を、標準の様式の部分集合と定める”

全文の一致を求めません。必須欄の存在だけを求めます。テンプレートは実行層の道具であり、記入の負荷を下げる簡略化に価値があるためです。

複製を求める案を採りません。テーラリングの余地が消え、規模の小さい案件が使えなくなります。

標準側の様式へ新しいマークを付けません。src/data/template-fields.yaml に、様式ごとの必須欄とテンプレートの対応先を書きます。

検査は2方向で行います。

方向 確かめること 欠いた場合に起きること
標準 → 対応表 必須欄の文字列が標準の本文に実在するか 対応表が標準の改訂から取り残される
対応表 → テンプレート 必須欄がテンプレートに存在するか 様式が実行層へ降りない

標準側の実在を確かめる向きが要です。片方向の検査では、対応表が古い欄名を保持したまま通ります。

3. 欠けた必須欄を、逸脱として登録する

Section titled “3. 欠けた必須欄を、逸脱として登録する”

簡略化のために欄を落とす場合は、src/data/template-fields.yaml の omit へ理由付きで登録します。登録そのものが判断の記録になります(ADR-0028の未達と省略の区別と同じ扱い)。

簡略化は欄を落とすことに限ります。標準が「幅で書く」と定める欄を「単一値で書く」と指示する形は、簡略化ではなく矛盾です。逸脱として登録できる対象に含めません。

要求事項ではなく手引きとして書かれた附属書は、テンプレートへ降ろしません。附属書G(決裁制度への提示)の投影の様式が該当します。ただし、附属書の中に「してはならない」で書かれた規範がある場合は、その規範だけを降ろします。

案 却下の理由
様式の全文一致を強制する テーラリングの余地が消える。小規模の案件がテンプレートを使えなくなる
標準の様式へ必須欄のマークを付ける 4つ目のマーク体系になる。様式は本文中のコードブロックにあり、マークを置くと記入例が汚れる
テンプレートを標準から自動生成する 様式は文脈に応じた注記を伴う。生成すると注記が失われるか、生成器が第2の様式定義になる
突き合わせず、テンプレートを独立した成果物とする 現状。乖離が無自覚に増え、準拠を名乗る根拠が無くなる
逸脱の登録先をテンプレート側に置く 正本は標準側である。テンプレート側に置くと、落としてよいかの判断がテンプレート側で閉じる
  • npm run check が必須欄を検査する
  • 必須欄を落とす場合は理由の登録を要する
  • 標準の第6章で欄名を変えた場合、対応表の更新を検査が要求する
  • 網羅性は保証しない。対応表に載せていない欄の欠落は検出できない。実装マーク・適用範囲の注記と同じ限界