<!-- task=cli_command_responses/02+01_edge_console_smoke plan=1 tag=REVIEW_TEST -->

# Edge Console Command Smoke Follow-up Plan

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

이 plan은 `code_review_cloud_G07_0.log`의 Required 문제만 해결한다. 새 기능을 추가하지 말고, README의 `/status` 예시와 검증 기록 신뢰성만 복구한다. 구현 마지막 단계에서 반드시 `CODE_REVIEW-cloud-G07.md`의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 최종 판정, 로그 아카이브, `complete.log` 작성, task archive 이동은 code-review-skill 전용이다.

## 배경

이전 리뷰는 코드 경로와 테스트 자체는 통과했지만 FAIL로 종료됐다. 이유는 두 가지다.

- `apps/edge/README.md`의 기준 출력 예시가 `fake-cli`에서 `/status`가 성공해 `parse_status=empty`를 출력하는 것처럼 보인다. 하지만 mock e2e profile은 `HAS_STATUS=0`이라 `/status`를 실행하지 않고, 실제 status checker도 `fake-cli` target을 지원하지 않는다.
- `CODE_REVIEW-cloud-G07.md`의 `make test-e2e` 검증 출력에 `...`가 포함되어 실제 stdout/stderr 전체를 붙이라는 규칙을 만족하지 못했다.

## 범위

- `apps/edge/README.md`의 `/status` 예시를 실제 동작과 맞춘다.
- 필요하면 `apps/node/README.md` 문장을 최소 수정해 지원 target 경계를 명확히 한다.
- 새 active `CODE_REVIEW-cloud-G07.md`에 최종 검증 출력을 축약 없이 기록한다.
- edge/node 런타임 코드는 변경하지 않는다. 코드 변경이 필요하다고 판단되면 먼저 이유를 `계획 대비 변경 사항`에 기록한다.

## 빌드 등급

build=`cloud-G07`, review=`cloud-G07`. 후속 범위가 smoke 출력 신뢰성과 terminal/process 검증 기록을 포함하므로 기존 route를 유지한다.

## 구현 체크리스트

- [ ] [REVIEW_TEST-1] README `/status` 예시를 실제 fake-cli/support behavior와 맞춘다.
- [ ] [REVIEW_TEST-2] 최종 검증 출력 기록을 축약 없이 복구한다.
- [ ] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

## [REVIEW_TEST-1] README `/status` 예시를 실제 fake-cli/support behavior와 맞춘다

### 문제

`apps/edge/README.md`의 fake-cli 기준 출력 예시에는 `/status` 성공 출력이 들어 있다. 그러나 `scripts/e2e-smoke.sh`의 mock profile은 `HAS_STATUS=0`이라 `/status`를 실행하지 않으며, `apps/node/internal/adapters/cli/status/status.go`의 checker 선택은 codex/claude/antigravity 계열 target만 지원한다. 이전 `CODE_REVIEW`의 manual transcript도 fake-cli `/status` 미지원이라고 기록했다.

### 해결 방법

README의 fake-cli transcript에서 `/status` 성공 출력을 제거하거나, 별도 supported profile 예시로 분리한다. 최종 문서는 다음 둘 중 하나를 만족해야 한다.

- fake-cli 기준 출력에는 `/status`를 넣지 않고, `/status`는 supported profile에서만 사용한다고 설명한다.
- `/status` 예시를 codex/claude/antigravity 등 실제 checker가 지원하는 target 예시로 분리한다.

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

- [ ] `apps/edge/README.md`: fake-cli `/status` 성공 출력이 남지 않게 수정.
- [ ] `apps/edge/README.md`: `/status` 지원 target 경계를 짧게 명시.
- [ ] 필요 시 `apps/node/README.md`: Node Commands의 `USAGE_STATUS` 지원 target 설명 보강.

### 테스트 작성

문서 정합성 수정이므로 새 unit test는 작성하지 않는다. 대신 아래 grep으로 문서와 스크립트의 status 경계가 모순되지 않는지 확인한다.

### 중간 검증

```bash
rg -n "fake-cli|/status|parse_status|HAS_STATUS" apps/edge/README.md scripts/e2e-smoke.sh apps/node/internal/adapters/cli/status/status.go
```

기대 결과: README가 fake-cli `/status` 성공을 주장하지 않고, supported target 경계가 확인된다.

## [REVIEW_TEST-2] 최종 검증 출력 기록을 축약 없이 복구한다

### 문제

이전 `CODE_REVIEW`의 최종 검증 중 `make test-e2e` 출력이 `...`로 축약되어 있다. active review file의 검증 결과는 실제 stdout/stderr를 붙여야 하며, 축약 또는 재구성된 출력은 verification trust 실패다.

### 해결 방법

후속 구현 후 아래 최종 검증을 새 `CODE_REVIEW-cloud-G07.md`에 축약 없이 기록한다. 출력이 너무 길면 명령 자체에서 저장한 로그 파일 경로와 함께 핵심 tail/head를 기록하되, saved-log path가 실제로 존재하고 리뷰어가 확인 가능한 형태여야 한다. 단순 `...` placeholder는 사용하지 않는다.

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

- [ ] `CODE_REVIEW-cloud-G07.md`: 중간 검증 및 최종 검증의 실제 stdout/stderr 기록.
- [ ] `CODE_REVIEW-cloud-G07.md`: manual field smoke를 수행하지 못하면 blocker와 남은 위험을 명확히 기록.

### 테스트 작성

새 테스트 파일은 작성하지 않는다. 검증 출력 신뢰성을 회복하기 위한 rerun을 수행한다.

### 중간 검증

```bash
go test -count=1 ./apps/edge/internal/service ./apps/edge/internal/opsconsole
```

기대 결과: package PASS.

## 최종 검증

```bash
go test -count=1 ./apps/edge/internal/service ./apps/edge/internal/opsconsole
go test -count=1 ./...
make test-e2e
```

Manual field smoke: `./bin/edge.sh`와 `./bin/node.sh`를 별도 프로세스로 직접 실행할 수 있으면 `/nodes`, `/capabilities`, `/transport`, `/sessions`, supported profile의 `/status`, persistent profile의 `/terminate-session` transcript를 기록한다. 외부 CLI 설치/계정/환경 문제로 수행할 수 없으면 실제 blocker와 남은 위험을 그대로 기록한다.
