{
  "task_id": "task-2403",
  "captured_at": "2026-05-03T08:32:26.266473",
  "source": "memory/tasks/task-2403.md",
  "source_sha256": "798b7f4cff458a30e700fa7e72ba059ed5b15990cdf73faf86ad4844448411bd",
  "allowed_resources": {
    "paths": [
      "tests/dev6/test_ids_followup_cleanup.py",
      "memory/events/task-2394.escalate.acked",
      "skills/mobile-prototype-ko/outputs/**",
      "memory/plans/tasks/task-XXXX/**",
      "memory/reports/task-XXXX-ids-followup.md"
    ],
    "forbidden_paths": [
      "skills/satori-cardnews/**",
      "skills/hybrid-image/**",
      "skills/frontend-design/**",
      "skills/insane-design/**",
      "skills/magazine-ppt-ko/!(scripts|templates|SKILL.md)",
      "skills/mobile-prototype-ko/!(outputs)",
      "skills/motion-cardnews-ko/**",
      "skills/ids-router/**",
      "resources/design-md/**",
      "dispatch.py",
      "scripts/auto_merge.py",
      "scripts/done-watcher.py",
      "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": [
      "git add",
      "git commit",
      "git push",
      "git status",
      "git log",
      "bash scripts/finish-task.sh",
      "pytest",
      "python3",
      "tesseract",
      "ffmpeg",
      "ffprobe",
      "npx playwright"
    ],
    "merge_policy": "tiered",
    "ttl_hours": 12
  }
}