---
task_id: task-2503
type: checklist
scope: task
created: 2026-05-08
updated: 2026-05-08
status: completed
---

# 체크리스트: task-2503

**task**: task-2503

---

## Phase 1 — 설계/사전검증 (다그다 직접)

- [x] A. 작업 본질 파악 + dispatch.py 패턴 분석
- [x] B. 3문서 작성 (plan/context/checklist)
- [x] C. Codex 사전 검증 PASS (suggestions 5건 모두 본 설계와 일치)
- [x] D. sanitize 게이트 통과 (PII 0건)

## Phase 2 — 구현 (루: 백엔드)

- [x] A. `memory/specs/merge-topology-gate-schema.yml` 신규 (7 필드)
- [x] B. `utils/merge_topology_gate.py` 신규 (parse + classify + audit_log + run_gate)
- [x] C. `dispatch/__init__.py` Merge Topology Gate hook 추가 (1곳)
- [x] D. `dispatch/__init__.py` argparse `--override-merge-topology-gate` flag 추가
- [x] E. `memory/orchestration-audit/merge-topology-gate.jsonl` 초기 생성

## Phase 3 — 회귀 테스트 (모리건: 테스터)

- [x] A. `tests/regression/test_merge_topology_gate_schema_2503.py` (schema 7건)
- [x] B. `tests/regression/test_merge_topology_gate_classifier_2503.py` (회장 §6 10건 + 자기참조 1건)
- [x] C. `tests/regression/test_merge_topology_gate_dispatch_integration_2503.py` (dispatch hook 5건)

## Phase 4 — 통합/검증 (다그다)

- [x] A. pytest 23/23 PASS (3 파일)
- [x] B. 자기참조 검증 (task-2503 spec 자체가 schema 통과)
- [x] C. dispatch BLOCK 시뮬레이션 → audit jsonl 9 필드 기록 확인 (L1 2건)
- [x] D. L1 스모크: classifier 직접 호출 ALLOW/BLOCK 검증
- [x] E. 회장 §7 5 금지 위반 0건 확인 (auto_merge.py/dashboard/report_parser/PR 영역 변경 0건)
- [x] F. Gemini PR 리뷰 — 워크트리 미사용 시스템 작업이므로 미적용
- [x] G. 마아트 독립 검증 호출 예정

## 검증

- [x] 테스트 통과 확인 (회장 §6 10건 ALL PASS + 자기참조)
- [x] G3 독립 검증 PASS (report_parse/file_existence/micro_commit/three_step_why ALL PASS)
- [x] 최종 보고서 작성 (`memory/reports/task-2503.md`)
- [ ] finish-task.sh 실행 (이후)
