# 작업 보고서: task-48.1
**아누 가이드 시스템 구축: Phase 3 — 파이프라인 통합 + 런타임 검증**

**작성자**: 오딘 (dev2-team장)
**완료일**: 2026-03-02
**팀원**: 토르(백엔드), 미미르(문서), 헤임달(테스터)

---

## 1. 작업 내용

### A. 런타임 검증 스크립트 (health-check.sh)
3계층 검증 시스템 구현. 아누 가이드 3.5 "런타임 검증" 항목 충족.

- **Level 1 — 프로세스 상태**: pgrep -f cokacdir + ss -tlnp 포트 8000 확인
- **Level 2 — API 응답**: /api/status (JSON "status" 키), /dashboard/ (HTML 응답)
- **Level 3 — 데이터 정합성**: task-timers.json running 작업 카운트, sync-check.py 호출
- 출력: JSON 형식 (6개 체크 항목 + summary)
- 종료 코드: fail 항목 존재 시 1, 전부 pass 시 0
- 실행 후 pipeline-status.json의 last_health_check 자동 업데이트

### B. 파이프라인 6단계 정의 (pipeline-stages.md)
아누 가이드 1.6 파이프라인을 6개 Stage로 공식 명세화.

- Stage 1: 지시 전달 (UserPromptSubmit hook)
- Stage 2: AI 작업 수행 (팀 에이전트 시스템)
- Stage 3: 파일 자동 기록 (PostToolUse hook → audit-trail.jsonl)
- Stage 4: 오류 자동 검사 (Phase 2, 진행 중)
- Stage 5: 프로젝트 리마인더 (예정)
- Stage 6: AI 빠른 수정 (예정)

각 Stage별 입력/출력/트리거 조건/실패 처리 명세 완료. 480라인 상세 문서.

### C. 파이프라인 상태 추적 (pipeline-status.json + task-timer 연동)
- pipeline-status.json 구조: {last_updated, active_tasks[], last_health_check}
- task-timer.py 수정: start_task() → active_tasks에 추가 (stage=2, "AI 작업 수행"), end_task() → active_tasks에서 제거
- health-check.sh 실행 시 last_health_check 자동 갱신
- 에러 발생해도 task-timer 기능 중단 없도록 try/except 처리

### D. 주기적 헬스체크 cron 등록 안내
10분마다 실행 cron 등록 방법 (아누가 결정 후 등록):
```bash
cokacdir --cron "health-check.sh 실행하고 결과를 memory/logs/health-check.log에 기록하라: bash /home/jay/workspace/memory/health-check.sh >> /home/jay/workspace/memory/logs/health-check.log 2>&1" \
  --at "*/10 * * * *" \
  --chat 6937032012 --key c119085addb0f8b7
```

---

## 2. 생성/수정 파일 목록

| 파일 | 동작 | 비고 |
|------|------|------|
| `/home/jay/workspace/memory/health-check.sh` | 생성 | chmod +x 완료, 실행 가능 |
| `/home/jay/workspace/memory/specs/pipeline-stages.md` | 생성 | 480라인, 6단계 완전 명세 |
| `/home/jay/workspace/memory/pipeline-status.json` | 생성 (자동) | health-check.sh 실행 시 생성됨 |
| `/home/jay/workspace/memory/task-timer.py` | 수정 | _update_pipeline_status 메서드 추가 |
| `/home/jay/workspace/memory/plans/anu-guide-system/checklist.md` | 수정 | Phase 3 완료 체크 |

---

## 3. 테스트 결과 (헤임달)

| 테스트 항목 | 결과 | 비고 |
|-----------|------|------|
| health-check.sh JSON 출력 검증 | PASS | 6개 체크 항목 정상 |
| health-check.sh 종료 코드 | PASS | fail 시 1 반환 정상 |
| pipeline-status.json 구조 확인 | PASS | 3개 필드 정상 |
| last_health_check 업데이트 확인 | PASS | health-check 결과 반영 |
| task-timer start → active_tasks 추가 | PASS | stage=2 정상 추가 |
| task-timer end → active_tasks 제거 | PASS | 완전 제거 확인 |
| pipeline-stages.md 6단계 완성 | PASS | 480라인 문서 |

**전체 결과: 7/7 PASS**

---

## 4. 발견된 버그

### WARNING: dashboard_endpoint 체크 FAIL
- **현상**: `curl http://localhost:8000/dashboard/` 응답이 HTML 태그 없음
- **심각도**: WARNING (치명적 아님)
- **원인**: 대시보드 서비스 미동작 또는 응답 형식 불일치 (현재 환경 특성)
- **영향**: health-check.sh 종료 코드 1 반환
- **조치 필요**: 아누 판단 — 대시보드 서비스 확인 또는 체크 조건 조정

---

## 5. 비고

### 주기적 헬스체크 cron 등록 여부
- 실제 cron 등록은 아누 결정 대기 (섹션 D 참조)
- health-check.sh 자체는 완전 구현됨, 언제든 등록 가능

### Phase 3 완료 상태
Phase 3의 모든 구현 항목(A~E) 완료. 체크리스트 업데이트 완료.

### Phase 4 전체 파이프라인 통합 테스트
Phase 2 (1팀 task-47.1) 완료 후 전체 파이프라인 통합 테스트 가능.
현재 Stage 1~3 구현 완료, Stage 4~6 미구현 상태.
