<!-- task=cli_real_e2e_failures/02_opencode_second_run plan=3 tag=REVIEW_REVIEW_REVIEW_OCODE -->

# PLAN-cloud-G07 - stabilize review checklist verification

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

이 follow-up은 `code_review_cloud_G07_2.log`의 Required를 닫기 위한 검증 기록 보정 작업이다. source code 수정은 예상하지 않는다. 이전 `rg "\[ \]"` 검증은 결과를 같은 review 파일에 붙이면 그 출력 자체가 다시 match되는 self-referential 명령이므로, 실제 unchecked checklist/table 행만 잡는 anchored 명령으로 대체한다.

## 배경

- 이전 plan log: `plan_cloud_G07_2.log`
- 이전 review log: `code_review_cloud_G07_2.log`
- 리뷰 판정: FAIL
- 실제 opencode e2e 자체는 `/tmp/tmp.f0xk6Llrg7/edge.out` 및 `/tmp/tmp.f0xk6Llrg7/node.out`에서 2회 메시지와 complete가 확인됐다.
- cleanup 확인은 `ps` 출력 없음으로 통과했다.
- FAIL 사유는 `REVIEW_REVIEW_OCODE-2 최종 확인`의 `rg "\[ \]"` 출력이 현재 파일 상태와 일치하지 않았고, 해당 명령이 같은 파일에 stdout을 붙이는 방식과 구조적으로 맞지 않았기 때문이다.

## 구현 체크리스트

- [ ] `CODE_REVIEW-cloud-G07.md`에서 unanchored `rg "\[ \]"` 검증을 실제 unchecked checklist/table 행만 잡는 anchored `rg` 검증으로 대체한다.
- [ ] 대체 사유가 self-referential 검증 방지임을 `계획 대비 변경 사항`과 `검증 결과`에 기록한다.
- [ ] `CODE_REVIEW-cloud-G07.md`를 plan과 동일한 구현 체크리스트 및 최신 검증 출력 기준으로 갱신한다.

## 구현 계획

### [REVIEW_REVIEW_REVIEW_OCODE-1] review checklist 검증 명령을 안정화한다

문제:

- `rg --sort path -n "\[ \]" CODE_REVIEW-cloud-G07.md`는 prose, ownership table, 붙여 넣은 이전 `rg` stdout까지 모두 match한다.
- 특히 검증 stdout을 같은 파일에 붙이면 해당 stdout 줄이 다음 실행 결과에 다시 포함되어, 저장 후 현재 출력과 기록 출력이 계속 달라진다.

수정 방향:

- `CODE_REVIEW-cloud-G07.md`의 검증 명령을 아래 anchored 명령으로 둔다.
- 이 명령은 실제 행 시작이 unchecked list item이거나 구현 완료 table status인 경우만 match한다.
- `rg` 출력 줄은 파일 안에서 `숫자:`로 시작하므로 다시 match되지 않는다.

예상 수정 파일:

- `agent-task/cli_real_e2e_failures/02_opencode_second_run/CODE_REVIEW-cloud-G07.md`

검증:

- `rg --sort path -n '^(- \[ \]|\| \[.*\| \[ \] \|)' agent-task/cli_real_e2e_failures/02_opencode_second_run/CODE_REVIEW-cloud-G07.md`

### [REVIEW_REVIEW_REVIEW_OCODE-2] review 파일 계약을 다시 확인한다

문제:

- 구현 완료 표시와 검증 출력의 현재성이 이번 follow-up의 전부다.
- source code나 실제 e2e 로그를 다시 수정한 것처럼 기록하면 안 된다.

수정 방향:

- 구현 항목별 완료 여부와 구현 체크리스트를 모두 `[x]`로 표시한다.
- `계획 대비 변경 사항`에는 source code 변경 없음, verification command 대체 사유, 실제 e2e/cleanup 결과 유지 여부를 기록한다.
- 검증 출력에는 anchored `rg` 실제 stdout을 붙여 넣는다.

예상 수정 파일:

- `agent-task/cli_real_e2e_failures/02_opencode_second_run/CODE_REVIEW-cloud-G07.md`

검증:

- `rg --sort path -n "REVIEW_REVIEW_REVIEW_OCODE|구현 체크리스트|검증 결과" agent-task/cli_real_e2e_failures/02_opencode_second_run/CODE_REVIEW-cloud-G07.md`

## 수정 파일 요약

| 파일 | 수정 의도 |
| --- | --- |
| `agent-task/cli_real_e2e_failures/02_opencode_second_run/CODE_REVIEW-cloud-G07.md` | self-referential verification output을 안정적인 anchored 검증으로 교체 |

## 최종 검증

- `rg --sort path -n '^(- \[ \]|\| \[.*\| \[ \] \|)' agent-task/cli_real_e2e_failures/02_opencode_second_run/CODE_REVIEW-cloud-G07.md`
- `rg --sort path -n "REVIEW_REVIEW_REVIEW_OCODE|구현 체크리스트|검증 결과" agent-task/cli_real_e2e_failures/02_opencode_second_run/CODE_REVIEW-cloud-G07.md`

최종 응답에는 source code 변경 여부, 검증 명령 대체 사유, 실제 e2e 로그 경로, 남은 위험을 요약한다.
