---
task_id: task-2431
type: context
scope: task
created: 2026-05-03
updated: 2026-05-03
status: in-progress
---

# 맥락 노트: task-2431

**task**: task-2431

---

## 결정 근거

### 결정 1: 코드 추가 작성 없음, 기존 머지 검증 + 보고서 거버넌스
- 사고 timeline 분석 결과 task-2430(cancelled)에서 토르가 이미 SCOPE_MAP, _changed_paths, _resolve_test_scope, _run_tests_scoped, _baseline_test_check, 회귀 테스트 7건을 머지(2f299f9e). py_compile/pytest 모두 PASS.
- 회장의 단일 책임 분리 의도는 "task 거버넌스 구조" 분리이지 "이미 머지된 코드 재작성"이 아님 (회귀 0 원칙).
- 따라서 본 task는 ① 단일 책임 시각으로 재검증 ② 셀프 검증 메타 ③ 후속 시퀀스 명시 보고서 작성에 집중.
- 대안 1 (baseline 코드 제거): 회귀 위험 + auto_revert 호출 결정 로직 변경 → 거부.
- 대안 2 (전면 재작성): 회귀 0 원칙 위배 + 의미 없는 시간 소모 → 거부.

### 3 Step Why 자문
- **1st Why** "왜 이 설계(scope-aware)가 필요한가?" → A: 19:54/21:08 두 차례의 무차별 revert 사고에서 무관 영역 test fail이 PR을 죽이는 것을 막기 위해 PR 책임 범위를 명확히 정의해야 한다.
- **2nd Why** "왜 SCOPE_MAP prefix 매치가 최선의 접근인가?" → B: 디렉토리 구조 자체가 모듈 경계를 표현하며, prefix 매치는 (1) 결정적 (2) 변경 시 즉시 반영 (3) pytest 인자(`--testpaths`) 직접 활용 가능. 대안인 import 그래프 분석은 비용 대비 효익 낮음.
- **3rd Why** "왜 SCOPE_MAP이 다른 대안(import graph / 동적 dispatch)보다 나은가?" → C: import 그래프는 (a) 정적 분석 도구 의존 (b) JS/Python 혼재 환경 부적합 (c) 빠른 의사결정 필요. SCOPE_MAP은 8줄 코드로 즉시 운영 가능 + SMOKE_TEST_PATHS fallback이 있어 미매치 안전망 제공.
- A→B→C 일관성: PR 책임 범위 정의(A) → prefix 매치로 결정적 분류(B) → 8줄 코드/즉시 운영 가능(C) → 일관 PASS.

### 결정 2: baseline pre-flight 코드는 그대로 유지 (분리 거버넌스)
- task-2431 명세는 baseline pre-flight를 P1 별도 task로 분리. 그러나 코드 자체는 task-2430 머지로 이미 존재.
- 본 task에서 그 코드를 제거하면 (a) 회귀 발생 가능 (b) auto_revert 호출 결정 로직 변경 (c) "변경 절대 금지" 원칙 위배.
- → 코드 그대로 유지. 본 보고서에 "baseline pre-flight는 별도 P1 task에서 거버넌스 정리" 명시.

### 결정 3: 셀프 검증 메타 — 본 task 자체가 새 룰 통과
- 본 task의 changed paths: `scripts/post_merge_probe.py`, `tests/scripts/test_post_merge_probe_scope.py`, `memory/reports/...`
- SCOPE_MAP 매치: `scripts/` → `tests/scripts/` ✓ (scoped 모드)
- 본 task가 머지되면 post_merge_probe가 `tests/scripts/`만 실행 → server/tests env fail은 무시 → auto_revert 안 일어남 (셀프 검증 PASS 예상)

## 참조 자료

- 사고 commit: f64bcb1 (task-2423 revert), 9ceed5c (task-2429 revert)
- 머지 코드: 2f299f9e (task-2430 토르 — 본 task 의 코드 베이스라인)
- 회장 거버넌스 메모: ★ system_governance_4layer.md, feedback_correction_via_new_task.md, feedback_dispatch_completion_verification.md, feedback_merge_status_cross_verify.md
- 검증 스크립트: scripts/post_merge_probe.py:97 (_changed_paths), :116 (_resolve_test_scope), :162 (_run_tests_scoped)

## 주의사항

- ⚠️ scripts/auto_revert.py 절대 수정 금지 (task forbidden_paths)
- ⚠️ server/tests/** 절대 손대지 말 것 (별도 baseline 회복 task)
- ⚠️ 보고서에 "후속 task 시퀀스" 명시 필수: ① server/tests 핫픽스 ② task-2423/2429 부활 ③ P1 baseline pre-flight 정식화 ④ P2 cherry-picker
- ⚠️ 회장 4대 규칙 중 "실 작동 시뮬레이션" — 시나리오 1번이 mock으로 검증함. 보고서에 시나리오 1 PASS 결과 + 시뮬레이션 절차 직접 기재
