コンテンツにスキップ

ADR-0048: 判定基準の正本を第4章の表と定め、機械可読の複製を生成物へ降格する

採用(2026-08-14)

初回適用案件で、当該ゲートの判定基準に無いものを判定へ持ち込む誤りが2回起きました(#238)。

規範は既に降りていました。準拠テンプレートの gate-record スキルは「判定に持ち込んではならないもの」を明示しています。それでも2回破られました。

原因は規範の不在ではなく、判定基準の実物の不在です。

  • 準拠テンプレートのテンプレ4の「確認した項目」は空欄3行である
  • 基準の本文は第4章(822行)にしかない
  • 判定のたびに、公開サイトから該当ゲートの表を人が引き写している
  • 引き写すとき、隣の節にあるものが混ざる

機械可読の複製が、本文の55%しか持っていなかった

Section titled “機械可読の複製が、本文の55%しか持っていなかった”

src/data/processes/integrated.yaml の gates[].criteria を本文と突き合わせた結果です。

ゲート yaml 本文
G-1 4 4
G-2 3 5
G-3 3 5
G-4 2 5
G-5 3 8
G-6 3 5
G-7 4 8
G-8 1 2
計 23 42

8ゲート中7ゲートで不足し、この乖離を検出する検査がありませんでした。

落ちていたものには、秘匿情報の混入検査(G-5)、知財潔白性の検査記録(G-7)、レビュアが作成の指示者本人でないこと(G-6)が含まれます。

配布の配管は既に稼働していた

Section titled “配布の配管は既に稼働していた”

build-template-kb.mjs は KB を生成し、準拠テンプレートへ配っています。運んでいたのは判定者・期限・出所の URL までで、criteria は落ちていました。「判定基準の場所」は届いており、中身だけが届いていませんでした。

これは#216で確定した「規定が実行層へ降りていない」の系譜です。実装マークは規定の本文を降ろしますが、判定基準の中身を降ろす経路がありませんでした。

1. 判定基準の正本を、第4章の判定基準表とする

Section titled “1. 判定基準の正本を、第4章の判定基準表とする”

integrated.yaml の gates[].criteria を生成物へ降格します。手で編集しません。

ADR-0010が「本章が判定基準の正本」と定めた向きを、機械可読の側へも適用します。

2. 本文からの抽出と、乖離の検査を置く

Section titled “2. 本文からの抽出と、乖離の検査を置く”

scripts/check-gate-criteria.mjs が第4章の判定基準表から抽出し、--write で書き戻します。件数が一致しない場合、検査は失敗します。

既存の3系統(実装マーク・適用範囲・根拠水準)と同じ作法です。本文が正本、複製は自動生成、手で編集しない。4系統目を同じ形で作るのが、最も誤りが起きにくい形です。

3. 表の外にある規範は降ろさない。降りていないことを明示する

Section titled “3. 表の外にある規範は降ろさない。降りていないことを明示する”

これが本決定の限界です。

第4章の G-3 には判定基準表の後に3節、G-5 には8節、G-7 には4節があります。これらは表の外にあり、表の機械抽出では降りません。

降りないものを、降りたように見せてはなりません。配布する KB には、判定基準が表の分のみであることと、表外の節の出所を併せて載せます。

ADR-0028が未達と省略を区別し、ADR-0041が一覧を網羅の主張として読ませないと定めたのと同じ作法です。部分的な配送を、完全な配送として見せません。

4. 前提条件の表と、判定基準の表を区別する

Section titled “4. 前提条件の表と、判定基準の表を区別する”

G-1 は前提条件の表を判定基準表より前に持ちます。抽出はヘッダ行の2列目が「判定基準」であることで判別します。前提条件を判定基準として降ろしません。

案 却下の理由
criteria を削除し、表示側が本文から直接読む Astro の表示が生成物に依存し、ビルド順序の制約が増える
integrated.yaml を手書きの正本のまま、本文との一致を人が確認する 現状。8ゲート中7ゲートで乖離した実績がある
表外の節も機械抽出する 節の構造が一定でない。抽出できたものとできなかったものの境界が読み手に見えなくなる
テンプレ4 の空欄を、案件が手で埋める運用を続ける 引き写しの誤りが原因である。同じ経路を残す
  • npm run check が判定基準の複製を検査する
  • integrated.yaml の criteria は 23件から 42件になった
  • 表の外にある規範は降りない。この限界は解消しない
  • 準拠テンプレートのテンプレ4 へ、当該ゲートの判定基準を降ろす作業が生じる(別途起票)