{
  "command": "scripts/taskctl.py verify task-2467+3",
  "actor": "jay <jonghyuk.jeon@gmail.com>",
  "timestamp": "2026-05-06T05:05:55Z",
  "pid": 2709950,
  "guard_sh_result": "PASS",
  "qc_report_guard_result": "PASS",
  "hidden_path_audit": {
    "result": "PASS",
    "violations": [],
    "warnings": [
      "scripts/auto_revert.py:11:    3. push + gh pr create",
      "scripts/auto_revert.py:87:            pr_url = f\"gh pr create 실패: {e}\"",
      "scripts/anu_confirm_bot/config.py:13:GH_REPO = os.environ.get(\"GH_REPO\", \"JonghyukJeon/workspace\")  # gh pr merge 대상",
      "scripts/anu_confirm_bot/main.py:108:    \"\"\"gh pr merge 호출. GitHub API가 직렬화 보장.",
      "scripts/anu_confirm_bot/main.py:111:    Lock-in 2 Hard stop: 가드 실패 시 gh pr merge subprocess 진입 0회 보장.",
      "scripts/anu_confirm_bot/main.py:122:    # task-2449 Fix 5: gh pr merge 직접 호출 폐기 → taskctl merge 라우팅",
      "scripts/lock_in_verify.py:11:       - guard.sh subprocess.run(...)이 *모든* gh pr merge 호출보다 line-number 기준 먼저",
      "scripts/lock_in_verify.py:27:        # task-2449 Fix 5: gh pr merge 직접 호출 → taskctl merge 라우팅으로 변경."
    ]
  },
  "head_sha": "38bc6c515092e34dc8c8f915d968014861959e05",
  "stdout": "",
  "stderr": "[pre-push-guard] task=task-2467+3\n  B-1 working tree clean    : PASS — 변경 없음 (clean)\n  B-2 ahead/behind          : PASS — ahead=12 behind=0 — push 가능\n  B-3 task scope 일치       : PASS — head_diff 18건 모두 scope 내\n  B-4 보고서/qc-result 일치 : PASS — JSON=PASS / report=PASS — 일치\n[pre-push-guard] OVERALL: PASS (rc=0)\n",
  "exit_code": 0,
  "sha": "38bc6c515092e34dc8c8f915d968014861959e05",
  "pr_number": 33
}