{
  "task_id": "task-2639",
  "executor_name": "dev6-perun-bot",
  "executor_start_ts_kst": "2026-05-23T14:40:02+09:00",
  "executor_end_ts_kst": "2026-05-23T15:02:10+09:00",
  "commit_sha": "40c9103e9ed5781ee7bcbbb15b1fa168aa428f19",
  "base_sha": "fa72e25a72315a4b9e79e6d953d530ebf7d04ade",
  "branch": "task/task-2639-snapshot-crossref",
  "worktree_path": "/home/jay/.cokacdir/workspace/A97B5052/dev6-task-2639",
  "spec_path": "memory/specs/system_real_merge_hooks_snapshot_crossref_spec_260523.md",
  "spec_sha256": "12b8af006913833596562c55ab9a0acca935830be90c5f17f2af4b7e1e632621",
  "result_path": "memory/reports/task-2639-result.json",
  "report_path": "memory/reports/task-2639.md",
  "file_summary": "28 files (1 new helper + 2 wiring patch + 21 fixture + 1 INDEX.md + 2 regression + 1 lock)",
  "regression_summary": "1373 PASS + 11 SKIPPED (excl 3 pre-existing test_stash_origin_audit_compat finish-task.sh checks unrelated; new 23 PASS = 11 validator + 12 v2 step0 flow)",
  "activation_flag_default": false,
  "real_merge_actually_executed": false,
  "gh_pr_merge_invocations": 0,
  "admin_override_invocations": 0,
  "push_pr_merge": "forbidden_per_chair_verbatim_local_commit_only",
  "expected_files_in_scope": true,
  "forbidden_paths_modified": 0,
  "canonical_root": "/home/jay/workspace",
  "anu_key_single_source": "c119085addb0f8b7",
  "new_enums": [
    "NO_OP_AUTH_MISMATCH",
    "CHAIR_REQUIRED_PRODUCTION_IN_SNAPSHOT",
    "CHAIR_REQUIRED_BLOCKING_SECRET_IN_SNAPSHOT",
    "CHAIR_REQUIRED_ADMIN_OVERRIDE_REQUIRED"
  ],
  "schema_v1_to_v2": {
    "MERGE_DECISION_SCHEMA": "real_merge.decision.v1 → real_merge.decision.v2",
    "REAL_MERGE_HOOKS_SCHEMA": "utils.real_merge_hooks.v1 → utils.real_merge_hooks.v2",
    "added_optional_keys": ["allow_reason", "snapshot_crossref"]
  },
  "frozen_anchors_satisfied": [
    "ANCHOR-1 Step 0 흐름: input → auth_match → snapshot_crossref → sanctioned_split → existing_gates",
    "ANCHOR-2 forbidden 보안 가드 유지 · snapshot exact match 만 통과 · broad allowlist 금지",
    "ANCHOR-3 schema v1→v2 bump · allow_reason + snapshot_crossref 필드 추가",
    "ANCHOR-4 production / secret / admin override 검출 시 CHAIR_REQUIRED 격상",
    "ANCHOR-5 sanctioned (.tasks/locks/) 분리 기록 · task_outputs 와 분리",
    "ANCHOR-6 real_merge_hooks / real_merge_artifact_schema 만 정정 · 나머지 wiring stack 무수정",
    "ANCHOR-7 PR #141 직접 merge 금지 · 기존 chair_authorization EXPIRED · 새 발급은 정책 머지 후"
  ]
}
