Files
hanarang-rails/.claude/rules/principles.md
이랑이 bac114d469 docs(plans): Sprint 000 — 전체 플랜 문서 세트 작성
- CLAUDE.md 를 .claude/rules/ 4파일로 분할 (project/stack/principles/workflow)
- Plans.md 루트 인덱스 (스프린트 목차 + 참조만)
- hooks/ pre/post-tool.sh 스켈레톤 (no-op, Sprint 002에서 구현)
- .plans/OVERVIEW.md — 목표/범위/성공기준 8개
- .plans/failure-audit.md — F1~F6 실패 감사 (증거 기반)
- .plans/design/ 6개 문서:
  * state-machine.md (XState v5 FSM 설계)
  * sprint-contract.md (Zod schema + validator)
  * skill-enforcement.md (4계층 방어)
  * handoff.md (상태 전이 기반 자매 통신)
  * retry-policy.md (backoff + escalation)
  * qa-template.md (체크리스트 runtime)
- .plans/sprints/ 8개 스프린트 명세 (SPRINT-000~007)
- .plans/migration/from-hanarang-harness.md (자산 매트릭스 + 단계별 가이드)

총 17개 문서, 약 2146 lines.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 12:36:49 +09:00

1.5 KiB

설계 원칙 (하드 룰)

1. 강제 > 권고

모든 파이프라인 전이는 코드로 강제한다. LLM 판단에 맡기지 않는다. "자매가 알아서 해주겠지"는 금지어다.

2. 결정론적 FSM

자매 간 핸드오프는 XState state transition 이다. 멘션 기반 핸드오프는 사용자 알림 전용이며, 실제 자매 간 통신은 상태 머신이 주도한다.

3. Sprint Contract = 불변 계약

모든 스프린트/작업은 시작 전에 sprint-contract.json 을 생성한다. DoD 는 Zod schema 로 표현되고 validator 가 pass/fail 을 판정한다. "build 통과 = 완료" 는 금지다.

4. Skill 진입 강제

OpenClaw 자매가 hanarang-rails 스킬을 우회하면 post-hook 이 이를 감지하고 작업을 revert 한다. skill 경로를 타지 않은 결과물은 invalid 다.

5. QA 체크리스트 의무

다랑이(QA)는 스프린트 타입별 체크리스트를 전부 체크해야 pass 를 내릴 수 있다. 체크 안 한 항목이 하나라도 있으면 자동 REQUEST_CHANGES.

6. 환경 검증 선행

실기동 검증 환경이 없는 경우 스프린트를 시작하지 않는다. "Docker 없음 → skip" 같은 escape hatch 는 contract 에서 사전 차단.

7. 재시도/에스컬레이션 policy

  • 타임아웃/실패: 지수 백오프로 자동 재시도 (기본 3회)
  • N회 실패: 사용자(나봄하랑) 에스컬레이션
  • thinking tier xhigh 금지 (무한대기 유발 이력)