{
  "task_id": "task-2401",
  "captured_at": "2026-05-03T08:32:16.635021",
  "source": "memory/tasks/task-2401.md",
  "source_sha256": "cf9d645ea5e0da1d2016824183a5ae7fc1e77285bce28f3f0e915279728df628",
  "allowed_resources": {
    "paths": [
      "skills/satori-cardnews/**",
      "tests/design-team/test_ids_phase1_korean_font_embed.py",
      "memory/events/task-2389.escalate.acked",
      "memory/plans/tasks/task-XXXX/**",
      "memory/reports/task-XXXX-ids-phase1-redo.md",
      "memory/reports/task-XXXX-evidence-25-stratified/**"
    ],
    "forbidden_paths": [
      "skills/hybrid-image/**",
      "skills/magazine-ppt-ko/**",
      "skills/mobile-prototype-ko/**",
      "skills/motion-cardnews-ko/**",
      "skills/frontend-design/**",
      "skills/insane-design/**",
      "skills/ids-router/**",
      "resources/design-md/**",
      "dispatch.py",
      "scripts/auto_merge.py",
      "scripts/done-watcher.py",
      "scripts/finish-task.sh",
      "scripts/whisper-compile.py",
      "scripts/session-watchdog.sh",
      "scripts/bot_status_resolver.py",
      "scripts/worktree_manager.py",
      "scripts/cleanup_stale_task_counter.py",
      "scripts/auto_e2e_gate.py",
      "scripts/motion_render_queue.py",
      "scripts/ids_phase_monitor.py",
      "scripts/ids_natural_routing.py",
      "teams/shared/**",
      "CLAUDE.md",
      "memory/capabilities/**",
      "memory/audit/**",
      "memory/state/**",
      ".github/**"
    ],
    "commands": [
      "pytest",
      "python3 -m py_compile",
      "python3",
      "tesseract",
      "git add",
      "git commit",
      "git push",
      "git log",
      "git diff"
    ],
    "merge_policy": "tiered",
    "ttl_hours": 24
  }
}