{
  "schema": "anu_v2.remaining_gaps.v1",
  "decision_ts_utc": "2026-05-13T06:30:00Z",
  "audit_task": "task-2564",
  "rc_stamp": "anu_v2.0.0-rc.20260513",
  "summary": {
    "total_gaps": 4,
    "high_priority": 2,
    "medium_priority": 2,
    "low_priority": 0
  },
  "gaps": [
    {
      "item_id": 1,
      "title": "Dispatch decision schema canonicalization",
      "current_state": "memory/events/task-25*.dispatch-decision.json 9개 박제. schema 버전 3가지 혼재: (a) anu_v2.dispatch_decision.v1 (task-2560/2561/2562) (b) task.dispatch_decision.v1 (task-2558/2559/2559+1/2554+2/2550+1) (c) memory.events.dispatch-decision.v1 (task-2556). task-2553/2554+1/2555/2557 dispatch-decision.json 박제 0.",
      "owner_spec": "회장 §명시 'dispatch decision schema 일관성'. 모든 task의 dispatch_decision.json schema 1통일 + 누락 박제 0.",
      "next_action": "spec doc 'memory/specs/dispatch_decision_canonical_schema_260513.md' 작성 → task-2553/2554+1/2555/2557 dispatch-decision.json soft-박제 (회고적) → 향후 dispatch.py에서 canonical schema 강제.",
      "priority": "MEDIUM",
      "rationale": "기능적 자동화 동작 영향 없음 but doctrine consistency 영향. 회고적 박제는 history audit 가능성 확보."
    },
    {
      "item_id": 10,
      "title": "Post-merge smoke evidence naming canonicalization",
      "current_state": "박제 naming 2가지 혼재: 'task-2558.smoke-evidence.json' (single file) vs 'task-2560.post-merge-smoke.json' (single file, 이름 다름). task-2559 smoke 박제 0. task-2561/2562 smoke 박제 0 (INTENDED skip — reports에 명시).",
      "owner_spec": "회장 §명시 'memory/events/<task_id>.smoke-evidence.json schema 일관'.",
      "next_action": "(a) canonical 이름 'memory/events/<task_id>.smoke-evidence.json' 단일 통일 결정 → anu_v2/post_merge_smoke_runner.py 박제 코드 라인 1통일. (b) task-2559 smoke 회고 박제 (INTENDED skip 사유 명시).",
      "priority": "MEDIUM",
      "rationale": "lifecycle 일관성. INTENDED skip은 정상이나 명시 evidence는 필요."
    },
    {
      "item_id": 11,
      "title": "Reconcile evidence coverage + naming",
      "current_state": "task-2558.reconcile-evidence/reconcile.json (directory!) vs task-2560/2561/2562.reconcile-evidence.json (single file) — 구조/이름 2가지 혼재. task-2559, task-2559+1 reconcile 박제 0.",
      "owner_spec": "회장 §명시 'memory/events/<task_id>.reconcile-evidence.json 박제 1:1'.",
      "next_action": "(a) canonical 단일 file 'memory/events/<task_id>.reconcile-evidence.json' 통일 → task-2558.reconcile-evidence/ directory 회고 normalize. (b) task-2559, task-2559+1 reconcile 회고 박제.",
      "priority": "HIGH",
      "rationale": "회장 §명시 lifecycle consistency 핵심. RC 확정 전 해소 필수."
    },
    {
      "item_id": 12,
      "title": "Critical 7 canonical doctrine doc + task md 매핑 동기화",
      "current_state": "Canonical (anu_v2/merge_queue_executor.py:56-80) 7개 enumeration 정의: #1 FORBIDDEN_PATH_INVASION, #2 EFFECTIVE_DIFF_CONTAMINATION_REPLACEMENT_FAILED, #3 GEMINI_REAL_BUG_SCOPE_EXPANSION, #4 BLOCK_OVERRIDE_REQUIRED_OR_INSUFFICIENT_REASON, #5 DEPENDENCY_CYCLE_OR_SERIAL_ONLY_CONFLICT, #6 REPLACEMENT_PR_ALSO_FAILED, #7 POST_MERGE_SMOKE_FAILURE. 그러나 task-2562/2564 task md ESCALATED 매핑은 동일 ID에 다른 value 사용 (예: #1 'FORBIDDEN_CAPABILITY_USE', '#6 IMPLEMENTATION_SPEC_INCOMPLETE'). memory/feedback/feedback_critical_escalation_only_260508.md 파일 부재 (회장 §명시 ref doc 미박제).",
      "owner_spec": "회장 §명시 'Critical 7 only reporting' + 'feedback_critical_escalation_only_260508.md 박제 1:1'.",
      "next_action": "(a) canonical Critical 7 spec doc 'memory/specs/critical_7_canonical_260513.md' 신규 (#1~#7 ID + value + 의미 1:1). (b) feedback_critical_escalation_only_260508.md 본문 회고 박제 (회장 §명시 reference 명시). (c) 향후 task md ESCALATED 매핑은 canonical value 사용 강제 (drift 방지).",
      "priority": "HIGH",
      "rationale": "회장 보고 일관성 핵심. doctrine drift는 RC 확정의 직접 차단 사유."
    }
  ],
  "non_gaps": {
    "items_already_passing": ["2", "3", "4", "5", "6", "7", "8", "9"],
    "core_automation_pass_summary": "G4 Pre-PR gate (#7), owner_trigger 자동 invocation (#4), minor_in_expected_files triage (#5), executor per-PR isolation (#6), 3-way AND merge decision (#8), BOT squash + match-head-commit (#9), expected_files 100% strict (#2), forbidden path 0 (#3) — 회장 §명시 핵심 자동화 8/12 항목 PASS."
  },
  "owner_decision_options": [
    {
      "option": "A",
      "label": "RC 즉시 확정 (HIGH priority 2건 후속으로 미루기)",
      "trade_off": "현재 핵심 자동화 8/12 PASS — release-ready 측면 가능. 단 reconcile coverage gap과 Critical 7 doctrine gap이 향후 audit drift 위험."
    },
    {
      "option": "B",
      "label": "HIGH priority 2건 (item 11, 12) 해소 후 RC 확정",
      "trade_off": "doctrine consistency 확보. dispatch 2회 추가 필요 (HIGH 2건). MEDIUM 2건은 RC 이후 점진 처리."
    },
    {
      "option": "C",
      "label": "전 4건 PARTIAL 모두 해소 후 RC 확정",
      "trade_off": "최고 일관성. dispatch 3~4회 추가 필요."
    }
  ],
  "owner_decision_field": null
}
