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>
2.0 KiB
2.0 KiB
kind, slug, title, topic, project, status, sourceRevision, rootTreeNode, verifiedOn, source
| kind | slug | title | topic | project | status | sourceRevision | rootTreeNode | verifiedOn | source | |
|---|---|---|---|---|---|---|---|---|---|---|
| REFERENCE | messaging-kafka-share-experimental-f06 | 에러 메시지가 지시하는 설정은 그 설정을 읽는 코드와 함께 존재해야 한다 | transport-and-provider-semantics | clean-architecture-backend-template | 게시 전 | 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 | reference:messaging-kafka-share-experimental-f06 |
|
에러 메시지가 지시하는 설정은 그 설정을 읽는 코드와 함께 존재해야 한다
관계
- "등록"이 아무것도 등록하지 않고 성공을 반환한다 이 규칙의 근거는 같은 분석 리프의 판정이 소유한다.
목적
운영자는 에러 메시지가 시키는 대로 프로퍼티를 설정하고, 아무 일도 일어나지 않는 것을 본다. 그때 의심할 대상이 자기 오타인지 코드인지 판단할 근거가 없다.
규칙
-
에러 메시지에 등장하는 프로퍼티 키를 저장소에서 검색한다 KAFKA_SHARE_DISABLED 메시지가 backend.messaging.experimental.kafka-share=true 를 지시한다. git grep -n 'kafka-share' -- src 는 이 leaf 의 문자열 하나만 돌려준다.
-
그 키를 읽는 바인딩이 있는지 확인한다 enabled 는 KafkaShareProfile 생성자 인자이고, 그 profile 을 만드는 production 코드가 없다.
-
바인딩이 없으면 메시지에서 키를 빼거나 바인딩을 함께 만든다 지시가 실행 가능해야 지시다.
적용 조건
실패 메시지가 복구 방법을 문장으로 제시하는 모든 자리.
예외
SSOT 가 이 규칙의 반례를 적지 않았다. 배선 계획이 확정된 키를 미리 안내하는 경우가 있다면 그 사실이 메시지 자체에 있어야 한다.
예시
git grep -n 'kafka-share' -- src 의 결과가 문자열 하나라는 것과, KafkaShareProfile 을 만드는 production 코드가 없다는 것.