이번 파이프라인 작업과 무관하게 작업 트리에 남아 있던 것을 그대로 올린다. 사용자가 「전부 커밋」으로 정했고, 이번 작업과 섞이지 않게 커밋만 나눴다. 대부분은 clean-architecture-backend-template 의 그림 정본 재배치다 — final/assets/diagrams/<이름>/ 에 있던 것이 CLAUDE.md 가 적은 배치인 final/assets/<이름>/ 로 옮겨졌고 .techviz/<이름>/ 이 함께 들어왔다. 삽입 줄의 대부분(3.15M)이 그 .techviz context.json 이다. 그 밖에 ca-tmpl·document-haness 의 정리, .claude/agents/ 열한 개, writing-practitioner-guides 스킬, .playwright-mcp 세션 산출물, scripts/check-ssot-facts.py 와 그 시험이 들어 있다. 이 커밋의 내용은 내가 만든 것이 아니라 이전 세션이 남긴 것이고 검증하지 않았다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
3.9 KiB
kind, slug, title, topic, project, status, sourceRevision, rootTreeNode, verifiedOn
| kind | slug | title | topic | project | status | sourceRevision | rootTreeNode | verifiedOn |
|---|---|---|---|---|---|---|---|---|
| REFERENCE | a-gate-declared-in-prose-is-not-in-the-build | 산문이 선언한 게이트는 빌드에 있는 게이트가 아니다 | what-a-gate-does-not-prove | clean-architecture-backend-template | 게시 전 | 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 | reference:a-gate-declared-in-prose-is-not-in-the-build |
산문이 선언한 게이트는 빌드에 있는 게이트가 아니다
주석이나 문서가 검사의 실행을 단언할 때 그것을 관찰로 읽지 않게 한다. 게이트가 도는지를 묻기 전에 그 문장이 지목한 심볼 이름으로 빌드 스크립트와 CI 정의를 검색하고, 나오지 않으면 그 문장은 지금 사실이 아니다.
목적
주석이나 문서가 검사의 실행을 단언할 때 그것을 관찰로 읽지 않게 한다. 게이트가 도는지를 묻기 전에 게이트가 존재한다는 문장이 무엇에 근거하는지 묻는다.
규칙
-
실행을 단언하는 문장을 먼저 찾는다 빌드를 실패시킨다, 기동 시점에 거부한다, 다른 방식으로 조립된 런타임도 확인한다 같은 현재 시제 문장이 대상이다.
-
그 문장이 지목한 심볼 이름으로 빌드 스크립트와 CI 정의를 검색한다 나오지 않으면 그 문장은 지금 사실이 아니다.
-
실행하는 것이 테스트뿐이면 그 테스트의 대상 집합을 확인한다 목록이 하드코딩되어 있으면 게이트의 범위는 그 목록이지 저장소가 아니다.
-
미래를 서술하는 선언과 구분한다 아직 돌지 않는다고 시제로 밝힌 선언은 이 규칙의 대상이 아니다.
적용 조건
주석 밀도가 높은 저장소의 모든 검증 코드. 근거를 문장으로 남기는 관행이 자산인 만큼, 그 문장이 실행을 단언할 때 비용도 같이 커진다. 읽는 사람이 게이트의 존재를 근거 있게 믿기 때문이다.
예외
의도적으로 미래를 서술하는 선언은 문제가 아니다. 다만 시제가 달라야 한다. 코드 생성 매니페스트가 좋은 예다. 이 빌드에서는 아직 돌지 않는다고 적고, 왜 돌지 않는지를 결정 기록으로 지목하며, 이 매니페스트는 그것을 켜기로 하는 미래의 결정이 대체가 아니라 만족시켜야 할 선언이라고 적는다.
예시
이 저장소에서 다섯 곳이 걸렸다.
스키마 규칙 엔진은 두 파일이 빌드를 실패시킨다고 적는데 빌드 스크립트에 이름이 없다.
스키마 거버넌스 정책의 네 수명주기 태스크 이름은 어떤 빌드 파일에도 없고, 그 javadoc 은 이름을 정책에 두면 단계가 사라질 때 테스트가 실패한다고 적는다.
고급 모듈 가드의 런타임 확인 메서드는 팻 자와 셰이드 산출물과 테스트 하네스도 확인한다고 적는데 호출자가 없다.
두 실험 어댑터의 프로파일 검증기는 전송 javadoc 이 기동 시점 거부를 단언하는데, 한쪽은 흔적이 javadoc 링크 한 줄이고 다른 쪽은 자기 선언 말고 아무 데도 없다.
관계
- 두 파일이 같은 검증기를 빌드를 실패시키는 것이라 적고 어떤 빌드도 그것을 부르지 않는다 이 규칙을 만든 사례다.
- 아무도 돌리지 않는 레인의 게이트는 마지막으로 돌린 사람이 본 것을 보고한다 이 규칙의 다음 단계다. 게이트가 존재한 뒤에 무엇이 그것을 주기적으로 돌리는가를 묻는다.
- 시작 검증기가 네 설정 키의 유일한 소비자인데 시작 시 실행되지 않는다 같은 형태가 구성 경계에서 나타난 사례다.
- 검증기는 발행이 아니라 주입이 강제다 실행 경로를 묻는 같은 계열의 규칙이다.