コンテンツにスキップ

ADR-0062: 曖昧語の規範を類で書き、検出語の正本を第4章 G-2 の表に置く

採用(2026-10-13)。ADR-0048の決定3(表の外にある規範は、表の機械抽出では降ろさない)を補います。抜き出す対象に、第4章 G-2 の検出語の表を足します。ADR-0048 のほかの決定は維持します。

#308 の調査で、受入基準の曖昧語について、本文と機械が別の一覧を持っていると分かりました。記録は research/302-310-deliberation/(survey-308.md、council-C-01〜05、decision.md の C-6)にあります。

事実 内容
本文の一覧 第4章 G-2 は「曖昧語の禁止リスト(初期値)」として6語を挙げていた
機械の一覧 準拠テンプレートの spec-lint.mjs は10語を持っていた。本文に無い4語で G-5 を失敗させていた
正本の向き 準拠テンプレートは4か所で「語の一覧の正本はスクリプト」と書いていた。ADR-0010の決定1(判定基準の内容の正本はフェーズ4 の各章)と逆である
一覧に無い語 附属書B が曖昧語の例に挙げる「高速に」を、機械は通していた。本文は語の一覧だけを規範にしており、一覧に無い語の受入基準を差し戻す根拠が無かった
検査の範囲 本文は「受入基準に使用不可」と書く。機械は機能仕様の置き場の全ファイル(スコープ外の節と実装計画を含む)で落としていた
除外の印 spec-lint-ok と書いた行を、機械は理由なしに検出から外していた。印の記述は、標準にも準拠テンプレートの文書にも無かった。使った件数は、どの記録にも出なかった
実装の記述 本文は「AI によるチェックを CI に組み込みます」と書く。実装は語の部分一致で、AI を使っていない

委員が検査を複製して実行しました。ひらがな書き・言い換え・空白の挿入・コードブロックの中の記述は、どれも検査を通りました。「不適切に操作した場合」のように、合否を判定できる文が部分一致で落ちることも確かめました。

受入基準に、合否を一意に判定できない表現を使うことを禁じます。該当する表現の類は3つです。逃げ道になる句、程度を定めない副詞・形容詞、末尾を開いた列挙です。類に当たるかどうかは、G-2 の判定者が判定します。

2. 検出語の正本を、第4章 G-2 の表に置く

Section titled “2. 検出語の正本を、第4章 G-2 の表に置く”

機械が検出する語(検出語)を、第4章 G-2 の表に置きます。表の語は、機械が落とす最低限の語です。語は、機械が持っていた10語と「高速に」の11語とします。組織は語を足してよく、減らしてはなりません。

機械は、本文の表から抜き出した語を読みます。知識ベースの生成が表を抜き出し、準拠テンプレートの spec-lint.mjs は知識ベースを読みます。語をスクリプトへ書き写しません。複製の乖離は、既存の複製の検査(npm run test:template)が検出します。

3. 合否は保ち、検査の範囲を受入基準の節に絞る

Section titled “3. 合否は保ち、検査の範囲を受入基準の節に絞る”

検出語が受入基準の節に1件でもあれば、G-5 を失敗させます。検査の範囲は、機能仕様の受入基準の節に限ります。スコープ外の節と実装計画を検査しません。

検出語が、合否を一意に判定できる文の一部として現れる行は、行末の除外の印で検出から外してよいものとします。印には理由を書きます。理由の無い印は無効です。機械は、除外した行の件数と所在を G-5 の結果に表示します。除外した行が類に当たらないことは、G-2 と G-4 の判定者が確かめます。

検出語の選定、類への割り当て、辞書による検出を合否に使うことには、本標準の文脈での実証がありません。第4章 G-2 に EV-0099(E1)を置きます。

案 採らなかった理由
構造化データを正本にし、本文と機械の両方を生成する ADR-0010 決定1 と向きが逆になる。規範の段落を生成物にした前例は、台帳だけである
規範は類とし、機械の一覧は実行層が持つ 準拠テンプレートは案件が改変できる。語を1つ消せば、その案件の G-5 は通る。消したことが逸脱かを判定する基準が本文に無くなる
本文と機械の一覧を、対応表で両方向に検査する 一覧を手で2か所以上に書いたままにする。再掲の箇所は、対応表に載せない限り検査されない
機械の検出を合否から外し、警告にする 警告は止めない検査である。理由を書いた除外と件数の表示にすれば、誤検出の1件は1行の理由で解け、除外の乱用は結果に見える。除外の比率が高い場合に、この案を見直す材料にする(EV-0099 の差し替え条件)
機械の語を本文の6語へ減らす 機械だけが持っていた4語は、どれも類に当たる。減らす根拠が無い
決めない 2つの「正本」が並び続ける。次に語を足すとき、どこを直せばよいかが決まらない
  • 準拠テンプレートの spec-lint.mjs は、知識ベースの ambiguousTerms を読む。知識ベースを複製し直していない案件では、検査が失敗して知らせる
  • スコープ外の節の「など」では、G-5 が落ちなくなる
  • 理由の無い spec-lint-ok を書いていた案件は、検出が戻る。理由を書き足す
  • 「高速に」を受入基準に書いていた案件は、G-5 が失敗する
  • 機械の限界は残る。言い換え、表記の違い、コードブロックの中の記述は検出しない。受入基準の節の見出しを「受入基準」で始めない機能仕様は、検査の対象が無くなる。様式の必須欄の検査と、G-2 の判定者の確認に依る
  • 組織が足した検出語の置き場は、準拠テンプレートが定める(spec-lint.mjs の中の欄)。構成の項目にはしていない