<!-- task=cli_runtime_closeout/04+01,02,03_milestone_closeout plan=0 tag=TEST -->

# Plan - Milestone Evidence Update

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

`CODE_REVIEW-local-G05.md`의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채우는 것이 필수다. 구현 후 검증 명령을 실행하고 실제 stdout/stderr를 붙여 넣은 뒤, active 파일은 그대로 두고 review ready로 보고한다. 최종 판정, log rename, `complete.log`, archive 이동은 code-review-skill 전용이다.

## 배경

`CLI Automation Runtime 안정화` Milestone의 남은 필수 기능은 command response 정리, field smoke 검증, history/event boundary 확인이다. 앞선 subtasks가 PASS된 뒤 Milestone 문서가 구현 상태를 반영하지 않으면 다음 작업 위치가 계속 흐려진다. 이 task는 앞선 세 작업의 완료를 전제로, 증거가 있는 체크박스만 갱신하고 남은 completion criterion은 명확히 남긴다.

## 의존 관계 및 구현 순서

이 subtask 디렉터리명은 `04+01,02,03_milestone_closeout`이므로 같은 task group의 `01_node_command_contract`, `02+01_edge_console_smoke`, `03_history_event_boundary`가 모두 `complete.log`를 생성한 뒤 시작한다. `agent-task/archive/**`는 사용자가 명시적으로 요청한 경우에만 읽는다. 이 task는 archive 로그를 읽지 않고 현재 소스와 재실행 검증 결과로 evidence를 만든다.

## 분석 결과

### 읽은 파일

- `agent-ops/rules/project/rules.md`
- `agent-ops/roadmap/current.md`
- `agent-ops/roadmap/milestones/cli-automation-runtime-stabilization.md`
- `Makefile`

### 테스트 커버리지 공백

- 이 task 자체는 roadmap 문서 갱신이다.
- Evidence는 `01`, `02`, `03` 완료 후 현재 소스와 재실행 검증으로 확인한다.
- 주요 CLI profile 전체(`claude`, `antigravity`, `codex`, `opencode` 등) 실제 구동 evidence가 이 task에서 새로 생기지 않으면 해당 완료 기준은 체크하지 않는다.

### 심볼 참조

- renamed/removed symbols: none.

### 분할 판단

분할 정책을 먼저 평가했다. This task is intentionally dependent because it must not mark roadmap items complete before node contract, edge/smoke, and boundary docs are reviewed. It is separated from implementation subtasks so roadmap state is updated only after evidence exists.

### 범위 결정 근거

Only `agent-ops/roadmap/milestones/cli-automation-runtime-stabilization.md` is in write scope. Do not update `current.md`, `ROADMAP.md`, archived task files, or unrelated milestone text.

### 빌드 등급

build=`local-G05`, review=`local-G05`. Roadmap evidence update with deterministic tests/searches; no production code change.

## 구현 체크리스트

- [ ] [TEST-1] 앞선 세 subtask가 완료됐다는 현재 소스 evidence를 재검증한다.
- [ ] [TEST-2] Milestone 필수 기능 체크박스를 evidence가 있는 항목만 갱신한다.
- [ ] [TEST-3] 완료 기준 체크박스는 evidence가 충분한 항목만 갱신하고, 부족한 항목은 남긴다.
- [ ] 중간 검증과 최종 검증 명령을 실행하고 실제 출력을 `CODE_REVIEW-local-G05.md`에 기록한다.
- [ ] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

### [TEST-1] Evidence Reverification

#### 문제

Roadmap checkbox를 evidence 없이 닫으면 다음 작업 분석이 잘못된다. 이 task는 archive 로그 대신 현재 소스와 재실행 검증으로 evidence를 만든다.

#### 해결 방법

Run the exact verification commands:

```bash
go test -count=1 ./apps/node/internal/adapters/cli ./apps/node/internal/node ./apps/edge/internal/opsconsole ./apps/edge/internal/service ./apps/edge/internal/events
```

```bash
rg --sort path -n 'session\.[0-9]+\.label|"state"|state = connected|Local Execution History|bounded replay' apps/node apps/edge docs scripts
```

#### 수정 파일 및 체크리스트

- [ ] No file change for this item.
- [ ] Record actual verification output in `CODE_REVIEW-local-G05.md`.

#### 테스트 작성

No new tests. This is evidence collection for roadmap update.

#### 중간 검증

```bash
go test -count=1 ./apps/node/internal/adapters/cli ./apps/node/internal/node ./apps/edge/internal/opsconsole ./apps/edge/internal/service ./apps/edge/internal/events
```

Expected: all listed packages pass freshly.

### [TEST-2] Required Feature Checkbox Update

#### 문제

[agent-ops/roadmap/milestones/cli-automation-runtime-stabilization.md](/config/workspace/iop/agent-ops/roadmap/milestones/cli-automation-runtime-stabilization.md:31)는 command response와 boundary items를 unchecked로 남겨 현재 상태를 반영하지 않는다.

#### 해결 방법

If TEST-1 passes and source evidence exists, update the required feature section.

Before [agent-ops/roadmap/milestones/cli-automation-runtime-stabilization.md](/config/workspace/iop/agent-ops/roadmap/milestones/cli-automation-runtime-stabilization.md:31):

```markdown
- [ ] 운영 명령 응답과 검증 기준을 마무리한다.
  - [ ] `SESSION_LIST`, `USAGE_STATUS`, `TRANSPORT_STATUS` 응답 payload를 운영자가 읽기 쉬운 필드로 정리한다.
  - [ ] 대상 패키지 테스트와 field smoke 절차로 운영 명령 응답을 검증한다.
- [ ] Node local execution history와 Edge event aggregation의 책임 경계를 확인한다.
```

After:

```markdown
- [x] 운영 명령 응답과 검증 기준을 마무리한다.
  - [x] `SESSION_LIST`, `USAGE_STATUS`, `TRANSPORT_STATUS` 응답 payload를 운영자가 읽기 쉬운 필드로 정리한다.
  - [x] 대상 패키지 테스트와 field smoke 절차로 운영 명령 응답을 검증한다.
- [x] Node local execution history와 Edge event aggregation의 책임 경계를 확인한다.
```

#### 수정 파일 및 체크리스트

- [ ] `agent-ops/roadmap/milestones/cli-automation-runtime-stabilization.md`: update required feature checkboxes only after TEST-1 passes.

#### 테스트 작성

No test file. Covered by final `rg`.

#### 중간 검증

```bash
rg --sort path -n '운영 명령 응답과 검증 기준|SESSION_LIST|Node local execution history|완료 기준' agent-ops/roadmap/milestones/cli-automation-runtime-stabilization.md
```

Expected: required feature items are checked after evidence is recorded.

### [TEST-3] Completion Criteria Update

#### 문제

[agent-ops/roadmap/milestones/cli-automation-runtime-stabilization.md](/config/workspace/iop/agent-ops/roadmap/milestones/cli-automation-runtime-stabilization.md:36)의 completion criteria should not be blanket-checked without major profile evidence.

#### 해결 방법

If TEST-1 and TEST-2 pass, update only the criteria backed by current evidence:

Before:

```markdown
- [ ] 주요 CLI profile이 동일한 `RunRequest`/`RunEvent` 흐름으로 실행된다.
- [ ] session list, usage status, transport status가 운영자가 이해할 수 있는 응답을 제공한다.
- [ ] CLI adapter 변경 시 대상 패키지 테스트와 field smoke 기준이 함께 맞는다.
```

After:

```markdown
- [ ] 주요 CLI profile이 동일한 `RunRequest`/`RunEvent` 흐름으로 실행된다.
- [x] session list, usage status, transport status가 운영자가 이해할 수 있는 응답을 제공한다.
- [x] CLI adapter 변경 시 대상 패키지 테스트와 field smoke 기준이 함께 맞는다.
```

Keep the first criterion unchecked unless this implementation pass also produces real major-profile evidence. If it does produce that evidence, record the exact commands/output in `CODE_REVIEW-local-G05.md` before checking it.

#### 수정 파일 및 체크리스트

- [ ] `agent-ops/roadmap/milestones/cli-automation-runtime-stabilization.md`: update only evidence-backed completion criteria.

#### 테스트 작성

No test file. Covered by final `rg`.

#### 중간 검증

```bash
sed -n '25,45p' agent-ops/roadmap/milestones/cli-automation-runtime-stabilization.md
```

Expected: evidence-backed checkboxes are updated; major-profile criterion remains unchecked unless verified and recorded.

## 수정 파일 요약

| 파일 | 항목 |
|---|---|
| `agent-ops/roadmap/milestones/cli-automation-runtime-stabilization.md` | TEST-2, TEST-3 |

## 최종 검증

```bash
go test -count=1 ./apps/node/internal/adapters/cli ./apps/node/internal/node ./apps/edge/internal/opsconsole ./apps/edge/internal/service ./apps/edge/internal/events
```

```bash
rg --sort path -n 'session\.[0-9]+\.label|"state"|state = connected|Local Execution History|bounded replay' apps/node apps/edge docs scripts
```

```bash
sed -n '25,45p' agent-ops/roadmap/milestones/cli-automation-runtime-stabilization.md
```

Expected: tests pass, source evidence is visible, and roadmap checkboxes match recorded evidence without over-claiming major profile completion.

모든 코드 변경 완료 후 반드시 `CODE_REVIEW-*-G??.md`의 구현 에이전트 소유 섹션을 채운다. 이 파일 작성이 구현의 마지막 단계다.
