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-006수정 후
섹션 제목: “수정 후”ID에 영역 이름을 포함하여 구별합니다.
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가 다른 파일로부터 참조되고 있는지의 검증