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>
15 lines
2.9 KiB
JSON
15 lines
2.9 KiB
JSON
{
|
|
"assetKey": "a12-f001-check-verifyjsonschemaruntimegraph-run",
|
|
"kind": "terminal",
|
|
"command": "set -o pipefail\ncd /shared/codebase/clean-architecture-backend-template/src\n./gradlew --version 2>/dev/null | grep -E \"^Gradle\" | head -1\n\necho\necho \"[check 에 붙은 태스크를 그대로 실행]\"\n./gradlew :adapter:outbound:messaging:verifyJsonSchemaRuntimeGraph --offline -q > /tmp/vjs.out 2>&1\ncode=$?\ngrep -E \"^Execution failed|^> Messaging\" /tmp/vjs.out | sed \"s/^/ /\"\necho \" EXIT=$code\"\nrm -f /tmp/vjs.out\n\necho\necho \"[CI 가 부르는 check 가 이 태스크에 닿는가]\"\n./gradlew check --dry-run --offline -q 2>/dev/null \\\n | grep -E \"outbound:messaging:(verifyJsonSchemaRuntimeGraph|check)\" | sed \"s/^/ /\"\n\necho\necho \"[태스크가 요구하는 좌표]\"\nsed -n \"51,53p\" adapter/outbound/messaging/build.gradle | tr -d \" ',\"\n\necho\necho \"[잠금 파일이 고정한 좌표]\"\ngrep -E \"^(com\\.networknt|tools\\.jackson)\" adapter/outbound/messaging/gradle.lockfile \\\n | cut -d= -f1 | sed \"s/^/ /\"\n\necho\necho \"[태스크를 쓴 시점의 잠금 파일]\"\ncd /shared/codebase/clean-architecture-backend-template\ngit log --oneline -1 --format=\" %h %ad %s\" --date=short -L 50,59:src/adapter/outbound/messaging/build.gradle 2>/dev/null | head -1\ngit show e5af2912:src/adapter/outbound/messaging/gradle.lockfile 2>/dev/null \\\n | grep -E \"^(com\\.networknt|tools\\.jackson)\" | cut -d= -f1 | sed \"s/^/ /\"\n\necho\necho \"[잠금 파일을 움직인 커밋]\"\ngit log --oneline -1 -S\"tools.jackson.core:jackson-core:3.1.5\" --format=\" %h %ad %s\" --date=short \\\n -- src/adapter/outbound/messaging/gradle.lockfile\ngit show a24ece9c -- src/adapter/outbound/messaging/gradle.lockfile \\\n | grep -E \"^[+-](tools\\.jackson|com\\.fasterxml)\" | cut -d= -f1 | sed \"s/^/ /\"\nprintf \" 그 커밋이 건드린 파일 수 : %s\\n\" \"$(git show --name-only --format= a24ece9c | grep -c .)\"\nprintf \" 그중 messaging/build.gradle : %s 건\\n\" \"$(git show --name-only --format= a24ece9c | grep -c 'messaging/build.gradle')\"\n\necho\necho \"[그 전에 초록이던 기록]\"\nL=docs/superpowers/plans/evidence/2026-08-15-wave6-final/task1-check.log\nsed -n \"2p\" $L | sed \"s/^/ /\"\ngrep -n \"outbound:messaging:verifyJsonSchemaRuntimeGraph\" $L | head -1 | sed \"s/^/ /\"\ngrep -nE \"^BUILD SUCCESSFUL|^exit=\" $L | sed \"s/^/ /\"\ntrue\n",
|
|
"cwd": "/shared/codebase/clean-architecture-backend-template",
|
|
"exitCode": 0,
|
|
"executedAt": "2026-09-02T14:31:30+00:00",
|
|
"sourceRevision": "21234e38cdb9a926cbc92bb97a2aee2e4a7d2916",
|
|
"raw": "evidence/raw/a12-f001-check-verifyjsonschemaruntimegraph-run.txt",
|
|
"svg": "evidence/rendered/a12-f001-check-verifyjsonschemaruntimegraph-run.svg",
|
|
"rawSha256": "ae4ccb56017ae8dbce7b98f97c9bccffb929955bd9e7175e45919b32a884700c",
|
|
"lines": 49,
|
|
"redaction": "none — Gradle 실행 및 이력 조회 출력"
|
|
}
|