Sprint 004 핵심 구현 — F3 (QA 자동 라우팅 누락) + F4 (핸드오프 불안정) 해결:
Config (범용):
- src/config/schema.ts — Zod RailsConfig (pipeline/agents/discord)
- src/config/loader.ts — YAML + 환경변수 interpolation (${VAR})
- rails.config.example.yaml — 샘플 설정
Handoff:
- src/handoff/message.ts — HandoffMessage discriminated union (plan/implement/review/deploy)
- src/handoff/transport.ts — SisterTransport 인터페이스
- src/handoff/mock-transport.ts — 시나리오 override 가능한 mock
- src/handoff/discord-transport.ts — encodeInvokeMarker / decodeResultMarker
(HTML 주석 + json 블록 — 자매는 LLM 우회 파서로 처리)
DiscordPoster 인터페이스 주입으로 discord.js 와 독립 테스트 가능
Orchestrator:
- src/orchestrator/runner.ts — runPipeline E2E
state → stage 매핑 → transport.invoke → HandoffMessage → FSM 이벤트
타임아웃/에러는 ERROR 이벤트로 변환해 FSM 에 위임
CLI:
- rails run <project> [-r requirements] [-c config.yaml] [--mock]
Tests (16 신규, 57 total pass):
- HandoffMessage discriminated union 검증
- MockTransport 기본/오버라이드 시나리오
- Discord marker encode/decode round-trip
- DiscordTransport with fake poster
- Config loader YAML + 환경변수 interpolation
검증: tsc --noEmit ✓ | vitest 57/57 ✓ | build ✓ | rails run --help ✓
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.0 KiB
2.0 KiB
Plans.md — hanarang-rails
루트 인덱스만. 상세는
.plans/sprints/*.md참조. 포맷: v2 (Task / 내용 / DoD / Depends / Status)
📖 관련 문서
.plans/OVERVIEW.md— 전체 목표 / 범위 / 성공 기준.plans/failure-audit.md— F1–F6 실패 감사.plans/design/— 설계 문서 세트.plans/sprints/— 스프린트별 상세 명세.plans/migration/— 마이그레이션 가이드
Sprint 목차
| # | Sprint | 상세 | Status |
|---|---|---|---|
| 0 | 세이프티 네트 + 실패 감사 + 프로젝트 세팅 | SPRINT-000 | cc:완료 [bac114d] |
| 1 | 스켈레톤: XState FSM + orchestrator + .plans/ 스캐폴딩 | SPRINT-001 | cc:완료 [PR#1] |
| 2 | Skill 강제 진입 hook + bypass 감지 + 차단 | SPRINT-002 | cc:완료 [PR#2] |
| 3 | Sprint Contract + DoD validator (Zod) | SPRINT-003 | cc:완료 [PR#3] |
| 4 | 4자매 핸드오프 엔진 (상태 전이 기반) | SPRINT-004 | cc:WIP |
| 5 | 재시도 / 타임아웃 / 에스컬레이션 policy | SPRINT-005 | cc:TODO |
| 6 | QA 체크리스트 템플릿 + 다랑이 runtime | SPRINT-006 | cc:TODO |
| 7 | 기존 프로젝트 마이그레이션 (아랑 등) | SPRINT-007 | cc:TODO |
현재 스프린트
Sprint 004 — 4자매 핸드오프 엔진 + 디스코드 알림 (cc:TODO)
다음 착수 예정. 상세는 .plans/sprints/SPRINT-001-skeleton.md 참조.
마커 범례
| 마커 | 의미 |
|---|---|
cc:TODO |
미착수 |
cc:WIP |
작업 중 |
cc:blocked |
의존 대기 |
cc:완료 [hash] |
완료 (commit hash) |