{
  "task_id": "task-2461",
  "captured_at": "2026-05-05T19:43:47.723613",
  "source": "memory/tasks/task-2461.md",
  "source_sha256": "0986ecb14c9ea2de724e69f4f82a8da472f3a0fb5d62e6f70deec075578ad5e7",
  "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",
      ".github/workflows/ci.yml",
      ".github/workflows/guard.yml",
      "tests/phase3_hard_gate/**",
      "memory/reports/task-2462*",
      "memory/events/task-2462*",
      "memory/plans/tasks/task-2462/**",
      "memory/specs/phase3-hard-gate-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",
      "memory/specs/handoff-schema.json",
      "memory/specs/handoff-schema.md",
      "memory/specs/start-guard-spec.md",
      "memory/specs/taskctl-takeover-spec.md",
      "memory/specs/taskctl-verify-spec.md",
      "memory/specs/git-hooks-spec.md",
      "memory/organization-structure.json",
      "bot_settings.json",
      "memory/task-timers.json",
      "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
  }
}