{
  "task_id": "task-2463",
  "captured_at": "2026-05-05T20:08:03.490954",
  "source": "memory/tasks/task-2463.md",
  "source_sha256": "ef2994fd96173d46882d522d7ce8fff94ddffaa74aa0dcd3bd62409508436e41",
  "allowed_resources": {
    "paths": [
      "scripts/finish-task.sh",
      "scripts/worktree_manager.py",
      "scripts/done-watcher.py",
      "scripts/gemini_review_gate.py",
      "scripts/post_merge_probe.py",
      "scripts/git-hooks/pre-push",
      "scripts/safe_pr_merge.sh",
      ".github/workflows/ci.yml",
      ".github/workflows/guard.yml",
      "tests/phase3_hard_gate/**",
      "memory/reports/task-2463*",
      "memory/events/task-2463*",
      "memory/plans/tasks/task-2463/**",
      "memory/specs/phase3-redefined-spec.md",
      ".tasks/evidence/**"
    ],
    "forbidden_paths": [
      "scripts/taskctl.py",
      "scripts/start_task_guard.py",
      "dispatch.py",
      "dispatch/**",
      "scripts/create_handoff.py",
      "scripts/validate_handoff.py",
      "scripts/taskctl_verify.py",
      "scripts/mixed_commit_detector.py",
      "scripts/auto_merge.py",
      "scripts/anu_confirm_bot/**",
      "memory/specs/handoff-schema.json",
      "memory/specs/handoff-schema.md",
      "memory/specs/start-guard-spec.md",
      "memory/organization-structure.json",
      "bot_settings.json",
      "memory/task-timers.json",
      "memory/events/task-2461*",
      "memory/events/task-2461-freeze-**",
      "memory/capabilities/**"
    ],
    "commands": [
      "pytest",
      "bash",
      "shellcheck",
      "python3",
      "git",
      "gh",
      "ls",
      "cat",
      "grep",
      "jq",
      "diff",
      "stat",
      "find",
      "head",
      "tail",
      "wc",
      "mv",
      "mkdir",
      "touch",
      "chmod"
    ],
    "merge_policy": "tiered",
    "ttl_hours": 24
  }
}