{
  "snapshot_id": "stale-workspace-snapshot-260508-T0835",
  "verdict_source": "회장 명시 (2026-05-08T08:30) — read-only 스냅샷 보존, 즉시 sync 금지",
  "snapshot_type": "READ_ONLY (git/grep만, 변경 0)",
  "captured_at": "2026-05-08T08:35:00+09:00",
  "main_workspace": {
    "path": "/home/jay/workspace",
    "current_branch": "task/task-2479-dev1",
    "local_HEAD": "c999364b85a168d5599691844b4f7b6d515cdf80",
    "origin_main_HEAD": "be8dcd21b04098832515fc949e902e93b53172da",
    "ahead_of_main": 30,
    "behind_main": 57,
    "branch_diverged": true
  },
  "ssot_function_state": {
    "file": "utils/task_id_parser.py",
    "exports_local": ["parse_task_id_v2", "is_valid_task_id", "is_valid_task_id_with_legacy", "extract_task_id_from_filename", "extract_task_id_from_branch"],
    "is_valid_task_id_with_legacy_in_local": true,
    "is_valid_task_id_with_legacy_in_origin_main": false,
    "discrepancy": "local에는 있고 main에는 없음 — 분기 상태에서만 함수 존재. 봇 worktree가 main 기준 생성되면 함수 부재로 ImportError"
  },
  "verifier_import_state": {
    "file_sample": "teams/dev1/qc/verifiers/browser_verify.py",
    "import_line": "line 29: from utils.task_id_parser import is_valid_task_id_with_legacy",
    "usage_line": "line 126: if not is_valid_task_id_with_legacy(task_id)",
    "import_target_in_main": "MISSING — ImportError trigger"
  },
  "shared_verifier": {
    "path_attempted": "teams/shared/qc/verifiers/browser_verify.py",
    "exists_local": false,
    "note": "각 팀 verifier 디렉토리(`teams/dev1/qc/verifiers/`, `teams/dev3/qc/verifiers/` 등)에 개별 browser_verify.py가 분산. shared 위치에는 없음. 이건 task-2498 보고서가 식별한 verifier self-reference 패턴의 또 다른 사례"
  },
  "preservation_rule_chairman": "전체 workspace sync 즉시 실행 금지. stale workspace 자체가 branch/worktree isolation hardening의 핵심 evidence이므로 보존. 증거 보존 없이 sync하면 root cause 재현성 사라짐",
  "next_action_post_task_2487_plus_1": [
    "task-2487+1 머지 후 main에 SSOT 함수 export 반영 확인",
    "main 반영 확인 후 .done 미발행 task의 finish-task.sh 재실행 후보 등록",
    "재실행 시 산출물 변경 0건 확인 후 자동 lifecycle만 사용"
  ]
}
