---
task_id: task-2569
type: checklist
scope: task
created: 2026-05-13
updated: 2026-05-13
status: completed
---

# 체크리스트: task-2569

**task**: task-2569

---

## G1 — 설계 게이트

- [x] 3문서 초안 작성 (plan/context-notes/checklist)
- [x] Codex 사전 검증 실행 (codex_gate_check.py)
- [x] Codex 결과 반영 (RC-1/RC-3 audit-first로 좁힘)
- [x] 3 Step Why A-B-C 일관성 확인
- [x] affected_files 교차 분석 (sanitize 검사 — PII 없음 확인)

## G2 — 구현 게이트 (백엔드 루 + 테스터 모리건)

- [x] MT-1: memory/specs/protection-list.md 신규 작성
- [x] MT-2: scripts/cleanup-workspace.py protection-list 로드 + dry-run 기본
- [x] MT-3: scripts/file_cleanup.py protection-list 적용
- [x] MT-4: cleanup-stale-tasks.sh + task-timer.py cleanup audit log
- [x] MT-5: scripts/finish-task.sh stash audit log
- [x] MT-6: dispatch/__init__.py task md intent-to-add
- [x] MT-7: pre_push_guard.py + task_scope.py + pre-push lock_sha..HEAD 분기
- [x] MT-T1: tests/regression/test_task_md_preservation_2569.py
- [x] MT-T2: tests/regression/test_finish_task_stash_lifecycle_2569.py
- [x] MT-T3: tests/regression/test_scope_guard_lock_sha_2569.py
- [x] MT-T4: tests/regression/test_cleanup_workspace_protection_2569.py
- [x] pytest 전체 PASS (16 passed in 1.01s)
- [x] py_compile 전체 PASS
- [x] shellcheck PASS (기존 경고만, 새 코드에 추가 경고 없음)
- [x] 마아트 독립 검증 PASS (CONDITIONAL PASS)

## G3 — 머지 게이트

- [x] L1 스모크테스트 (스크립트 dry-run + bash -n + py_compile 모두 OK)
- [ ] 셀프 QC 8항목 PASS (qc_verify.py가 처리)
- [ ] qc_verify.py 자동 검증 PASS (finish-task.sh 내부에서 자동 실행)
- [ ] g3_independent_verifier.py PASS (finish-task.sh 내부에서 자동 실행)
- [x] 보고서 작성 (memory/reports/task-2569.md)
- [x] 3문서 status: in-progress → completed
- [ ] finish-task.sh 실행 (이게 유일한 완료 경로)
