Files
document-haness/docs/clean-architecture-backend-template/final/evidence/raw/305-messaging-admin-api-test-lane.txt
T
DongHyeonkaandClaude Opus 5 b2963105a8 docs(keycloak-session-store): import the session-storage lab as a new project
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>
2026-09-04 22:51:59 +09:00

25 lines
1.4 KiB
Plaintext

# command: ./gradlew :messaging:messaging-admin-api:test --rerun-tasks --console=plain
# revision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916
# exit: 0
BUILD SUCCESSFUL in 10s
17 actionable tasks: 17 executed
name="dev.caskeleton.messaging.admin.DestructiveOperationGuardTest" tests="9" skipped="0" failures="0" errors="0"
TOTAL tests=9 failures=0 errors=0 skipped=0
# 이 리프는 production 타입 24개에 대해 자체 테스트 파일이 1개(147줄, 9건)뿐이다.
# 9건이 실제로 건드리는 타입:
# DestructiveOperationGuard 5건
# RedriveRequest 2건 (자기 참조 금지, 배치 상한)
# TopologyManifest 2건 (differencesFrom)
# + 픽스처를 통해 간접 사용: HmacApprovalVerifier, ApprovalGrant, AdminApproval,
# PlanDigest, VerifiedApproval, DestructiveOperation, DestinationName
#
# 나머지 타입의 불변식은 하류 리프 messaging-admin-runtime 의 테스트가 검증한다:
# ApprovalForgeryTest 10건 (위조/불일치/4-eyes/임계 초과)
# ApprovedPlanExecutionTest 11건 (만료/토폴로지 변경/루프 승인/결과 정산)
# AdminOperationJournalTest (리스, 재개, 펜싱)
# TopologyValidatorTest (BLOCKING/ADVISORY, requireAcceptable, requireSafeFor)
# => SSOT 소유 리프가 자기 불변식의 대부분을 하류 리프에서 검증받는 구조다.