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>
59 lines
3.7 KiB
Plaintext
59 lines
3.7 KiB
Plaintext
revision=a24ece9cf797f7ea647e33bf846b115208ed1ba5
|
|
executedAt=2026-08-29T15:01:54+00:00
|
|
cwd=/shared/codebase/clean-architecture-backend-template/src
|
|
command=./gradlew :adapter:outbound:persistence-jpa:jpaPlatformContractTest --tests "*AnalysisNotificationLadderProbe*" --console=plain
|
|
probe source=evidence/raw/119a-notification-migration-ladder-probe.java (temporary analysis test, removed after the run)
|
|
ladders measured: notification V1..V6 (ProjectionFactDurabilityContractTest), V1..V8 (RecipientClaimContractTest), V1..V9 (NotificationFixtures), V1..V10 (the deployed stream)
|
|
gitStatusBefore=0
|
|
|
|
> Task :build-logic:extractPluginRequests UP-TO-DATE
|
|
> Task :build-logic:generatePluginAdapters UP-TO-DATE
|
|
> Task :build-logic:compileJava UP-TO-DATE
|
|
> Task :build-logic:compileGroovy UP-TO-DATE
|
|
> Task :build-logic:compileGroovyPlugins UP-TO-DATE
|
|
> Task :build-logic:pluginDescriptors UP-TO-DATE
|
|
> Task :build-logic:processResources UP-TO-DATE
|
|
> Task :build-logic:classes UP-TO-DATE
|
|
> Task :build-logic:jar UP-TO-DATE
|
|
> Task :shared-contract:compileJava UP-TO-DATE
|
|
> Task :shared-contract:processResources UP-TO-DATE
|
|
> Task :shared-contract:classes UP-TO-DATE
|
|
> Task :shared-contract:jar UP-TO-DATE
|
|
> Task :application-core:compileJava UP-TO-DATE
|
|
> Task :application-core:processResources NO-SOURCE
|
|
> Task :application-core:classes UP-TO-DATE
|
|
> Task :application-core:jar UP-TO-DATE
|
|
> Task :adapter:outbound:persistence-jpa:compileJava UP-TO-DATE
|
|
> Task :adapter:outbound:persistence-jpa:processResources UP-TO-DATE
|
|
> Task :adapter:outbound:persistence-jpa:classes UP-TO-DATE
|
|
> Task :adapter:outbound:persistence-jpa:compileTestkitJava UP-TO-DATE
|
|
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
|
> Task :adapter:outbound:persistence-jpa:testkitClasses UP-TO-DATE
|
|
> Task :adapter:outbound:persistence-jpa:compilePostgresqlIntegrationTestJava
|
|
> Task :adapter:outbound:persistence-jpa:processPostgresqlIntegrationTestResources UP-TO-DATE
|
|
> Task :adapter:outbound:persistence-jpa:postgresqlIntegrationTestClasses
|
|
> Task :adapter:outbound:persistence-jpa:jpaPlatformContractTest
|
|
|
|
BUILD SUCCESSFUL in 14s
|
|
19 actionable tasks: 2 executed, 17 up-to-date
|
|
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
|
gradleExit=0
|
|
|
|
--- probe stdout ---
|
|
<system-out><![CDATA[15:01:57.070 [Test worker] INFO org.testcontainers.DockerClientFactory -- Testcontainers version: 2.0.5
|
|
Server Version: 29.6.1
|
|
API Version: 1.55
|
|
Operating System: Ubuntu 24.04.4 LTS
|
|
Total Memory: 32008 MB
|
|
ladder.notificationVersions=6 columns=208
|
|
ladder.notificationVersions=8 columns=213
|
|
ladder.notificationVersions=9 columns=218
|
|
ladder.notificationVersions=10 columns=218
|
|
ladder.notificationVersions=6 missingVersusV10=10
|
|
ladder.6.missing=[notification_admin_audit.claimed_at, notification_admin_audit.command_fingerprint, notification_admin_audit.phase, notification_delivery_attempt.provider_acceptance, notification_delivery_attempt.provider_acceptance_certainty, notification_delivery_attempt.provider_response_received_certainty, notification_delivery_attempt.request_body_committed_certainty, notification_delivery_attempt.request_started_certainty, notification_request.collapse_key, notification_request.collapse_scope]
|
|
ladder.notificationVersions=8 missingVersusV10=5
|
|
ladder.8.missing=[notification_delivery_attempt.provider_acceptance, notification_delivery_attempt.provider_acceptance_certainty, notification_delivery_attempt.provider_response_received_certainty, notification_delivery_attempt.request_body_committed_certainty, notification_delivery_attempt.request_started_certainty]
|
|
ladder.notificationVersions=9 missingVersusV10=0
|
|
ladder.9.missing=[]
|
|
]]></system-out>
|