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>
248 lines
14 KiB
Plaintext
248 lines
14 KiB
Plaintext
revision=a24ece9cf797f7ea647e33bf846b115208ed1ba5
|
|
executedAt=2026-08-29T14:46:23+00:00
|
|
cwd=/shared/codebase/clean-architecture-backend-template/src
|
|
command=./gradlew :adapter:outbound:persistence-jpa:{jpaPlatformContractTest,jpaPlatformMigrationTest,jpaPlatformFailureTest,jpaPlatformQueryPlanTest,jpaPlatformSecurityTest} --rerun-tasks --console=plain
|
|
gitStatusBefore=0
|
|
|
|
> Task :build-logic:extractPluginRequests
|
|
> Task :build-logic:generatePluginAdapters
|
|
> Task :build-logic:compileJava
|
|
> Task :build-logic:compileGroovy
|
|
> Task :build-logic:compileGroovyPlugins
|
|
> Task :build-logic:pluginDescriptors
|
|
> Task :build-logic:processResources
|
|
> Task :build-logic:classes
|
|
> Task :build-logic:jar
|
|
> Task :shared-contract:compileJava
|
|
> Task :shared-contract:processResources
|
|
> Task :shared-contract:classes
|
|
> Task :shared-contract:jar
|
|
> Task :application-core:compileJava
|
|
> Task :application-core:processResources NO-SOURCE
|
|
> Task :application-core:classes
|
|
> Task :application-core:jar
|
|
> Task :adapter:outbound:persistence-jpa:compileJava
|
|
> Task :adapter:outbound:persistence-jpa:processResources
|
|
> Task :adapter:outbound:persistence-jpa:classes
|
|
> Task :adapter:outbound:persistence-jpa:compileTestkitJava
|
|
> Task :adapter:outbound:persistence-jpa:processTestkitResources NO-SOURCE
|
|
> Task :adapter:outbound:persistence-jpa:testkitClasses
|
|
> Task :adapter:outbound:persistence-jpa:compilePostgresqlIntegrationTestJava
|
|
> Task :adapter:outbound:persistence-jpa:processPostgresqlIntegrationTestResources
|
|
> Task :adapter:outbound:persistence-jpa:postgresqlIntegrationTestClasses
|
|
> Task :adapter:outbound:persistence-jpa:jpaPlatformContractTest
|
|
> Task :adapter:outbound:persistence-jpa:jpaPlatformMigrationTest
|
|
> Task :adapter:outbound:persistence-jpa:jpaPlatformFailureTest
|
|
> Task :adapter:outbound:persistence-jpa:jpaPlatformQueryPlanTest
|
|
> Task :adapter:outbound:persistence-jpa:jpaPlatformSecurityTest
|
|
|
|
BUILD SUCCESSFUL in 3m 10s
|
|
23 actionable tasks: 23 executed
|
|
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.0.0/userguide/configuration_cache_enabling.html
|
|
tagLanesExit=0
|
|
gitStatusAfter=0
|
|
|
|
=== readiness card producers (verifyJpaCandidateEvidence) ===
|
|
command=./gradlew :adapter:outbound:persistence-jpa:verifyJpaCandidateEvidence --console=plain
|
|
> 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 :verifyCleanArchitectureDependencies
|
|
> 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:support:compileJava UP-TO-DATE
|
|
> Task :adapter:outbound:support:processResources NO-SOURCE
|
|
> Task :adapter:outbound:support:classes UP-TO-DATE
|
|
> Task :adapter:outbound:support:jar UP-TO-DATE
|
|
> Task :adapter:outbound:cache-redis:compileJava UP-TO-DATE
|
|
|
|
> Task :verifyEnvKeys
|
|
verifyEnvKeys: OK — 341 env keys, 6 required placeholders covered, 225 application APP_ references registered, 61 typed properties registered, 338 rows with a consumer or a deprecation.
|
|
|
|
> Task :verifyJpaReadinessRegistryContract
|
|
verifyJpaReadinessRegistryContract: OK — unknown card, duplicate task, missing prerequisite, cycle, duplicate migration ownership, missing selected task, and malformed evidence ownership all fail closed.
|
|
|
|
> Task :verifyJpaReadinessRegistry
|
|
verifyJpaReadinessRegistry: OK — 17 exact cards, 9 owned migration streams, acyclic prerequisites, unique tasks/locations/history tables, and selected task existence verified.
|
|
|
|
> Task :verifyPublicPathSnapshot
|
|
verifyPublicPathSnapshot: OK — committed public paths are unchanged.
|
|
|
|
> Task :domain-core:compileJava UP-TO-DATE
|
|
> Task :domain-core:processResources NO-SOURCE
|
|
> Task :domain-core:classes UP-TO-DATE
|
|
> Task :domain-core:jar UP-TO-DATE
|
|
> Task :messaging:messaging-core-api:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-observability:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-schema-api:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-policy:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-reliability-api:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-security:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-admin-api:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-transport-spi:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-admin-runtime:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-claim-check:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-cloudevents:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-inbox-jdbc-postgresql:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-kafka:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-outbox-jdbc-postgresql:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-rabbit:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-runtime-core:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-schema-json:compileJava UP-TO-DATE
|
|
> Task :messaging:messaging-spring-boot-starter:compileJava UP-TO-DATE
|
|
> Task :adapter:inbound:graphql:compileJava UP-TO-DATE
|
|
> Task :adapter:inbound:graphql:processResources UP-TO-DATE
|
|
> Task :adapter:inbound:graphql:classes UP-TO-DATE
|
|
> Task :adapter:inbound:graphql:jar UP-TO-DATE
|
|
> Task :adapter:inbound:web:compileJava UP-TO-DATE
|
|
> Task :adapter:inbound:web:processResources UP-TO-DATE
|
|
> Task :adapter:inbound:web:classes UP-TO-DATE
|
|
> Task :adapter:inbound:web:jar UP-TO-DATE
|
|
> Task :adapter:outbound:cache-redis:processResources UP-TO-DATE
|
|
> Task :adapter:outbound:cache-redis:classes UP-TO-DATE
|
|
> Task :adapter:outbound:cache-redis:jar UP-TO-DATE
|
|
> Task :adapter:outbound:fileserver:compileJava UP-TO-DATE
|
|
> Task :adapter:outbound:fileserver:processResources NO-SOURCE
|
|
> Task :adapter:outbound:fileserver:classes UP-TO-DATE
|
|
> Task :adapter:outbound:fileserver:jar UP-TO-DATE
|
|
> Task :adapter:outbound:httpclient:compileJava UP-TO-DATE
|
|
> Task :adapter:outbound:httpclient:processResources NO-SOURCE
|
|
> Task :adapter:outbound:httpclient:classes UP-TO-DATE
|
|
> Task :adapter:outbound:httpclient:jar UP-TO-DATE
|
|
> Task :adapter:outbound:identifier:compileJava UP-TO-DATE
|
|
> Task :adapter:outbound:identifier:compileGroovy NO-SOURCE
|
|
> Task :adapter:outbound:identifier:processResources NO-SOURCE
|
|
> Task :adapter:outbound:identifier:classes UP-TO-DATE
|
|
> Task :adapter:outbound:identifier:jar UP-TO-DATE
|
|
> Task :adapter:outbound:messaging:compileJava UP-TO-DATE
|
|
> Task :adapter:outbound:messaging:processResources UP-TO-DATE
|
|
> Task :adapter:outbound:messaging:classes UP-TO-DATE
|
|
> Task :adapter:outbound:messaging:jar UP-TO-DATE
|
|
> Task :adapter:outbound:notification:compileJava UP-TO-DATE
|
|
> Task :adapter:outbound:notification:processResources NO-SOURCE
|
|
> Task :adapter:outbound:notification:classes UP-TO-DATE
|
|
> Task :adapter:outbound:notification: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:jar UP-TO-DATE
|
|
> Task :adapter:outbound:persistence-mongo:compileJava UP-TO-DATE
|
|
> Task :adapter:outbound:persistence-mongo:processResources UP-TO-DATE
|
|
> Task :adapter:outbound:persistence-mongo:classes UP-TO-DATE
|
|
> Task :adapter:outbound:persistence-mongo:jar UP-TO-DATE
|
|
> Task :app-bootstrap:compileJava UP-TO-DATE
|
|
> Task :app-bootstrap:processResources UP-TO-DATE
|
|
> Task :app-bootstrap:classes UP-TO-DATE
|
|
> Task :sample-portfolio:compileJava UP-TO-DATE
|
|
> Task :sample-portfolio:processResources UP-TO-DATE
|
|
> Task :sample-portfolio:classes UP-TO-DATE
|
|
> Task :sample-portfolio:jar UP-TO-DATE
|
|
> Task :adapter:inbound:web:compileTestkitJava UP-TO-DATE
|
|
> Task :adapter:inbound:web:processTestkitResources UP-TO-DATE
|
|
> Task :adapter:inbound:web:testkitClasses UP-TO-DATE
|
|
> Task :adapter:inbound:web:testkitJar 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:testkitJar UP-TO-DATE
|
|
> Task :app-bootstrap:compileTestJava UP-TO-DATE
|
|
> Task :app-bootstrap:runtimeClasspathManifest UP-TO-DATE
|
|
> Task :app-bootstrap:processTestResources UP-TO-DATE
|
|
> Task :app-bootstrap:testClasses UP-TO-DATE
|
|
> Task :messaging:messaging-admin-api:processResources NO-SOURCE
|
|
> Task :messaging:messaging-admin-api:classes UP-TO-DATE
|
|
> Task :messaging:messaging-admin-api:jar UP-TO-DATE
|
|
> Task :messaging:messaging-admin-runtime:processResources NO-SOURCE
|
|
> Task :messaging:messaging-admin-runtime:classes UP-TO-DATE
|
|
> Task :messaging:messaging-admin-runtime:jar UP-TO-DATE
|
|
> Task :messaging:messaging-claim-check:processResources NO-SOURCE
|
|
> Task :messaging:messaging-claim-check:classes UP-TO-DATE
|
|
> Task :messaging:messaging-claim-check:jar UP-TO-DATE
|
|
> Task :messaging:messaging-cloudevents:processResources NO-SOURCE
|
|
> Task :messaging:messaging-cloudevents:classes UP-TO-DATE
|
|
> Task :messaging:messaging-cloudevents:jar UP-TO-DATE
|
|
> Task :messaging:messaging-core-api:processResources NO-SOURCE
|
|
> Task :messaging:messaging-core-api:classes UP-TO-DATE
|
|
> Task :messaging:messaging-core-api:jar UP-TO-DATE
|
|
> Task :messaging:messaging-inbox-jdbc-postgresql:processResources UP-TO-DATE
|
|
> Task :messaging:messaging-inbox-jdbc-postgresql:classes UP-TO-DATE
|
|
> Task :messaging:messaging-inbox-jdbc-postgresql:jar UP-TO-DATE
|
|
> Task :messaging:messaging-kafka:processResources NO-SOURCE
|
|
> Task :messaging:messaging-kafka:classes UP-TO-DATE
|
|
> Task :messaging:messaging-kafka:jar UP-TO-DATE
|
|
> Task :messaging:messaging-observability:processResources NO-SOURCE
|
|
> Task :messaging:messaging-observability:classes UP-TO-DATE
|
|
> Task :messaging:messaging-observability:jar UP-TO-DATE
|
|
> Task :messaging:messaging-outbox-jdbc-postgresql:processResources UP-TO-DATE
|
|
> Task :messaging:messaging-outbox-jdbc-postgresql:classes UP-TO-DATE
|
|
> Task :messaging:messaging-outbox-jdbc-postgresql:jar UP-TO-DATE
|
|
> Task :messaging:messaging-policy:processResources NO-SOURCE
|
|
> Task :messaging:messaging-policy:classes UP-TO-DATE
|
|
> Task :messaging:messaging-policy:jar UP-TO-DATE
|
|
> Task :messaging:messaging-rabbit:processResources NO-SOURCE
|
|
> Task :messaging:messaging-rabbit:classes UP-TO-DATE
|
|
> Task :messaging:messaging-rabbit:jar UP-TO-DATE
|
|
> Task :messaging:messaging-reliability-api:processResources NO-SOURCE
|
|
> Task :messaging:messaging-reliability-api:classes UP-TO-DATE
|
|
> Task :messaging:messaging-reliability-api:jar UP-TO-DATE
|
|
> Task :messaging:messaging-runtime-core:processResources NO-SOURCE
|
|
> Task :messaging:messaging-runtime-core:classes UP-TO-DATE
|
|
> Task :messaging:messaging-runtime-core:jar UP-TO-DATE
|
|
> Task :messaging:messaging-schema-api:processResources NO-SOURCE
|
|
> Task :messaging:messaging-schema-api:classes UP-TO-DATE
|
|
> Task :messaging:messaging-schema-api:jar UP-TO-DATE
|
|
> Task :messaging:messaging-schema-json:processResources NO-SOURCE
|
|
> Task :messaging:messaging-schema-json:classes UP-TO-DATE
|
|
> Task :messaging:messaging-schema-json:jar UP-TO-DATE
|
|
> Task :messaging:messaging-security:processResources NO-SOURCE
|
|
> Task :messaging:messaging-security:classes UP-TO-DATE
|
|
> Task :messaging:messaging-security:jar UP-TO-DATE
|
|
> Task :messaging:messaging-spring-boot-starter:processResources UP-TO-DATE
|
|
> Task :messaging:messaging-spring-boot-starter:classes UP-TO-DATE
|
|
> Task :messaging:messaging-spring-boot-starter:jar UP-TO-DATE
|
|
> Task :messaging:messaging-transport-spi:processResources NO-SOURCE
|
|
> Task :messaging:messaging-transport-spi:classes UP-TO-DATE
|
|
> Task :messaging:messaging-transport-spi:jar UP-TO-DATE
|
|
> Task :adapter:outbound:objectstorage:compileJava UP-TO-DATE
|
|
> Task :adapter:outbound:objectstorage:processResources NO-SOURCE
|
|
> Task :adapter:outbound:objectstorage:classes UP-TO-DATE
|
|
> Task :adapter:outbound:objectstorage:jar UP-TO-DATE
|
|
> Task :app-bootstrap:test
|
|
|
|
ComposeMergeCharacterizationTest > every lane renders exactly the services its contract names FAILED
|
|
org.opentest4j.AssertionFailedError at ComposeMergeCharacterizationTest.java:62
|
|
|
|
{"@timestamp":"2026-08-29T14:52:19.095Z","@version":"1","message":"Closing JPA EntityManagerFactory for persistence unit 'default'","logger_name":"LocalContainerEntityManagerFactoryBean","thread_name":"SpringApplicationShutdownHook","level":"INFO","level_value":20000,"tags":["COMMONS-LOGGING"],"app":"ca-skeleton","profile":"local"}
|
|
{"@timestamp":"2026-08-29T14:52:19.097Z","@version":"1","message":"HikariPool-6 - Shutdown initiated...","logger_name":"HikariDataSource","thread_name":"SpringApplicationShutdownHook","level":"INFO","level_value":20000,"app":"ca-skeleton","profile":"local"}
|
|
{"@timestamp":"2026-08-29T14:52:19.099Z","@version":"1","message":"HikariPool-6 - Shutdown completed.","logger_name":"HikariDataSource","thread_name":"SpringApplicationShutdownHook","level":"INFO","level_value":20000,"app":"ca-skeleton","profile":"local"}
|
|
|
|
> Task :app-bootstrap:test FAILED
|
|
|
|
1016 tests completed, 1 failed, 4 skipped
|
|
|
|
FAILURE: Build failed with an exception.
|
|
|
|
* What went wrong:
|
|
Execution failed for task ':app-bootstrap:test'.
|
|
> There were failing tests. See the report at: file:///shared/codebase/clean-architecture-backend-template/src/app-bootstrap/build/reports/tests/test/index.html
|
|
|
|
* Try:
|
|
> Run with --scan to generate a Build Scan (Powered by Develocity).
|
|
|
|
BUILD FAILED in 1m 40s
|
|
103 actionable tasks: 6 executed, 97 up-to-date
|
|
candidateEvidenceExit=1
|
|
gitStatusAfterAll=0
|