Files
document-haness/docs/clean-architecture-backend-template/tech-log-studio/what-a-gate-does-not-prove/reference/reference-omission-that-passes-is-not-a-gate.md
T
DongHyeonkaandClaude Opus 5 b2963105a8 docs(keycloak-session-store): import the session-storage lab as a new project
The keycloak project ended with four open questions that design could not
settle. A two-VM lab was built to answer them by measurement, and this is
that material: 26 experiments, 125 raw command outputs, 22 browser captures.

Follows the import procedure in README.md.

  source/     the originating repository verbatim — 78 documents, 28 SVGs,
              8 manifests, plus .source-revision recording the commit
  final/      the SSOT
    document.md   729 lines written from the 29 experiment documents, not
                  concatenated: what was predicted, what was measured, and
                  where the measurement itself was wrong
    evidence/raw    125 outputs, flattened to <experiment>__<file> because
                    the originals collided (01-baseline.txt appeared three
                    times) and the audit only globs the top level
    evidence/meta   one per raw file; command and exitCode are null and the
                    README says why rather than inventing them
    evidence/browser  22 captures
    assets/       three diagrams through techviz
    .techviz/     their VizSpecs

A separate project rather than an addition to keycloak: the B-layer answers
that project's four questions, but the A, C and D layers are about cluster
failure, SSO and operations, and one document.md should hold one subject.
The four question records there can point here through 관계.

Recorded rather than papered over: only three of the 28 diagrams were
remade. The repository forbids hand-drawn SVG and forbids titles inside the
canvas; all 28 originals carry both, so converting them is redrawing, not
reformatting. They stay in source/ and the gap is written into the document.

verify-pipeline.py passes. audit-records.py reports no issues.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 22:51:59 +09:00

2.5 KiB

kind, slug, title, topic, project, status, sourceRevision, rootTreeNode, verifiedOn
kind slug title topic project status sourceRevision rootTreeNode verifiedOn
REFERENCE omission-that-passes-is-not-a-gate 빠뜨림이 통과가 되는 게이트는 게이트가 아니다 what-a-gate-does-not-prove clean-architecture-backend-template 게시 전 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 reference:omission-that-passes-is-not-a-gate

빠뜨림이 통과가 되는 게이트는 게이트가 아니다

목적

검사 대상 목록에서 빠진 것이 통과로 처리되어, 규칙이 새로 추가된 것에 대해 아무 말도 하지 않는 상태를 막는다.

규칙

  1. 목록은 닫혀 있어야 한다 카탈로그나 허용 목록은 실제 트리와 정확히 같은지 비교한다. 부분집합이면 나머지는 지배받지 않는다.

  2. 목록과 실제의 일치 자체를 검사한다 목록이 존재하는 것을 정확히 이름 대는지 확인하는 검사가 별도로 필요하다.

  3. 검사가 대상을 찾지 못하면 실패한다 소스 루트를 못 찾아 0개를 스캔하고 통과하는 경로를 막는다.

  4. 발견하지 못한 레인은 실패한다 선택 조건에 맞는 테스트가 0개면 성공이 아니다.

  5. 이름이 약속하는 것을 실제로 비교하는지 확인한다 인증이라는 이름의 레인이 무엇과 무엇을 비교하는지 센다.

적용 조건

허용 목록 카탈로그 매트릭스 등 열거로 규칙을 표현하는 모든 게이트

태그나 소스셋으로 선택되는 모든 테스트 레인

예외

의도적으로 부분집합만 다루는 검사는 그 경계가 문서에 있어야 한다. 경계가 적혀 있으면 빠뜨림이 아니라 범위다.

예시

모듈 경계 카탈로그가 열세 개를 담고 트리에 스물두 개가 있었다. 나머지 아홉 개 안의 새 간선은 초록불이었다.

인증이라 불리던 레인의 유일한 임계값 단언은 임계값이 단언되지 않고 있다는 것이었다.

여러 major 가 선택되면 첫 번째만 돌면서 전부에 대한 커버리지가 기록됐다.

관계

  • 패키지 카탈로그가 트리보다 아홉 개 적었고, 선언된 간선의 DAG 검사도 없었다 이 규칙을 만든 사례다.
  • certified라 불리던 레인이 threshold를 하나도 비교하지 않고 있었다 같은 규칙의 다른 형태다.
  • 아무것도 발견하지 못한 레인은 성공이 아니라 실패여야 한다 이 규칙의 레인 판이다.