Files
hanarang-rails/Plans.md
이랑이 ae86d95155 feat(sprint-002): Skill 강제 진입 + Bypass 감지
Sprint 002 전체 구현 — F1 (자매 skill bypass) 해결:

Enforcement core:
- src/enforcement/skill-context.ts — 스킬 컨텍스트 생성/읽기/삭제/만료 체크
- src/enforcement/skill-trace.ts — 도구 사용 추적 (JSONL append)
- src/enforcement/guard.ts — pre-tool 가드 (context 유무 + 만료 + escape hatch)

Hooks (실제 로직):
- hooks/pre-tool.sh — Write/Edit/Bash 게이트 (context 없으면 exit 2)
- hooks/post-tool.sh — 도구 사용 trace 자동 기록

CLI:
- rails skill-context {create|show|clear}
- rails skill-trace {show|blocked}

Tests (13 신규, 22 total pass):
- skill-context: CRUD + 만료 감지
- skill-trace: append + read + blocked count
- guard: no-context 차단, valid 허용, expired 차단, RAILS_ENFORCE=off escape hatch

검증: tsc --noEmit ✓ | vitest 22/22 ✓ | build ✓ | rails --help ✓

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

1.9 KiB
Raw Blame History

Plans.md — hanarang-rails

루트 인덱스만. 상세는 .plans/sprints/*.md 참조. 포맷: v2 (Task / 내용 / DoD / Depends / Status)

📖 관련 문서

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:WIP
3 Sprint Contract + DoD validator (Zod) SPRINT-003 cc:TODO
4 4자매 핸드오프 엔진 (상태 전이 기반) SPRINT-004 cc:TODO
5 재시도 / 타임아웃 / 에스컬레이션 policy SPRINT-005 cc:TODO
6 QA 체크리스트 템플릿 + 다랑이 runtime SPRINT-006 cc:TODO
7 기존 프로젝트 마이그레이션 (아랑 등) SPRINT-007 cc:TODO

현재 스프린트

Sprint 002 — Skill 강제 진입 + Bypass 감지 (cc:WIP)

다음 착수 예정. 상세는 .plans/sprints/SPRINT-001-skeleton.md 참조.

마커 범례

마커 의미
cc:TODO 미착수
cc:WIP 작업 중
cc:blocked 의존 대기
cc:완료 [hash] 완료 (commit hash)