refactor: 문서 개선 중

This commit is contained in:
donghyeon-ka
2026-09-21 14:30:55 +09:00
parent c93cdea150
commit 805a18f486
1497 changed files with 525837 additions and 59152 deletions
@@ -0,0 +1,907 @@
{
"schemaVersion": 1,
"project": "keycloak-session-store",
"reviewDate": "2026-09-20",
"scope": "current project-level command audit after labeled-fence parser remediation",
"mode": "reference",
"reviewBasis": "2026-09-20 keycloak-session-store follow-up validation review",
"analyzer": "scripts/check-command-pedagogy.py",
"summary": {
"records": 33,
"shellBlocks": 992,
"findings": 53,
"majorFindings": 0,
"textLikeCommandBlocks": 15
},
"findingCodes": {
"hidden-stderr": 48,
"compound-remote-shell": 5
},
"projectVerdict": "PASS",
"notes": [
"33 command-bearing Records and 992 shell blocks were re-analyzed from the current worktree.",
"53 deterministic findings remain: hidden-stderr 48 and compound-remote-shell 5; major findings are 0.",
"15 command-like text fences remain review signals and were not auto-converted to shell.",
"Historical per-record runs are not rewritten. This artifact is the current project-level audit requested by the follow-up review."
],
"records": [
{
"record": "docs/keycloak-session-store/tech-log-studio/losing-a-node-or-the-store/case/case-200ms-of-delay-became-22-seconds.md",
"sourceSha256": "e5d1f4226e6ca5ea22d907f9d5ac21cdf8211450ff570b19eec8552c85517673",
"mode": "reference",
"shellBlocks": 1,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/losing-a-node-or-the-store/case/case-ghost-rows-are-cleaned-by-the-surviving-coordinator.md",
"sourceSha256": "76dba710df24a1eaea3835977a1895b3ff6263e6223a8116479a6b4ccab17063",
"mode": "reference",
"shellBlocks": 1,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/losing-a-node-or-the-store/setup/setup-reproduce-a2-database-loss.md",
"sourceSha256": "9a7e5fa9220b99918da001259a3809efd14c425c80bf84253f1ee00b0214f0bf",
"mode": "reference",
"shellBlocks": 39,
"findings": 1,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [
{
"blockId": "command-010",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/losing-a-node-or-the-store/setup/setup-reproduce-a3-database-crash.md",
"sourceSha256": "5d93cbd662a5025e67e6d01152841eef9e618d51fe19f0139e7b99bb891591f2",
"mode": "reference",
"shellBlocks": 42,
"findings": 1,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [
{
"blockId": "command-014",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/losing-a-node-or-the-store/setup/setup-reproduce-a4-node-loss.md",
"sourceSha256": "6f1460232afa1508502e5394bb35278b85d33b14f5c82819bfec9e15a47cc834",
"mode": "reference",
"shellBlocks": 54,
"findings": 1,
"majorFindings": 0,
"textLikeCommandBlocks": 10,
"findingDetails": [
{
"blockId": "command-046",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [
{
"id": "text-command-like-008",
"sourceSha256": "7d028862df2a71976975f3907602910ca52e82a673d4f2d9664eb5723f79a519",
"disposition": "REVIEWED_REFERENCE_TEXT",
"reason": "복사 실행 절차로 자동 변환하지 않는다. 후속 리뷰에서 text/reference 문맥으로 유지하기로 확인했다."
},
{
"id": "text-command-like-009",
"sourceSha256": "6d22b9d26af5f5097832bc24952c14dc737c8d2bb556c8dac6c88393e820d852",
"disposition": "REVIEWED_REFERENCE_TEXT",
"reason": "복사 실행 절차로 자동 변환하지 않는다. 후속 리뷰에서 text/reference 문맥으로 유지하기로 확인했다."
},
{
"id": "text-command-like-013",
"sourceSha256": "592879e677170193cab69e156ba5bd3f42a7cecc6277e79964bdf0a56a957739",
"disposition": "REVIEWED_REFERENCE_TEXT",
"reason": "복사 실행 절차로 자동 변환하지 않는다. 후속 리뷰에서 text/reference 문맥으로 유지하기로 확인했다."
},
{
"id": "text-command-like-014",
"sourceSha256": "85d8e294b2df6fe35eed6adf7f6f1d3361838f684b566a8d308d45eed48a7d48",
"disposition": "REVIEWED_REFERENCE_TEXT",
"reason": "복사 실행 절차로 자동 변환하지 않는다. 후속 리뷰에서 text/reference 문맥으로 유지하기로 확인했다."
},
{
"id": "text-command-like-015",
"sourceSha256": "afb386f63845a26dbc4cb7b25302ac0edca59860166be477e216f11f0a44ee12",
"disposition": "REVIEWED_REFERENCE_TEXT",
"reason": "복사 실행 절차로 자동 변환하지 않는다. 후속 리뷰에서 text/reference 문맥으로 유지하기로 확인했다."
},
{
"id": "text-command-like-016",
"sourceSha256": "02bc6f5f747ec3f0bdf2c0194f382a28ff84043fb54bac1a088a027cc8a4f11d",
"disposition": "REVIEWED_REFERENCE_TEXT",
"reason": "복사 실행 절차로 자동 변환하지 않는다. 후속 리뷰에서 text/reference 문맥으로 유지하기로 확인했다."
},
{
"id": "text-command-like-019",
"sourceSha256": "f98fdcbb9ef60c3b0f208aae9d7b722c730c63fa4a4cce5e3531a1f64413d1a4",
"disposition": "REVIEWED_REFERENCE_TEXT",
"reason": "복사 실행 절차로 자동 변환하지 않는다. 후속 리뷰에서 text/reference 문맥으로 유지하기로 확인했다."
},
{
"id": "text-command-like-020",
"sourceSha256": "8beb46dd90f0acfa46163cdeeaae8073e0c1fb13ac639f6cbe998c80e04f383a",
"disposition": "REVIEWED_REFERENCE_TEXT",
"reason": "복사 실행 절차로 자동 변환하지 않는다. 후속 리뷰에서 text/reference 문맥으로 유지하기로 확인했다."
},
{
"id": "text-command-like-026",
"sourceSha256": "872dc9637fafa5ee8a5da72baa0765166e166073e6548da0f6e675e2e4a50d9a",
"disposition": "REVIEWED_REFERENCE_TEXT",
"reason": "복사 실행 절차로 자동 변환하지 않는다. 후속 리뷰에서 text/reference 문맥으로 유지하기로 확인했다."
},
{
"id": "text-command-like-028",
"sourceSha256": "2902d5d9f531d30e6646b94c319aa7cb3b2085354952c7bfaabcf606203ed27c",
"disposition": "REVIEWED_REFERENCE_TEXT",
"reason": "복사 실행 절차로 자동 변환하지 않는다. 후속 리뷰에서 text/reference 문맥으로 유지하기로 확인했다."
}
],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/losing-a-node-or-the-store/setup/setup-reproduce-a5-asymmetric-partition.md",
"sourceSha256": "654fb69b05699e22fea12b3832404119d15dd2a53a7c596f2e9a815dce18826f",
"mode": "reference",
"shellBlocks": 58,
"findings": 4,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [
{
"blockId": "command-001",
"code": "compound-remote-shell",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-012",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-014",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-041",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/losing-a-node-or-the-store/setup/setup-reproduce-a6-latency-injection.md",
"sourceSha256": "14f46a09249856539ff4fb1d52b1379c1123be8e61e42c6d5f1fa1f7d21299e9",
"mode": "reference",
"shellBlocks": 41,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/operations-that-report-success/setup/setup-reproduce-d1-backup-restore.md",
"sourceSha256": "2dc589f9367ac9838084534099797fe8e5ec8ab536f6434621a9eedd30b2c48d",
"mode": "reference",
"shellBlocks": 31,
"findings": 1,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [
{
"blockId": "command-025",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/operations-that-report-success/setup/setup-reproduce-d2-version-upgrade.md",
"sourceSha256": "5185e6b3c2b402f0c56e771823fb49304c64e0eb0b948a9affae3fde7fde02c1",
"mode": "reference",
"shellBlocks": 32,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/operations-that-report-success/setup/setup-reproduce-d3-secret-exposure.md",
"sourceSha256": "f868aa7e2da3ec5e67fa824340dffbfb7244c66f8de8a4c9ab4b83bad9eb304a",
"mode": "reference",
"shellBlocks": 20,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/operations-that-report-success/setup/setup-reproduce-d4-certificate-renewal.md",
"sourceSha256": "2e7fc8f1bbb92d16a78211edc3764e719af335257ace8805826d0ef8599aa2ca",
"mode": "reference",
"shellBlocks": 55,
"findings": 10,
"majorFindings": 0,
"textLikeCommandBlocks": 3,
"findingDetails": [
{
"blockId": "command-003",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-004",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-005",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-006",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-010",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-023",
"code": "compound-remote-shell",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-029",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-034",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-046",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-050",
"code": "compound-remote-shell",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [
{
"id": "text-command-like-007",
"sourceSha256": "32328993230d18de75cab9d9998fdd34512a7d5db517dd6df98c2fc7dbc234fd",
"disposition": "REVIEWED_REFERENCE_TEXT",
"reason": "복사 실행 절차로 자동 변환하지 않는다. 후속 리뷰에서 text/reference 문맥으로 유지하기로 확인했다."
},
{
"id": "text-command-like-017",
"sourceSha256": "b60a9d4e0186af37289b25ce7548c2d7f85e23a17a17a8e7d53d9065d49425d3",
"disposition": "REVIEWED_REFERENCE_TEXT",
"reason": "복사 실행 절차로 자동 변환하지 않는다. 후속 리뷰에서 text/reference 문맥으로 유지하기로 확인했다."
},
{
"id": "text-command-like-040",
"sourceSha256": "57e8bb3b2c14e8cafa8d185f283167008c1361a0d736e6844b9c810e692c433c",
"disposition": "REVIEWED_REFERENCE_TEXT",
"reason": "복사 실행 절차로 자동 변환하지 않는다. 후속 리뷰에서 text/reference 문맥으로 유지하기로 확인했다."
}
],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/operations-that-report-success/setup/setup-reproduce-d4a-deploy-hook.md",
"sourceSha256": "8a4b1e7f1b09159a2411e1313a1a53d5b5d24fd652a9dc8be3d26d2e3b518f57",
"mode": "reference",
"shellBlocks": 39,
"findings": 11,
"majorFindings": 0,
"textLikeCommandBlocks": 1,
"findingDetails": [
{
"blockId": "command-003",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-004",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-009",
"code": "compound-remote-shell",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-015",
"code": "compound-remote-shell",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-019",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-025",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-026",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-030",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-034",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-035",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-039",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [
{
"id": "text-command-like-007",
"sourceSha256": "b60a9d4e0186af37289b25ce7548c2d7f85e23a17a17a8e7d53d9065d49425d3",
"disposition": "REVIEWED_REFERENCE_TEXT",
"reason": "복사 실행 절차로 자동 변환하지 않는다. 후속 리뷰에서 text/reference 문맥으로 유지하기로 확인했다."
}
],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/session-custody-across-nodes/setup/setup-reproduce-a0-session-sharing-path.md",
"sourceSha256": "1e9d2586675f2af0b73d3528c2712ac8bf4d48fbfc2a1afe13bb6840d34c7290",
"mode": "reference",
"shellBlocks": 50,
"findings": 3,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [
{
"blockId": "command-022",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-023",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-037",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/session-custody-across-nodes/setup/setup-reproduce-a1-jgroups-transport-block.md",
"sourceSha256": "080b611a1a02cf2e2e7385fd7ed025a4c496c4a2c154390cbf694a289669d4cf",
"mode": "reference",
"shellBlocks": 57,
"findings": 4,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [
{
"blockId": "command-027",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-031",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-035",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-050",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/session-custody-across-nodes/setup/setup-reproduce-a7-volatile-comparison.md",
"sourceSha256": "ea8a580b34cf5198084ab3762b8d93206ea087fa660671b6f65e91aa765a1de1",
"mode": "reference",
"shellBlocks": 55,
"findings": 2,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [
{
"blockId": "command-030",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-042",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/session-custody-across-nodes/setup/setup-reproduce-a7a-volatile-cause.md",
"sourceSha256": "41f23c0a12a7c152f8cdcb59fb20e1ff565c45cbd825a30562e4baaece450928",
"mode": "reference",
"shellBlocks": 47,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/session-custody-across-nodes/setup/setup-reproduce-a8-rolling-restart.md",
"sourceSha256": "1711dd816cc2e669b502e529ac91d361c17950e3253be44b61388932afd93348",
"mode": "reference",
"shellBlocks": 30,
"findings": 2,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [
{
"blockId": "command-010",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-013",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/trust-handed-over-at-the-edge/case/case-nobody-implemented-backchannel-logout.md",
"sourceSha256": "242233ace9e81824ab271245f9f4fbb2aed87a96efc8134bec8f740aa556a86c",
"mode": "reference",
"shellBlocks": 1,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/trust-handed-over-at-the-edge/case/case-orphan-sessions-and-the-ttl-that-finds-them.md",
"sourceSha256": "5d26b51c23c5622f7a74221fe254806f333c0ab25b4ad1e9b0c96c5495eb56c7",
"mode": "reference",
"shellBlocks": 1,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/trust-handed-over-at-the-edge/setup/setup-reproduce-b4-forged-identity-headers.md",
"sourceSha256": "b0c7c2dd599d37dbac725a9a87a26dbbbadd4eca26d9b9eb88e84ee74cc62d32",
"mode": "reference",
"shellBlocks": 28,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/trust-handed-over-at-the-edge/setup/setup-reproduce-b7-cookie-secret-rotation.md",
"sourceSha256": "5b1d01e4a359b6093fde0948d1e44d12818877230be92a1cc9a2a28a5a2a72d5",
"mode": "reference",
"shellBlocks": 31,
"findings": 1,
"majorFindings": 0,
"textLikeCommandBlocks": 1,
"findingDetails": [
{
"blockId": "command-017",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [
{
"id": "text-command-like-008",
"sourceSha256": "01cc0c989a39c4359e425d5f03f3e22917433c225761c41d2215e7bf71f5b6bb",
"disposition": "REVIEWED_REFERENCE_TEXT",
"reason": "복사 실행 절차로 자동 변환하지 않는다. 후속 리뷰에서 text/reference 문맥으로 유지하기로 확인했다."
}
],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/trust-handed-over-at-the-edge/setup/setup-reproduce-b7a-orphan-session.md",
"sourceSha256": "fbeec582b113681a6daa19f4d329575edec0bd35e8f523f85f4234b080f172e6",
"mode": "reference",
"shellBlocks": 26,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/trust-handed-over-at-the-edge/setup/setup-reproduce-c1-multi-app-sso.md",
"sourceSha256": "81b46166deb8ad78220d02c37554c8927012704ca981f7b19a70ecc44080469b",
"mode": "reference",
"shellBlocks": 27,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/trust-handed-over-at-the-edge/setup/setup-reproduce-c2-backchannel-logout.md",
"sourceSha256": "1bb3fe494a8ac0464f675b74fa864c7922e6ebca91a252febe0056236a888814",
"mode": "reference",
"shellBlocks": 28,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/when-the-measurement-lies/concept/concept-the-up-metric-cannot-see-alive-but-useless.md",
"sourceSha256": "b9eb1a539f60c36ff46d38616bf85e4890281efcacc13e7d53d717a6a715e202",
"mode": "reference",
"shellBlocks": 2,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/where-application-state-lives/case/case-moving-the-session-left-the-tokens-behind.md",
"sourceSha256": "ef7b48d8b7455fd3daf3bbb0b0fd7142590275e608c08ff6fb6ec2df136bc79a",
"mode": "reference",
"shellBlocks": 1,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/where-application-state-lives/case/case-the-winner-of-the-rotation-race-also-loses.md",
"sourceSha256": "81348c4d5c07d38aee2a364d1402a08e79e3e948e306b8b5701770a481adf01f",
"mode": "reference",
"shellBlocks": 1,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/where-application-state-lives/setup/setup-reproduce-b0-default-session-store.md",
"sourceSha256": "0fe7e078997afa977ec1bcc02b44a9869b8f19e1c59d0e405c7a7149aa1c38f3",
"mode": "reference",
"shellBlocks": 41,
"findings": 1,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [
{
"blockId": "command-019",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/where-application-state-lives/setup/setup-reproduce-b1-redis-session-store.md",
"sourceSha256": "95c04738e93bf3a2f84f24859ea91a10415e3440bb6ef283835bed45f6cda393",
"mode": "reference",
"shellBlocks": 38,
"findings": 2,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [
{
"blockId": "command-013",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-034",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/where-application-state-lives/setup/setup-reproduce-b2-jdbc-token-store.md",
"sourceSha256": "1e38ce87ff35341771de23728aacaf81f8076d9b6d38f30443ea8eac96f4a681",
"mode": "reference",
"shellBlocks": 28,
"findings": 2,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [
{
"blockId": "command-002",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-024",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/where-application-state-lives/setup/setup-reproduce-b3-refresh-contention.md",
"sourceSha256": "9e74fa28aa5a4a26472631345de8982514f4c1009a83a19e2e87e18c32716808",
"mode": "reference",
"shellBlocks": 31,
"findings": 3,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [
{
"blockId": "command-012",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-013",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-020",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/where-application-state-lives/setup/setup-reproduce-b5-redis-loss.md",
"sourceSha256": "8ebe88c32accb6a123da928ce1e4cfbc3e7e52f6111b210f8f9407a4d16607ff",
"mode": "reference",
"shellBlocks": 28,
"findings": 0,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
},
{
"record": "docs/keycloak-session-store/tech-log-studio/where-application-state-lives/setup/setup-reproduce-b6-key-rotation.md",
"sourceSha256": "e2e38eef9f41ed7eba0dfa79f591aab4e96d62cea893e70bd37414833c7344a0",
"mode": "reference",
"shellBlocks": 28,
"findings": 4,
"majorFindings": 0,
"textLikeCommandBlocks": 0,
"findingDetails": [
{
"blockId": "command-012",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-013",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-018",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
},
{
"blockId": "command-020",
"code": "hidden-stderr",
"severity": "minor",
"disposition": "REVIEWED_ACCEPTED_MINOR",
"reason": "2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect로 판정하지 않았다. deterministic signal은 삭제하지 않고 minor review signal로 보존한다."
}
],
"textLikeDetails": [],
"reviewerVerdict": "PASS"
}
]
}
@@ -0,0 +1,61 @@
# keycloak-session-store command audit — 2026-09-20
현재 작업 트리의 command-bearing Record 전체를 `reference` mode로 다시 분석한 프로젝트 단위 감사 기록이다. 옛 run을 소급 수정하지 않고, 현재 parser와 현재 파일 SHA를 기준으로 남긴다.
## 결과
- Record: 33
- shell block: 992
- deterministic finding: 53
- major finding: 0
- command-like text block: 15
- finding code: hidden-stderr 48 / compound-remote-shell 5
- reviewer verdict: **PASS**
남은 53건은 전역 금지 항목이 아니다. 2026-09-20 후속 리뷰에서 실제 문맥을 다시 확인했고 새 high-confidence command defect를 발견하지 못했다. 따라서 signal은 삭제하지 않고 현재 minor review signal로 보존한다.
## Record별 영수증
| Record | SHA256 | shell | findings | major | text-like | verdict |
|---|---|---:|---:|---:|---:|---|
| `docs/keycloak-session-store/tech-log-studio/losing-a-node-or-the-store/case/case-200ms-of-delay-became-22-seconds.md` | `e5d1f4226e6c` | 1 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/losing-a-node-or-the-store/case/case-ghost-rows-are-cleaned-by-the-surviving-coordinator.md` | `76dba710df24` | 1 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/losing-a-node-or-the-store/setup/setup-reproduce-a2-database-loss.md` | `9a7e5fa9220b` | 39 | 1 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/losing-a-node-or-the-store/setup/setup-reproduce-a3-database-crash.md` | `5d93cbd662a5` | 42 | 1 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/losing-a-node-or-the-store/setup/setup-reproduce-a4-node-loss.md` | `6f1460232afa` | 54 | 1 | 0 | 10 | PASS |
| `docs/keycloak-session-store/tech-log-studio/losing-a-node-or-the-store/setup/setup-reproduce-a5-asymmetric-partition.md` | `654fb69b0569` | 58 | 4 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/losing-a-node-or-the-store/setup/setup-reproduce-a6-latency-injection.md` | `14f46a092498` | 41 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/operations-that-report-success/setup/setup-reproduce-d1-backup-restore.md` | `2dc589f9367a` | 31 | 1 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/operations-that-report-success/setup/setup-reproduce-d2-version-upgrade.md` | `5185e6b3c2b4` | 32 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/operations-that-report-success/setup/setup-reproduce-d3-secret-exposure.md` | `f868aa7e2da3` | 20 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/operations-that-report-success/setup/setup-reproduce-d4-certificate-renewal.md` | `2e7fc8f1bbb9` | 55 | 10 | 0 | 3 | PASS |
| `docs/keycloak-session-store/tech-log-studio/operations-that-report-success/setup/setup-reproduce-d4a-deploy-hook.md` | `8a4b1e7f1b09` | 39 | 11 | 0 | 1 | PASS |
| `docs/keycloak-session-store/tech-log-studio/session-custody-across-nodes/setup/setup-reproduce-a0-session-sharing-path.md` | `1e9d2586675f` | 50 | 3 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/session-custody-across-nodes/setup/setup-reproduce-a1-jgroups-transport-block.md` | `080b611a1a02` | 57 | 4 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/session-custody-across-nodes/setup/setup-reproduce-a7-volatile-comparison.md` | `ea8a580b34cf` | 55 | 2 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/session-custody-across-nodes/setup/setup-reproduce-a7a-volatile-cause.md` | `41f23c0a12a7` | 47 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/session-custody-across-nodes/setup/setup-reproduce-a8-rolling-restart.md` | `1711dd816cc2` | 30 | 2 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/trust-handed-over-at-the-edge/case/case-nobody-implemented-backchannel-logout.md` | `242233ace9e8` | 1 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/trust-handed-over-at-the-edge/case/case-orphan-sessions-and-the-ttl-that-finds-them.md` | `5d26b51c23c5` | 1 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/trust-handed-over-at-the-edge/setup/setup-reproduce-b4-forged-identity-headers.md` | `b0c7c2dd599d` | 28 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/trust-handed-over-at-the-edge/setup/setup-reproduce-b7-cookie-secret-rotation.md` | `5b1d01e4a359` | 31 | 1 | 0 | 1 | PASS |
| `docs/keycloak-session-store/tech-log-studio/trust-handed-over-at-the-edge/setup/setup-reproduce-b7a-orphan-session.md` | `fbeec582b113` | 26 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/trust-handed-over-at-the-edge/setup/setup-reproduce-c1-multi-app-sso.md` | `81b46166deb8` | 27 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/trust-handed-over-at-the-edge/setup/setup-reproduce-c2-backchannel-logout.md` | `1bb3fe494a8a` | 28 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/when-the-measurement-lies/concept/concept-the-up-metric-cannot-see-alive-but-useless.md` | `b9eb1a539f60` | 2 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/where-application-state-lives/case/case-moving-the-session-left-the-tokens-behind.md` | `ef7b48d8b745` | 1 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/where-application-state-lives/case/case-the-winner-of-the-rotation-race-also-loses.md` | `81348c4d5c07` | 1 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/where-application-state-lives/setup/setup-reproduce-b0-default-session-store.md` | `0fe7e078997a` | 41 | 1 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/where-application-state-lives/setup/setup-reproduce-b1-redis-session-store.md` | `95c04738e93b` | 38 | 2 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/where-application-state-lives/setup/setup-reproduce-b2-jdbc-token-store.md` | `1e38ce87ff35` | 28 | 2 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/where-application-state-lives/setup/setup-reproduce-b3-refresh-contention.md` | `9e74fa28aa5a` | 31 | 3 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/where-application-state-lives/setup/setup-reproduce-b5-redis-loss.md` | `8ebe88c32acc` | 28 | 0 | 0 | 0 | PASS |
| `docs/keycloak-session-store/tech-log-studio/where-application-state-lives/setup/setup-reproduce-b6-key-rotation.md` | `e2e38eef9f41` | 28 | 4 | 0 | 0 | PASS |
## Disposition
- `hidden-stderr`: `REVIEWED_ACCEPTED_MINOR` — 측정/필드 추출/reference 문맥에서 사용된 신호이며 이번 리뷰에서 새 결함으로 판정하지 않았다.
- `compound-remote-shell`: `REVIEWED_ACCEPTED_MINOR` — read-only 확인 또는 검증 성공 뒤 변경 같은 문맥을 포함하며, 복합 원격 셸이라는 이유만으로 자동 분해하지 않는다.
- command-like text fence: `REVIEWED_REFERENCE_TEXT` — 역사적 출력/설명/reference 문맥을 보존하며 shell fence로 자동 변환하지 않는다.
JSON artifact에는 각 Record의 전체 SHA256, finding별 block id/code/severity/disposition, text-like block별 SHA와 disposition을 함께 기록했다.