# relay-baton v0.7.0 릴리즈 노트 상태: **Released** 날짜: 2026-05 테마: **Review & Diagnose** — plan 대비 *실제로 무엇이 바뀌었는지*를 검사하고, 실행 receipt를 남기고, plan이 어떻게 진화했는지 추적한다. 모두 결정론적이며 **모델 호출 없음**. 또한 향후 Agent Room을 위한 append-only conversation event 기반을 마련한다(`docs/AGENT_ROOM.md` 참고). ## 요약 v0.7은 v0.5 plan-execute가 연 루프를 닫는다. plan 실행 후 working-tree diff를 plan의 Steps와 대조해 `review`할 수 있고, 각 step을 append-only receipt로 `done` / `skipped` 표시할 수 있으며, plan을 다시 작성할 때마다 section 단위 delta를 볼 수 있다. `status`/`budget`/`review`에 스크립팅용 `--json`이 추가됐다. 모든 신규 기능은 결정론적이고 additive하다. ## 추가 (Added) - **`relay-baton review`** — working-tree diff를 `plan.md`의 Steps와 결정론적으로 대조한다. 모델 호출 없음. 각 step에서 파일 경로 토큰을 추출해 git 변경 파일과 매칭하고, touched / untouched / uncorrelated step과 "계획되지 않은" 변경 파일, `test-results.md` 첫 줄, handoff 존재 여부를 보고한다. `--json` 지원. - **실행 receipt** — `relay-baton receipt done ` / `receipt skip ` (`--note` 선택)로 `plan.md`의 `## Execution receipts` 아래에 변경 불가능한 `[done]` / `[skipped]` 줄을 append한다. receipt는 절대 재작성하지 않으며, 정정은 새 receipt다. `receipt list` (`--json`)로 다시 읽는다. - **Plan diffing** — `relay-baton plan`이 re-plan 전에 기존 `plan.md`를 `plan..md`로 백업하고, 이전 plan 대비 section 단위 delta (`added` / `removed` / `changed` / `unchanged`)를 출력한다. - **`--json` 출력** — `status`, `budget`, `review`용 머신 판독 스냅샷. - **Conversation event schema (DRAFT)** — append-only `.ai-session/conversation.jsonl` 로그(`ConversationLog`)와 `@relay-baton/shared`의 `ConversationEvent` 스키마. `review`와 `receipt`는 token-diet 친화적 요약 event를 남긴다(전체 diff/log는 절대 넣지 않고 참조). v0.7에서는 기반 작업만이며 chat/room 명령은 출시하지 않는다. ## 변경 (Changed) - CLI 버전을 `0.7.0`으로 올림. ## 문서 - `docs/ROADMAP.md`와 `docs/AGENT_ROOM.md`가 이미 v0.7의 review/diagnose-as-events 방향을 서술하며, 본 릴리즈는 결정론적 review/receipt/diff 부분을 구현한다. ## 테스트 - `PlanReview.test.ts` — 경로 추출, step 파싱, diff-vs-plan 상관(touched/ untouched/uncorrelated, unplanned 파일). - `ConversationLog.test.ts` — JSONL append/read, 빈 로그 처리, 잘못된 줄 무시. - `PlanDiffReceipts.test.ts` — section 단위 diff 분류, plan 백업 / 최신 백업 탐색, append-only receipt. - `review.test.ts` (cli) — human + `--json` 출력과 conversation event 영속화. ## 포함되지 않음 (계속 보류) - 실제 chat/room 명령, TUI 입력창, bounded multi-turn `continue` → **v0.8+** (Agent Room). - OpenCode / Gemini / Aider adapter → 필요 시 **v0.8**. - semantic summarization, exact tokenizer, 자동 commit/push/PR — 영구 범위 밖. ## 업그레이드 노트 - 완전히 additive. config 마이그레이션 불필요. 신규 명령과 `--json` 플래그는 선택사항. `conversation.jsonl`은 lazy하게 생성되며 best-effort다 — 로깅이 하위 명령을 깨뜨리지 않는다. ## 검증 명령 ```bash pnpm build pnpm test relay-baton plan "" --no-run relay-baton receipt done 1 --note "implemented" relay-baton receipt list relay-baton review relay-baton review --json relay-baton status --json relay-baton budget --json ``` 이 중 어느 것도 실제 Codex/Claude 모델을 호출하지 않는다.