{
  "task_id": "task-2517",
  "captured_at": "2026-05-09T08:30:59.492767",
  "source": "memory/tasks/task-2517.md",
  "source_sha256": "e370488a734ba4169811a5d19682ef90095431b315d498f8afdad34320efe228",
  "allowed_resources": {
    "read_only_paths": [
      "memory/tasks/task-2509*",
      "memory/tasks/task-2510*",
      "memory/tasks/task-2511*",
      "memory/tasks/task-2512*",
      "memory/tasks/task-2513*",
      "memory/tasks/task-2514*",
      "memory/tasks/task-2515*",
      "memory/tasks/task-2516*",
      "memory/tasks/task-2517*",
      "memory/feedback/feedback_critical_escalation_only_260508.md",
      "utils/automation_contracts.py",
      "utils/merge_queue_executor.py",
      "utils/replacement_pr_runner.py",
      "utils/auto_gemini_triage.py",
      "utils/post_merge_smoke_runner.py",
      "utils/critical_escalation_reporter.py",
      "utils/merge_topology_gate.py",
      "scripts/start_task_guard.py",
      "scripts/finish-task.sh",
      "memory/orchestration-audit/merge-queue.jsonl",
      "memory/task-timers.json",
      ".env.keys"
    ],
    "paths": [
      "memory/tasks/task-2517*",
      "memory/reports/task-2517*",
      "memory/events/task-2517*",
      "utils/canonical_workspace_resolver.py",
      "tests/regression/test_canonical_workspace_resolver_2517.py"
    ],
    "forbidden_actions": [
      "새 abstraction 과다 생성",
      "enum redesign",
      "contract schema 변경",
      "policy md 보강",
      "dispatch.py 수정",
      "5 모듈 본체 수정",
      "task-2516/2516+1 영역 침범 (replacement_pr_runner.py 수정)",
      "task-2518/2519 wiring 직접 시도",
      "force push",
      "rebase",
      "admin override (gh pr merge --admin)",
      "manual .done 생성",
      "required CI bypass",
      "PR #52/#49/#50/#51 수정",
      "expected_files 외 수정",
      "자동 cherry-pick 구현",
      "live pilot 직접 시도",
      "Critical 7종 외 회장 보고",
      "amendment 무시 / mid-dispatch correction 무시"
    ],
    "forbidden_paths": [
      "memory/capabilities/**"
    ]
  }
}