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.3 KiB
2.3 KiB
kind, slug, title, topic, project, status, sourceRevision, rootTreeNode, evidenceCapturedOn, assets, evidence, source, module
| kind | slug | title | topic | project | status | sourceRevision | rootTreeNode | evidenceCapturedOn | assets | evidence | source | module | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CONCEPT | messaging-inbox-jdbc-postgresql-c07 | 커넥션을 요청하기 전에 거절하도록 고정한 테스트 | result-and-failure-algebra | clean-architecture-backend-template | 게시 전 | 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 | concept:messaging-inbox-jdbc-postgresql-c07 | 2026-09-01 |
|
|
|
messaging-inbox-jdbc-postgresql |
커넥션을 요청하기 전에 거절하도록 고정한 테스트
한 결함이 두 파일에 기록돼 있고, 그중 하나가 그것을 막는 테스트다. 그 테스트는 거절 시점까지 고정한다 — DataSource가 커넥션을 요청받는 순간 테스트가 실패하도록 만들어 두었다.
관계
- 컬럼 폭은 애플리케이션 검증과 짝을 이룬다 같은 분석 리프에서 끌어낸 규칙이다.
- 같은 안전 규칙은 한 공식과 한 강제 시점을 갖는다 같은 분석 리프에서 끌어낸 규칙이다.
본문
한 결함이 두 파일에 기록돼 있고, 그중 하나가 그것을 막는 테스트다. JdbcInboxRepository.reserve(Connection,…)의 javadoc과 JdbcInboxTransactionRequirementTest의 javadoc이 같은 결함을 각각 구현 쪽과 테스트 쪽에서 서술한다.
거절 시점을 데이터 소스로 고정한다
그 테스트가 "hermetic: the refusal has to happen before any connection is requested, and the data source below fails the test by being asked for one"이라고 자기 설계를 적는다. 거절이 커넥션 요청보다 먼저 일어나야 한다는 요구를, 요청받는 것만으로 실패하는 데이터 소스를 아래에 두어 검사 순서까지 고정한 것이다.
이 기록이 다루는 파일 범위
:::evidence key="messaging-inbox-jdbc-postgresql-c07" alt="코드베이스에서 파일 목록을 만든 출력 6줄. 이 기록이 다루는 범위가 그 목록이다." caption="코드베이스 파일 목록 — 6줄 · exit 0" zoom="true" :::