{
  "task_id": "task-2474",
  "captured_at": "2026-05-07T15:26:26.359073",
  "source": "memory/tasks/task-2474.md",
  "source_sha256": "9ba3374280b4547c65cf5715e42d1cf01f99b12708e14ebeab49fc7a0bf254cd",
  "allowed_resources": {
    "paths": [
      "dispatch.py",
      "dispatch/**",
      "utils/dispatch_routing.py",
      "tests/dispatch/**",
      "memory/orchestration-audit/dispatch-routing-decision.jsonl",
      "memory/tasks/task-2474*",
      "memory/reports/task-2474*",
      "memory/plans/tasks/task-2474/**",
      "memory/events/task-2474*"
    ],
    "forbidden_paths": [
      "memory/events/task-2473.*",
      "memory/events/task-2472.*",
      "memory/events/task-2471*",
      "memory/tasks/task-2472.md",
      "memory/tasks/task-2473.md",
      "memory/reports/task-2473.md",
      "scripts/finish-task.sh",
      "scripts/done-watcher.sh",
      "utils/silent_corruption_guard.py",
      "scripts/taskctl.py",
      "memory/specs/allowed_bot_accounts.json",
      "memory/specs/allowed_approvers.json",
      "memory/orchestration-audit/admin-override.jsonl",
      ".env.keys",
      ".secrets/**",
      ".gitignore",
      "memory/capabilities/**"
    ],
    "forbidden_actions": [
      "task-2473 PR #38 그대로 머지 금지",
      "task-2473 .done/.done.escalated/completion 가져오기 금지",
      "task-2472 구현 섞기 금지",
      "Gemini/state/finish-task hardening 섞기 금지",
      "qc-gate 자체 비활성화 금지",
      "디자인 작업 분류 자체 무효화 금지 (true positive 보존)",
      "admin override 금지",
      "보고서만으로 완료 금지",
      "테스트 없는 hotfix 금지",
      "gh pr merge 직접 호출 금지",
      "git push --force 금지"
    ],
    "bot_authentication": [
      "BOT_GITHUB_TOKEN .env.keys 자동 로드",
      "PR author = jeon-jonghyuk-taskctl-bot[bot]"
    ],
    "merge_policy": "★ task-2473 검증된 코드 선별 반영. task-2472 정상 dispatch 가능하게 만드는 최소 hotfix",
    "ttl_hours": 4
  }
}