Files
DongHyeonkaandClaude Opus 5 ab59130196 chore: 이전 세션이 남긴 변경을 커밋한다
이번 파이프라인 작업과 무관하게 작업 트리에 남아 있던 것을 그대로 올린다.
사용자가 「전부 커밋」으로 정했고, 이번 작업과 섞이지 않게 커밋만 나눴다.

대부분은 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>
2026-09-17 11:02:02 +09:00

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 정의를 검색하고, 나오지 않으면 그 문장은 지금 사실이 아니다.

목적

주석이나 문서가 검사의 실행을 단언할 때 그것을 관찰로 읽지 않게 한다. 게이트가 도는지를 묻기 전에 게이트가 존재한다는 문장이 무엇에 근거하는지 묻는다.

규칙

  1. 실행을 단언하는 문장을 먼저 찾는다 빌드를 실패시킨다, 기동 시점에 거부한다, 다른 방식으로 조립된 런타임도 확인한다 같은 현재 시제 문장이 대상이다.

  2. 그 문장이 지목한 심볼 이름으로 빌드 스크립트와 CI 정의를 검색한다 나오지 않으면 그 문장은 지금 사실이 아니다.

  3. 실행하는 것이 테스트뿐이면 그 테스트의 대상 집합을 확인한다 목록이 하드코딩되어 있으면 게이트의 범위는 그 목록이지 저장소가 아니다.

  4. 미래를 서술하는 선언과 구분한다 아직 돌지 않는다고 시제로 밝힌 선언은 이 규칙의 대상이 아니다.

적용 조건

주석 밀도가 높은 저장소의 모든 검증 코드. 근거를 문장으로 남기는 관행이 자산인 만큼, 그 문장이 실행을 단언할 때 비용도 같이 커진다. 읽는 사람이 게이트의 존재를 근거 있게 믿기 때문이다.

예외

의도적으로 미래를 서술하는 선언은 문제가 아니다. 다만 시제가 달라야 한다. 코드 생성 매니페스트가 좋은 예다. 이 빌드에서는 아직 돌지 않는다고 적고, 왜 돌지 않는지를 결정 기록으로 지목하며, 이 매니페스트는 그것을 켜기로 하는 미래의 결정이 대체가 아니라 만족시켜야 할 선언이라고 적는다.

예시

이 저장소에서 다섯 곳이 걸렸다.

스키마 규칙 엔진은 두 파일이 빌드를 실패시킨다고 적는데 빌드 스크립트에 이름이 없다.

스키마 거버넌스 정책의 네 수명주기 태스크 이름은 어떤 빌드 파일에도 없고, 그 javadoc 은 이름을 정책에 두면 단계가 사라질 때 테스트가 실패한다고 적는다.

고급 모듈 가드의 런타임 확인 메서드는 팻 자와 셰이드 산출물과 테스트 하네스도 확인한다고 적는데 호출자가 없다.

두 실험 어댑터의 프로파일 검증기는 전송 javadoc 이 기동 시점 거부를 단언하는데, 한쪽은 흔적이 javadoc 링크 한 줄이고 다른 쪽은 자기 선언 말고 아무 데도 없다.

관계

  • 두 파일이 같은 검증기를 빌드를 실패시키는 것이라 적고 어떤 빌드도 그것을 부르지 않는다 이 규칙을 만든 사례다.
  • 아무도 돌리지 않는 레인의 게이트는 마지막으로 돌린 사람이 본 것을 보고한다 이 규칙의 다음 단계다. 게이트가 존재한 뒤에 무엇이 그것을 주기적으로 돌리는가를 묻는다.
  • 시작 검증기가 네 설정 키의 유일한 소비자인데 시작 시 실행되지 않는다 같은 형태가 구성 경계에서 나타난 사례다.
  • 검증기는 발행이 아니라 주입이 강제다 실행 경로를 묻는 같은 계열의 규칙이다.