{
  "task_id": "task-2459",
  "verified_at": "2026-05-05T08:44:20Z",
  "verifier_version": "1.0",
  "cwd": "/home/jay/workspace/.worktrees/task-2459-dev5",
  "bot_hint": null,
  "results": {
    "start_lock": "PASS",
    "branch_match": "PASS",
    "worktree_path": "PASS",
    "cancelled_check": "PASS",
    "dirty_tree": "PASS",
    "changed_paths": "PASS",
    "scope_matrix": "FAIL",
    "handoff_chain": "N/A",
    "mixed_commit": "PASS",
    "qc_report_guard": "N/A",
    "guard_sh": "PASS"
  },
  "details": {
    "lock_path": "/home/jay/workspace/.worktrees/task-2459-dev5/.tasks/locks/task-2459.lock",
    "lock_mtime": "2026-05-05T08:04:52Z",
    "current_branch": "task/task-2459-dev5",
    "expected_branch": "task/task-2459-<bot>",
    "bot_hint": null,
    "cwd": "/home/jay/workspace/.worktrees/task-2459-dev5",
    "cwd_match_pattern": ".worktrees/task-2459-",
    "cancelled_marker_path": null,
    "cancelled_at": null,
    "dirty_files": [],
    "changed_paths_list": [
      ".tasks/evidence/task-2459/mixed-commit-20260505T082943Z.json",
      ".tasks/locks/task-2459.lock",
      "memory/events/task-2459.start-guard-fail.json",
      "memory/reports/task-2459-evidence/L1-frozen.json",
      "memory/reports/task-2459-evidence/L1-mixed-evidence.json",
      "memory/specs/mixed-commit-detector-spec.md",
      "memory/specs/taskctl-verify-spec.md",
      "scripts/mixed_commit_detector.py",
      "scripts/taskctl_verify.py",
      "tests/mixed_commit/__init__.py",
      "tests/mixed_commit/test_detector.py",
      "tests/verify/__init__.py",
      "tests/verify/test_taskctl_verify.py"
    ],
    "allowed_patterns": [],
    "scope_violations": [],
    "task_md_path": "/home/jay/workspace/.worktrees/task-2459-dev5/memory/tasks/task-2459.md",
    "handoff_path": null,
    "previous_bot": null,
    "handoff_schema_errors": [],
    "mixed_commit_detector_exit": 0,
    "mixed_commit_evidence_path": null,
    "stdout_tail": "",
    "qc_report_path": null,
    "qc_verdict_value": null,
    "guard_sh_exit": 0,
    "guard_sh_stdout_tail": "",
    "guard_sh_stderr_tail": "                           → python3 scripts/task_scope.py --base-sha origin/main\n                                      --output-dir memory/tasks/<task-id>/scope/\n  pre-push <task-id>     push 직전 4가지 안전 점검\n                           → python3 scripts/pre_push_guard.py --task-id <task-id>\n  qc-check <task-id>     보고서 정직성 점검\n                           → python3 scripts/qc_report_guard.py --task-id <task-id>\n\nPhase 2/3 자리표시 (미구현):\n  pre-task <task-id>     (Phase 2 — 미구현)\n  enqueue <task-id>      (Phase 3 — 미구현)\n  merge-next             (Phase 3 — 미구현)\n\n환경변수:\n  WORKSPACE              워크스페이스 루트 (기본: /home/jay/workspace)\n\n종료 코드:\n  0  PASS\n  1  FAIL (가드 차단)\n  2  not implemented\n",
    "fail_reasons": [
      "scope_matrix: task md 부재 — /home/jay/workspace/.worktrees/task-2459-dev5/memory/tasks/task-2459.md"
    ]
  },
  "fail_reasons": [
    "scope_matrix: task md 부재 — /home/jay/workspace/.worktrees/task-2459-dev5/memory/tasks/task-2459.md"
  ],
  "overall": "FAIL",
  "exit_code": 1
}
