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>
41 lines
2.5 KiB
Plaintext
41 lines
2.5 KiB
Plaintext
Source revision: a24ece9cf797f7ea647e33bf846b115208ed1ba5
|
|
Repository: /shared/codebase/clean-architecture-backend-template
|
|
Gradle cwd: /shared/codebase/clean-architecture-backend-template/src
|
|
|
|
009 executed at: 2026-08-29T06:39:25Z
|
|
009 command: ./gradlew :application-core:test --rerun-tasks
|
|
009 exit: 0
|
|
009 raw stdout/stderr: evidence/raw/009-application-core-test.txt
|
|
|
|
010a executed at: 2026-08-29T06:39:57Z
|
|
010a command: ./gradlew :application-core:messagingApplicationContractQualificationTest --rerun-tasks
|
|
010a exit: 1
|
|
010a raw excerpt/reproduction record: evidence/raw/010a-messaging-qualification-missing-attestation.txt
|
|
|
|
010 source digest method: git archive HEAD | sha256sum
|
|
010 source digest: sha256:e52b60c97a9496a0b18dc03f9232c295da37de7c0f56e692d000660eef0e370a
|
|
010 artifact: application-core/build/libs/application-core-0.0.1+a24ece9cf797.jar
|
|
010 artifact digest: sha256:6fd061854ad9a8631b65f5940f2a0792241d688aa4c11efcf392662109965942
|
|
010 profile: config/messaging/profile-compatibility.yaml
|
|
010 profile digest: sha256:7ac987233951a4d0427ac9e731a20df3a1c4aa1c15f30a5ed2b1e6c280b72afd
|
|
010 executed at: 2026-08-29T06:41:19Z
|
|
010 command: ./gradlew :application-core:messagingApplicationContractQualificationTest --rerun-tasks -PmessagingSourceDigest=sha256:e52b60c97a9496a0b18dc03f9232c295da37de7c0f56e692d000660eef0e370a -PmessagingArtifactDigest=sha256:6fd061854ad9a8631b65f5940f2a0792241d688aa4c11efcf392662109965942 -PmessagingProfileHash=sha256:7ac987233951a4d0427ac9e731a20df3a1c4aa1c15f30a5ed2b1e6c280b72afd
|
|
010 exit: 0
|
|
010 raw stdout/stderr: evidence/raw/010-application-core-messaging-qualification.txt
|
|
|
|
011 executed at: 2026-08-29T06:41:43Z
|
|
011 command: ./gradlew :app-bootstrap:test --tests dev.caskeleton.bootstrap.architecture.CleanArchitectureTest --rerun-tasks
|
|
011 exit: 0
|
|
011 raw stdout/stderr: evidence/raw/011-clean-architecture-test.txt
|
|
|
|
012 executed at: 2026-08-29T06:43:33Z
|
|
012 command: ./gradlew verifyCleanArchitectureDependencies
|
|
012 exit: 0
|
|
012 raw stdout/stderr: evidence/raw/012-verify-clean-architecture-dependencies.txt
|
|
|
|
013 executed at: 2026-08-29T06:43:52Z
|
|
013 exact reproduction script: evidence/raw/013-application-core-reachability-command.sh
|
|
013 exit: 0
|
|
013 raw stdout: evidence/raw/013-application-core-reachability.txt
|
|
013 observation boundary: scans textual application-package imports/references in production Java source outside application-core; it does not establish runtime execution of every type and does not cover generated/reflection-only registration.
|