{
  "task_id": "task-2472",
  "captured_at": "2026-05-07T17:04:05.297276",
  "source": "memory/tasks/task-2472.md",
  "source_sha256": "f6d9d57f9cece395705ed38606dc2646b9f958b30e7bba0a2f22b419cbb4b824",
  "allowed_resources": {
    "paths": [
      "scripts/taskctl.py",
      "scripts/taskctl/**",
      "scripts/lifecycle_guards.py",
      "scripts/pre_push_guard.py",
      "scripts/gemini_severity_parser.py",
      "scripts/g3_independent_verifier.py",
      "utils/silent_corruption_guard.py",
      "utils/audit_chairman_recovery.py",
      "utils/gemini_gate_validator.py",
      "utils/recoverable_block_classifier.py",
      "utils/state_repair.py",
      "utils/review_thread_guard.py",
      "dispatch.py",
      ".tasks/state/**",
      "memory/orchestration-audit/review-thread-resolution.jsonl",
      "memory/orchestration-audit/state-recovery.jsonl",
      "memory/orchestration-audit/checksum-repair.jsonl",
      "memory/orchestration-audit/recoverable-merge-block.jsonl",
      "memory/orchestration-audit/gemini-gate-decision.jsonl",
      "tests/regression/**",
      "tests/lifecycle_guards/**",
      "tests/state_machine/**",
      "tests/dispatch/**",
      "memory/tasks/task-2472*",
      "memory/reports/task-2472*",
      "memory/plans/tasks/task-2472/**",
      "memory/events/task-2472*"
    ],
    "forbidden_paths": [
      "memory/events/task-2471+1.*",
      "memory/events/task-2471.*",
      "memory/events/task-2470*",
      "memory/events/task-2469*",
      "memory/events/task-2468*",
      "memory/events/task-2467*",
      "memory/reports/task-2471+1.md",
      "memory/reports/task-2471.md",
      ".tasks/state/task-2471+1.json",
      "memory/specs/allowed_bot_accounts.json",
      "memory/specs/allowed_approvers.json",
      "memory/orchestration-audit/admin-override.jsonl",
      "PR #29-#37",
      ".env.keys",
      ".secrets/**",
      ".gitignore",
      "memory/capabilities/**"
    ],
    "forbidden_actions": [
      "task-2471+1 PR 조용히 merge 금지 (★ 핵심)",
      "task-2471+1 evidence 삭제 금지 (★)",
      "manual recovery로 덮기 금지",
      "admin override 금지",
      "Gemini gate 우회 금지",
      "review thread 임의 resolve 금지",
      "FAILED → HUMAN_APPROVED 수동 전이 금지",
      "checksum mismatch를 수동 편집으로 복구 금지",
      "보고서만 작성 후 완료 금지",
      "테스트 없는 hardening 금지",
      "실행 로그 없는 PASS 선언 금지",
      "새 우회 경로 만들기 금지",
      "0-byte marker 삭제로 무마 금지",
      "실패 evidence 삭제 금지",
      "gh pr merge 직접 호출 금지 (taskctl 외)",
      "git push --force 금지",
      "git push origin main 직접 호출 금지"
    ],
    "bot_authentication": [
      "BOT_GITHUB_TOKEN .env.keys 자동 로드 (만료 시 chairman 발급)",
      "PR author = jeon-jonghyuk-taskctl-bot[bot]",
      "approver = 시스템 승인자 (taskctl-gate / anu-verifier)",
      "self-approve 차단"
    ],
    "merge_policy": "★ 본 task가 만든 hardening 코드를 통해 본 task PR이 merge됨 (drink-your-own-champagne layer 3). green path 자동, 우회 시도 코드 차단",
    "ttl_hours": 8
  }
}