{
  "task_id": "task-2569+2",
  "captured_at": "2026-05-14T09:37:40.355177",
  "source": "memory/tasks/task-2569+2.md",
  "source_sha256": "c123aea5be9e491ca073d110e8c150e94d7c0d9af18941819d5676344221d937",
  "allowed_resources": {
    "paths": [
      "dispatch/__init__.py",
      "tests/regression/test_dispatch_smoke_2569_plus_1.py",
      "memory/specs/protection-list.json",
      "scripts/pre_push_guard.py",
      "scripts/task_scope.py",
      "scripts/finish-task.sh",
      "memory/reports/task-2569.md",
      "memory/reports/task-2569+1.md",
      "memory/plans/tasks/task-2569+2/**",
      "memory/reports/task-2569+2.md",
      "memory/events/task-2569+2.*"
    ],
    "forbidden_paths": [
      "scripts/start_task_guard.py",
      "scripts/cleanup-stale-tasks.sh",
      "scripts/cleanup-workspace.py",
      "scripts/file_cleanup.py",
      "scripts/git-hooks/**",
      "scripts/guard.sh",
      "scripts/finish-task.sh.bak*",
      "anu_v2/**",
      ".github/workflows/**",
      "memory/task-timer.py",
      "memory/tasks/task-2568*",
      "memory/tasks/task-2569.md",
      "memory/tasks/task-2569+1.md",
      "memory/tasks/task-2570.md",
      "memory/tasks/task-2571.md",
      "memory/tasks/task-2572.md",
      "memory/tasks/task-2573.md",
      "memory/tasks/task-2574.md",
      "memory/events/task-2568*",
      "memory/events/task-2569.*",
      "memory/events/task-2569+1.*",
      ".tasks/locks/**",
      "memory/capabilities/**",
      ".env*",
      "**/*.pem",
      "secrets/**",
      "dist/**",
      "node_modules/**",
      ".worktrees/**"
    ],
    "commands": [
      "pytest",
      "python3 -m py_compile",
      "python3 -c",
      "python3 dispatch.py --help",
      "git",
      "gh",
      "bash -n",
      "shellcheck"
    ],
    "merge_policy": "tiered",
    "pr_base": "origin/main",
    "worktree_base": "origin/main",
    "forbid_worktree_base_local_main": true,
    "ttl_hours": 12
  }
}