TBL-006 ファイル間 ID 一意性
複数のファイルにまたがって、特定カラムの値(ID)がユニークであることを検証します。重複が見つかると error で報告されます。プロジェクトスコープ のルールで、include で読み込んだ全ドキュメントを横断して評価されます。
要件 ID、ADR 番号、テスト ID のように、リポジトリ全体で一意であるべき識別子はよくあります。しかし複数のファイルや複数のチームが同時に追加していくと、知らずに同じ ID を使ってしまうことがあります。重複した ID は検索性も追跡性も壊すので、機械的に検出する価値があります。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
files | string | ✓ | ID 一意性を検証する対象ファイルの glob |
column | string | ✓ | ID が格納されているカラム名 |
idPattern | string | — | この正規表現にマッチする値だけを ID とみなす(マッチしない値は無視) |
files は他のルールの files オプションと同じ glob 構文ですが、TBL-006 では必須です。
docs/auth/requirements.md:| ID | 内容 || ------ | -------------- || REQ-01 | ユーザー登録 |
docs/todo/requirements.md:| ID | 内容 || ------ | ---------------- || REQ-01 | タスク作成 |両ファイルで REQ-01 を使っているので違反になります。
docs/todo/requirements.md line 3 error ID "REQ-01" is already defined in docs/auth/requirements.md:3 TBL-006ID にゾーン名を含めて区別します。
docs/auth/requirements.md:| ID | 内容 || ----------- | -------------- || REQ-AUTH-01 | ユーザー登録 |
docs/todo/requirements.md:| ID | 内容 || ----------- | ---------------- || REQ-TODO-01 | タスク作成 |{ "rule": "tbl006", "options": { "files": "**/requirements.md", "column": "ID", "idPattern": "^REQ-" }}idPattern を指定すると、そのパターンにマッチする値だけが ID として扱われます。テーブルにヘッダー行サンプルや見出し行が混じっていても、ID 行だけを対象にできます。
- TBL-001 必須カラム — テーブルに ID カラムが存在するかの検証
- TBL-004 セルパターン — 単一ファイル内での ID 形式の検証
- REF-002 ID の定義と参照 — ID が他ファイルから参照されているかの検証