# Complete - cli_real_e2e_failures/01_claude_tui

## 완료 일시

2026-05-22

## 요약

`claude-tui` persistent terminal 실제 E2E 실패를 2회 리뷰 루프로 수정했고, 최종 판정은 PASS이다.

## 루프 이력

| Plan | Review | Verdict | 메모 |
|------|--------|---------|------|
| `plan_cloud_G07_0.log` | `code_review_cloud_G07_0.log` | FAIL | output close branch에서 exit status가 누락되는 Required 이슈 발견 |
| `plan_cloud_G07_1.log` | `code_review_cloud_G07_1.log` | PASS | persistent exit diagnostic 단일화 및 실제 `claude-tui` 2회 메시지 검증 통과 |

## 구현/정리 내용

- persistent session 출력 tail을 bounded buffer로 보존하고 process exit 진단에 target/session/command/recent output을 포함했다.
- Claude TUI startup drain에서 Workspace Trust prompt와 bypass permissions warning을 순차적으로 수락하도록 보강했다.
- output channel close branch와 `sess.done` branch가 같은 persistent exit diagnostic helper를 사용하도록 정리해 exit status를 안정적으로 포함했다.
- `TestCLIExecutePersistentProcessExitReturnsError`와 Claude workspace trust/bypass warning 회귀 테스트를 강화했다.

## 최종 검증

- `go test ./apps/node/internal/adapters/cli -run '^TestCLIExecutePersistentProcessExitReturnsError$' -count=50` - PASS; `ok iop/apps/node/internal/adapters/cli 3.521s`.
- `go test ./apps/node/internal/adapters/cli -run 'Persistent|ClaudeTUI|Lifecycle' -count=1` - PASS; `ok iop/apps/node/internal/adapters/cli 18.711s`.
- `go test ./apps/node/internal/adapters/cli -count=1` - PASS; `ok iop/apps/node/internal/adapters/cli 41.517s`.
- `IOP_EDGE_CONFIG=agent-task/cli_real_e2e_failures/01_claude_tui/edge-tui.yaml ./bin/edge.sh` + `IOP_NODE_CONFIG=configs/node.yaml ./bin/node.sh` - PASS; `/nodes`, `/capabilities`, `/transport`, `IOP_E2E_CLAUDE_TUI_ONE`, `IOP_E2E_CLAUDE_TUI_TWO`, `/sessions`, `/terminate-session` 확인. 두 메시지 모두 non-empty `[node0-msg]`와 `[node0-evt] complete ... detail="prompt-ready"` 도착.
- `git diff --check` - PASS; whitespace error 없음.

## 잔여 Nit

- [apps/node/internal/adapters/cli/persistent_execute_blackbox_test.go:101](/config/workspace/iop/apps/node/internal/adapters/cli/persistent_execute_blackbox_test.go:101)에 임시성 `t.Logf`가 남아 있다.

## 후속 작업

- 없음
