{
  "task_id": "task-2709",
  "captured_at": "2026-05-29T20:16:59.621382",
  "source": "memory/tasks/task-2709.md",
  "source_sha256": "a9af31fe90105ea1b5ade9e02e33fd401e77c9355495f3b2f36b51eee7c64ad6",
  "allowed_resources": {
    "paths": [
      "dispatch/__init__.py",
      "scripts/task-scope-guard.sh",
      "memory/reports/task-2709.md",
      "memory/events/task-2709.formalization-commit-260529.json",
      "memory/events/task-2709.callback-envelope.json",
      "tests/test_allowed_resources_paths_normalization.py"
    ],
    "expected_files": [
      "dispatch/__init__.py",
      "scripts/task-scope-guard.sh",
      "memory/reports/task-2709.md",
      "memory/events/task-2709.formalization-commit-260529.json",
      "memory/events/task-2709.callback-envelope.json",
      "tests/test_allowed_resources_paths_normalization.py"
    ],
    "allowed_existing_file_edits": [
      "dispatch/__init__.py",
      "scripts/task-scope-guard.sh"
    ],
    "forbidden_paths": [
      "scripts/finish-task.sh",
      "scripts/session-watchdog.sh",
      ".claude/settings.json",
      "/home/jay/.claude/settings.json",
      "scripts/harness/v36/dispatch_marker_writer.py",
      "scripts/harness/v36/callback_preregistration.py",
      "dispatch/normal_fallback_callback_helper.py",
      "qc_verify.py",
      "utils/merge_queue_executor.py",
      "utils/real_merge_hooks.py",
      "anu_v3/",
      "memory/capabilities/**"
    ]
  }
}