{
  "task_id": "task-2703",
  "captured_at": "2026-05-28T13:22:33.382872",
  "source": "memory/tasks/task-2703.md",
  "source_sha256": "428f2d05d6b1c0fd1f888a25def96202e80394d6766fe9d3d10b98a64d6d9607",
  "normalized_at": "2026-05-28T13:58:00Z",
  "normalized_note": "Prose paths in task YAML normalized to glob patterns. Identical semantic scope per task-2703.md allowed_resources. No new permissions added.",
  "allowed_resources": {
    "paths": [
      "scripts/harness/**",
      "anu_v3/harness/**",
      ".claude/hooks/**",
      ".claude/settings.json",
      ".claude/settings.json.bak.*",
      "settings.json",
      "tests/harness/**",
      "tests/regression/test_v36_harness_*.py",
      "memory/events/task-2703.*",
      "memory/reports/task-2703.md",
      "memory/plans/tasks/task-2703/**",
      "memory/capabilities/task-2703.json",
      ".tasks/locks/task-2703.lock"
    ],
    "forbidden_paths": [
      "dispatch.py",
      "memory/capabilities/**"
    ],
    "commands": [
      "구현: 신규 py/sh/json/schema/test · settings.json 결선 · hook 등록",
      "검증: pytest fixture/mock · production load evidence (실제 hook 로드 trace)",
      "real GitHub write 0 · merge 0 · branch push 0 · PR 생성 0"
    ],
    "merge_policy": "harness_mvp_local_verification_no_remote_writes",
    "ttl_hours": 12
  }
}
