{
  "task_id": "task-2702",
  "captured_at": "2026-05-28T09:43:45.837986",
  "source": "memory/tasks/task-2702.md",
  "source_sha256": "f54e0ad8ca39f2811b629f7cd008423ba257379fb82204a2c63914e99bc83264",
  "allowed_resources": {
    "paths": [
      "/home/jay/workspace (★ 진단 read-only · 패치는 식별된 writer write-path 분리 최소 변경만)",
      ".gitignore (식별된 데몬 state write-path 분리 시)",
      "memory/events/task-2702.* · memory/reports/task-2702.md (보고)"
    ],
    "forbidden_paths": [
      "utils/replacement_pr_runner.py · tests/regression/test_replacement_pr_runner_2510.py 에 skip-worktree 적용",
      "PR #158 / PR #159 / PR #160 / task-2700 / task-2700+1 branch",
      "dispatch.py · settings.json(live) · hooks/**(live · 식별 시 분리안 보고 후 회장 결재)",
      "memory/capabilities/**"
    ],
    "commands": [
      "read-only 진단: ps / lsof / fuser / stat / ls -l /proc/<pid> / inotifywait / git reflog,log,status,reflog (mutating 0)",
      "최소 차단 패치: 식별된 writer 의 write-path 분리(코드/.gitignore/state-path) — 최소 변경",
      "★ git reset/clean/push 금지 · skip-worktree(source/test) 금지 · main commit/push 금지"
    ],
    "merge_policy": "diagnosis_then_minimal_writepath_separation_no_main_push",
    "ttl_hours": 6
  }
}