---
task_id: task-43.0
type: plan
scope: system
project: anu-guide-system
created: 2026-03-02
updated: 2026-04-24
status: active
---

# 계획서: 아누 가이드 시스템 구축

**task**: task-43.0
**목표**: 아누 가이드 v1.1을 실현하는 시스템 인프라 구축 (즉시조치 ~ Phase 4)
**승인**: 제이회장님 2026-03-02 "시작!" 승인 / Phase 4: 2026-04-24 승인
**근거**: 
- Phase 0~3: Agent 미팅 (`memory/meetings/2026-03-02-anu-guide-gap-analysis.md`)
- Phase 4: Agent 미팅 13명 전원합의 (`memory/meetings/2026-04-24-dispatch-quality-automation.md`)

---

## 범위

### 즉시조치 — 보안
A. dispatch.py BOT_KEYS 하드코딩 폴백 제거 → 환경변수 전용
B. 핵심 파일 권한 640 강화 (dispatch.py, task-timer.py, bot_settings.json 등)

### Phase 0 — hooks 인프라
A. ~/.claude/hooks/ 디렉토리 생성
B. ~/.claude/settings.json에 hooks 설정 추가
C. hooks/user-prompt-submit.sh — 매뉴얼 자동 주입 (키워드/의도 감지 → 스킬 로드)
D. hooks/post-tool-use.sh — Audit Trail (Write/Edit 감지 → JSONL 로그)
E. hooks/lib/detect-bot.sh — cwd 기반 봇 식별
F. /tmp/ 서버 로그 → memory/logs/ 영구 경로 이전

### Phase 1 — 작업 기억 + skills
A. 3문서 스키마 확정 (YAML 프론트매터 규약)
B. .claude/skills/agent-meeting.md — 미팅 진행 스킬
C. .claude/skills/3docs-create.md — 3문서 자동 생성 스킬
D. .claude/skills/nuclear-approval.md — 핵미사일 승인 스킬

### 제외 (Phase 2 이후)
- 마아트 독립 봇 구성
- QC 자동 트리거
- 런타임 검증
- 전체 6단계 파이프라인

### Phase 4 — 위임 작업 품질 자동화 (2026-04-24 추가)

> **제이회장님 지시**: "아누가 잊어먹어도 실제로 코드가 자동으로 진행할 수 있게 해야함"
> **미팅**: 13명 전원합의 5사이클 (`memory/meetings/2026-04-24-dispatch-quality-automation.md`)

3대 루트 원인 해결:
- RC-1: 영향 범위 전수조사 누락 (task-2142 사례)
- RC-2: 연쇄 이슈 직렬 발견 (task-2143/2144 사례)
- RC-3: 실동작 미검증 (task-2140 사례)

#### Phase 4-1A: 즉시 FAIL 게이트 (신규 파일 + 수정)
- `teams/shared/verifiers/l1_smoketest_check.py` 수정 — "확인 불가" 패턴 FAIL + EXEMPT 조건
- `dispatch.py` 수정 — `_auto_inject_affected_files()` + `_auto_generate_goal_assertions()` 추가
- `scripts/finish-task.sh` 수정 — Step 2.12 Goal Assertions Gate 추가

#### Phase 4-1B: WARN 모드 데이터 수집 (신규 파일)
- `scripts/impact_scanner.py` 신규 — 수정 파일 기반 역방향 영향 범위 스캔 (~200줄)
- `scripts/ci_preflight.sh` 신규 — 멀티 러너 CI 게이트 (~80줄)
- `config/gate-config.json` 신규 — 게이트 설정 중앙 관리 (~40줄)
- `scripts/finish-task.sh` 수정 — Step 2.6(Impact), 2.6.5(CI), 2.11(Unresolved) 추가

#### Phase 4-2: WARN → FAIL 승격 (2주 후)
- false positive < 10% 확인 후 Phase 1B 게이트를 FAIL로 전환
- gate-config.json의 mode: "warn" → "fail" 변경

### 제외 (향후)
- Container-per-Session (장기 과제)
- SQLite 상태 이관 (별도 프로젝트)
- NLP 기반 spec_conformance (연구 필요)
- Visual Regression (baseline 관리 시스템 필요)

---

## 위임 계획

### Phase 0~3 (완료)
- 즉시조치: **1팀 (헤르메스)** — 보안 패치 ✅
- Phase 0: **1팀 (헤르메스)** — hooks 구현 ✅
- Phase 1: **2팀 (오딘)** — skills 설계 ✅
- Phase 3: **2팀 (오딘)** — 파이프라인 통합 ✅

### Phase 4 (신규 — 병렬 위임)

| 항목 | 담당 팀 | 파일 | 예상 변경량 | 우선순위 |
|------|---------|------|------------|----------|
| C-FINAL-3 l1_smoketest 강화 | 7팀 (이잠나) | l1_smoketest_check.py | +30줄 | P1 (Phase 4-1A) |
| C-FINAL-1 impact_scanner | 1팀 (헤르메스) | scripts/impact_scanner.py | ~200줄 신규 | P1 (Phase 4-1B) |
| C-FINAL-4 dispatch.py 확장 | 2팀 (오딘) | dispatch.py | +80줄 (2함수) | P1 |
| C-FINAL-5 finish-task.sh 게이트 | 3팀 (다그다) | scripts/finish-task.sh | +100줄 (4 step) | P1 |
| C-FINAL-2 ci_preflight | 4팀 (비슈누) | scripts/ci_preflight.sh | ~80줄 신규 | P2 (Phase 4-1B) |
| C-FINAL-6 gate-config | 5팀 (엔키) | config/gate-config.json | ~40줄 신규 | P2 |
| C-FINAL-7 .done 포맷 | 3팀 (다그다) | finish-task.sh Step 3 | +10줄 | P2 |
| 통합 테스트 | composite (로키+마아트) | tests/ | 8 케이스 | P1 |

## 검증 기준

### Phase 0~3
- 즉시조치: `grep -r "BOT_KEYS" dispatch.py` → 하드코딩 없음 ✅
- Phase 0: hooks 실제 동작 확인 ✅
- Phase 1: skills/ 파일 존재 + 실제 로드 ✅
- Phase 3: 파이프라인 6단계 정의 ✅

### Phase 4
- l1_smoketest: "UI 직접 확인 불가" 포함 보고서 → QC FAIL 반환
- impact_scanner: 수정 파일의 심볼 역추적 → 누락 파일 WARNING
- ci_preflight: pytest + tsc + vitest 멀티 러너 → 전체 PASS/FAIL
- goal_assertions: task 파일 완료 기준 자동 실행 → 전부 통과 시 .done
- dispatch.py: 백틱 코드 토큰 자동 grep → affected_files 자동 주입
- gate-config.json: 게이트 ON/OFF + mode(warn/fail) + 임계치 중앙 관리
- 통합: 8개 핵심 시나리오 테스트 전체 PASS
