{ "assetKey": "a-digest-that-covered-who-but-not-what", "kind": "terminal", "command": "P=src/adapter/outbound/persistence-jpa/src/main/java/dev/caskeleton/adapter/outbound/persistence/postgresql/idempotency/IdempotencyDigestPolicy.java; S=src/adapter/outbound/persistence-jpa/src/main/java/dev/caskeleton/adapter/outbound/persistence/postgresql/idempotency/PostgreSqlOwnerSafeIdempotencyStore.java; echo '# 다이제스트가 덮던 다섯 성분과 그때 같아지던 쌍'; sed -n '17,26p' $P; echo; echo '# 지금 각 호출부가 실제로 넘기는 의미 인자'; grep -n 'transitionDigest(\"START\"\\|transitionDigest(\"RENEW\"\\|transitionDigest(\"RELEASE\"' $S; sed -n '279,285p' $S; sed -n '308,318p' $S; echo; echo '# 이어 붙일 때 각 성분 앞에 적는 길이와, 해시가 실제로 먹는 바이트'; sed -n '71,72p' $P; grep -n 'getBytes(StandardCharsets' $P; grep -n 'VERSION' $P | head -2; echo; echo '# 그런데 완료 재생 분기는 이 다이제스트를 비교하지 않는다'; sed -n '261,266p' $S", "cwd": "/shared/codebase/clean-architecture-backend-template", "exitCode": 0, "executedAt": "2026-09-02T01:18:37+00:00", "sourceRevision": "21234e38cdb9a926cbc92bb97a2aee2e4a7d2916", "raw": "evidence/raw/a-digest-that-covered-who-but-not-what.txt", "svg": "evidence/rendered/a-digest-that-covered-who-but-not-what.svg", "rawSha256": "cb834fc0bab35ff6fc13a96e6a9ef1d5fa49dae1ec590a458940a837f4796b2f", "lines": 49, "redaction": "none — 분석 문서 머리" }