{
  "task_id": "task-2470",
  "captured_at": "2026-05-06T23:37:44.942760",
  "source": "memory/tasks/task-2470.md",
  "source_sha256": "d39d3ec97a33fc347519a32296e2b0a4018b702baaff6efa68dd0fb66f3a39c2",
  "allowed_resources": {
    "paths": [
      ".tasks/state/task-2469.json",
      "memory/tasks/task-2469+1*",
      "memory/reports/task-2469+1*",
      "memory/plans/tasks/task-2469+1/**",
      "memory/events/task-2469+1*",
      "memory/events/task-2469.done"
    ],
    "forbidden_paths": [
      "scripts/**",
      "tests/**",
      "memory/specs/**",
      "memory/orchestration-audit/admin-override.jsonl",
      "memory/events/task-2469.chairman-recovery-approval.txt",
      "memory/events/task-2469.escalate*",
      "memory/events/task-2468*",
      "memory/events/task-2467*",
      "PR #34 / #33 / #32 / #31 / #30 / #29",
      ".env.keys",
      ".secrets/**",
      ".gitignore",
      "memory/capabilities/**"
    ],
    "forbidden_actions": [
      "추가 코드 수정 금지",
      "PR #35 diff 수정 금지",
      "admin override 사용 금지",
      "Gemini thread 임의 resolve 추가 금지",
      ".gitignore / .secrets 조작 금지",
      "task-2470 항목 혼합 금지",
      "보고서만 DONE 처리 금지",
      "gh pr merge 직접 호출 금지 (taskctl 외)",
      "git push --force 금지",
      "git push origin main 직접 호출 금지"
    ],
    "bot_authentication": [
      "BOT_GITHUB_TOKEN .env.keys 자동 로드",
      "PR author = jeon-jonghyuk-taskctl-bot[bot]",
      "merge actor = taskctl bot"
    ],
    "merge_policy": "★ 회장 승인 manual recovery 1회 한정. state transition 후 taskctl merge",
    "ttl_hours": 2
  }
}