iop/agent-task/cli_terminal_cycle/PLAN.md
toki 1176ed844f fix(cli): add START_MARKER assertion and fix Stop comment (REVIEW_REVIEW_API_FOLLOWUP_4)
- Add START_MARKER verification in TestCLIStartPartialRollbackWithMarkers
- Add requireEventually and readMarker helper functions
- Update CLI.Stop comment to match actual implementation
- Fix all gofmt issues
- SIGKILL cannot trigger trap EXIT, so verify START_MARKER instead
2026-05-03 16:02:37 +09:00

2.3 KiB

Persistent CLI marker assertion and formatting follow-up

이 파일을 읽는 구현 에이전트에게

각 항목의 체크리스트를 완료하면 즉시 체크 표시한다. 중간/최종 검증 명령을 실제로 실행하고 출력을 CODE_REVIEW.md의 검증 결과 섹션에 붙여 넣는다. 계획과 다르게 구현해야 하는 부분이 생기면 이유를 CODE_REVIEW.md계획 대비 변경 사항에 남긴다.

배경

REVIEW_REVIEW_API_FOLLOWUP_3 구현은 sessions map lock 정책과 race 테스트를 크게 개선했지만, partial rollback marker 테스트가 marker 파일을 실제로 검증하지 않고 cli_test.go가 gofmt 상태가 아니다.


[REVIEW_REVIEW_API_FOLLOWUP_4-1] Partial rollback marker assertion 추가

체크리스트

  • apps/node/internal/adapters/cli/cli_test.go - TestCLIStartPartialRollbackWithMarkers에서 marker file을 실제로 읽고 start marker가 기록됐는지 확인한다.
  • apps/node/internal/adapters/cli/cli_test.go - rollback cleanup 이후 exit marker 또는 별도 cleanup marker가 기록됐는지 확인한다. trap timing이 불안정하면 requireEventually 스타일 helper로 짧게 polling한다.
  • apps/node/internal/adapters/cli/cli_test.go - no-session assertion은 유지하되 marker assertion을 핵심 검증으로 둔다.

[REVIEW_REVIEW_API_FOLLOWUP_4-2] Formatting 및 주석 정리

체크리스트

  • apps/node/internal/adapters/cli/cli_test.go - gofmt를 적용한다.
  • apps/node/internal/adapters/cli/cli.go - Stop 주석의 "reverse registration order"가 실제 구현과 맞지 않으면 수정한다.

최종 검증

gofmt -w apps/node/internal/adapters/cli/cli.go apps/node/internal/adapters/cli/cli_test.go apps/node/internal/adapters/registry.go apps/node/internal/adapters/registry_test.go
gofmt -l apps/node/internal/adapters/cli/cli.go apps/node/internal/adapters/cli/cli_test.go apps/node/internal/adapters/registry.go apps/node/internal/adapters/registry_test.go
go test ./apps/node/internal/adapters ./apps/node/internal/adapters/cli
go test ./apps/node/internal/bootstrap ./apps/node/...
go test ./...
CGO_ENABLED=1 go test -race ./apps/node/internal/adapters ./apps/node/internal/adapters/cli