4.0 KiB
4.0 KiB
Checklist Continuation Mode Plan
목표
- 장기 리팩토링/장기 과제가 중간
DONE에서 끊기지 않게 한다. DONE의 의미는 유지한다.DONE= 이번 step 승인- task 종료 = 마지막 step 완료
DONE_WITH_CONCERNS를 continuation 용도로 남용하지 않게 한다.
원칙
- 새 상태값/새 테이블/마이그레이션부터 늘리지 않는다.
- 기존
paired_tasks.plan_notes를 versioned JSON으로 재사용한다. - split point는 reviewer
DONE이 아니라 owner finalize 직전이다. - Arbiter/deadlock은 step 단위로 보고, 장기 stagnation은 plan 단위로 본다.
단계 전략
1. Lite Plan Mode
복잡도를 크게 늘리지 않고 플랜모드의 UX만 먼저 도입한다.
plan_notes에 체크리스트 저장- 명령:
플랜 시작: 1) ... 2) ...플랜 상태플랜 중지
- 현재 step / 남은 step / 직전 요약만 표시
- 다음 step은 사용자가 수동으로 진행
장점:
- 상태 머신을 거의 건드리지 않는다
- 기존 owner/reviewer/arbiter 루프와 충돌이 적다
- checklist 기반 장기 작업 UX를 바로 제공할 수 있다
제한:
DONE후 자동 다음 step은 없다- fresh session 자동 절단도 없다
2. Real Continuation Mode (MVP)
자동 continuation이 필요한 경우에만 확장한다.
plan_notesJSON 스키마 + 파서- 플랜 시작 / 상태 / 중지 명령
- owner finalize continuation 분기
round_trip_countstep 단위 리셋- fresh session prompt wiring
- 테스트
plan_notes JSON 스키마
{
"version": 1,
"mode": "planned",
"items": [
{
"id": "step-1",
"title": "A 리팩토링",
"status": "done",
"summary": "직전 step 요약",
"changedFiles": ["src/a.ts"]
},
{
"id": "step-2",
"title": "B 리팩토링",
"status": "in_progress"
},
{
"id": "step-3",
"title": "C 리팩토링",
"status": "pending"
}
],
"currentIndex": 1,
"autoContinueOnDone": true,
"maxAutoTurns": 6,
"autoTurnsUsed": 2,
"lastStepSummary": "A 완료"
}
판별 규칙:
plan_notes가 versioned JSON이고mode: "planned"일 때만 continuation mode로 해석- 그 외 값은 legacy/freeform note로 유지
구현 포인트
owner finalize 분기
- 위치:
src/paired-execution-context-owner.ts - reviewer 승인 후 owner finalize가
DONE이고 남은 checklist item이 있으면:- 현재 item ->
done - 다음 item ->
in_progress round_trip_count = 0autoTurnsUsed += 1lastStepSummary,changedFiles저장- task status는
completed가 아니라 continuation 가능한 상태로 유지
- 현재 item ->
- 마지막 item일 때만
completed
다음 owner step 자동 시작
- 위치:
src/message-runtime-rules.ts - planned task는
active + lastTurnOutputRole=owner라도owner-follow-up으로 이어질 수 있어야 한다
compact owner prompt
- 위치:
src/message-runtime-prompts.ts - planned continuation에서는 기존 pending prompt를 그대로 재사용하지 않는다
- 다음 step prompt에는 최소한 아래만 전달한다
- 현재 checklist item
- 직전 step 요약
- 변경 파일 목록
- 남은 item 목록
외부 프로젝트에서 차용할 것
Archon
- checklist step 진행
- fresh context
- approval gate 발상
OpenHarness
- permission mode 분리
- auto-compaction 같은 운영 아이디어
외부 프로젝트에서 차용하지 않을 것
- Archon의 YAML DAG/workflow 엔진 전체
- OpenHarness의
plan mode자체- 이쪽은 continuation 엔진이 아니라 permission toggle에 가깝다
- 프레임워크/런타임 통째 교체
구현 순서 제안
- Lite Plan Mode
- 실제 사용 패턴 확인
- Real Continuation Mode MVP
- 이후 compaction / permission polish는 별도 enhancement
out of scope
- step 순서 변경
- step 분할/병합
- 중간 삽입/삭제
- 새 테이블 도입
- auto-compaction 본체 구현