Skip to content

pilot v0.14.0

Choose a tag to compare

@radiostart radiostart released this 01 Aug 02:37
80fc98d

사내 원본 플러그인의 미포팅 기능 4건을 흡수하고, 내장 명령과 충돌하던 스킬 2종을 개명한 minor 릴리스입니다. v0.10.1 이후 병합된 7 PR (#13~#20) 을 한 번에 담습니다.

새 기능

issue 단건 사이클 + 폴더 slug 자동 명명

/pilot:issue 가 컨텍스트 로드·기록만 하던 경량 모드에서 사이클 지원으로 재정의됐습니다. 코드 수정이 필요한 운영 이슈는 project 와 동일한 @pilot-planner → @pilot-planner-critic → @pilot-generator → @pilot-evaluator 사이클을 이슈 단위로 사용합니다.

  • work_mode 계약orchestrate-load 가 STATE.md 의 | issue | {이슈명} | 진행중 | 행을 인식해 issues/{이슈명}/issue.md 를 단건 명세로 로드합니다. 상태 파일 없이 동작하며(stateless), 도메인은 issue.md 의 도메인: 라인에서 읽습니다. 종전에는 이슈명을 프로젝트로 오인해 .agent-state.yml 누락 이라는 오도성 에러가 나가고 doctor 도 오진했습니다.
  • 이슈 수정 모드 계약 — planner 는 원인 기입·영향 범위 후보·회귀 재현 테스트 스텝·결함 지점 1줄을, generator 는 조치 기입과 변경 범위 게이트를, evaluator 는 회귀영향 3분류 판정과 회귀 재현 테스트 직접 실행(test_run skip 금지)·## 조치 미기입 시 READY 금지를 수행합니다.
  • 폴더명 slug 규약 — 식별자(폴더명: 영문 kebab [a-z0-9-] ≤40자)와 표시명(issue.md H1: 한글 원문 요약)을 분리합니다. 팀 용어는 임의 번역하지 않고 도메인 문서의 코드 표기를 우선 채택해 폴더명으로 소스를 grep 할 수 있게 합니다. 유사 이슈 검색은 폴더명 ls 와 H1 grep 을 병행합니다.
  • 모드 경계 집행 — project 전용 스킬은 issue 행에서 issue_active_not_project 안내 후 종료합니다. 예외는 두 개: focusissues/{이슈명}/.focus.md 로 분기하고, commit 은 이슈 수정 커밋이 필수 경로라 계속 동작합니다. 기존 이슈 파일은 훅이 Write·destructive 로부터 보호합니다(Edit·신규 파생 산출물·.focus.* 는 통과).

가이드: 운영 이슈 단건 처리

Open Questions fail-closed 게이트

feature 명세의 미해결 - [ ] 항목이 조용히 무시되던 경로를 차단합니다. plan 에 처리 마커(추정 구현 / 범위 제외)가 없으면 plan-validateinvalid 로 판정하고, evaluator REPORT 에 open_questions gate 가 추가돼 7 gates 가 됩니다. 특히 ### (d) 비즈니스 결정 영역 을 구현이 임의로 결정하면 Major 이슈로 반려합니다.

도메인 지식 환류 (knowledge-sync)

evaluator 가 사이클 종료 시 이번 변경이 도메인 문서에 남길 지식을 감지해 metrics.domain_impact 로 보고합니다. gate 는 아니며(READY 와 detected 는 정상 공존), evaluator 는 감지·보고까지만 하고 workspace/context/ 기록은 사용자 승인 후 메인 대화가 수행합니다.

변경

/pilot:init/pilot:pilot-init, /pilot:review/pilot:pilot-review

Claude Code 내장 /init·/review 와 bare 별칭이 충돌해 스킬이 호출되지 않던 문제를 개명으로 해소했습니다. 기존 이름은 더 이상 동작하지 않습니다 — 튜토리얼·how-to 문서의 명령도 함께 갱신됐습니다.

하니스 정합·규율 보강

  • 진행 보드 선로딩을 TodoWrite / TaskCreate·TaskUpdate 겸용 select 로 변경 (하니스 세대 불일치 공회전 방지)
  • 계획 단계 effort 상향 (planner·critic xhigh), generator 모델 승격
  • plan 분량 가드 — 30,000자 / 최장 라인 1,500자 초과 시 WARN (비차단). 회차 이력 잔재를 정리해 최신 확정 상태만 남기도록 유도
  • 훅 결함 수정 4건 — scope-guard 디렉터리 경계 오매칭, commit-format 명령 앵커링·HEREDOC 검증, protect-managed ./ 접두 정규화·projects 상위 차단, coding-rules 세션 1회 마커
  • SessionStart 컨텍스트 훅 신설, 주석 규율 eval 추가, plan 인용 시 식별자 배제

저장소 안내

루트 CLAUDE.md 의 폐기된 gstack 설치 강제 절을 제거하고 저장소 구조·정본 문서·테스트 명령 안내로 대체했습니다.

검증

  • python3 -m unittest discover -s pilot/tests/tools345 tests OK (v0.10.1 대비 +53)
  • docs_build.py --check exit 0 (34 pages) · doctor.py --schema 6 PASS · 0 WARN · 0 ERROR
  • 사내 식별자 sweep 0건 · issue 사이클은 #26 dogfooding 으로 create-feature → planner → critic → generator → evaluator 완주 검증

업그레이드

Claude Code 에서 /plugin 으로 업데이트하세요. 세션 시작 시 로드된 플러그인 경로는 고정이므로, 업데이트 후 세션을 재시작해야 새 버전이 적용됩니다.

/pilot:init·/pilot:review 를 쓰던 스크립트·메모가 있으면 /pilot:pilot-init·/pilot:pilot-review 로 바꿔야 합니다.