- Add edge runtime config and opsconsole package - Refactor edge console to use new runtime config - Add service source metadata support - Update CLI adapter with target terminology - Add edge operation contract and event bus replay - Update node label and command ops surface - Add E2E smoke tests and full validation - Update proto runtime definitions - Update documentation and agent-ops rules
90 lines
3.8 KiB
Text
90 lines
3.8 KiB
Text
<!-- task=10_bin_e2e_smoke plan=5 tag=REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_BES -->
|
|
|
|
# 10 Bin E2E Smoke Follow-up Plan - REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_BES
|
|
|
|
## 이 파일을 읽는 구현 에이전트에게
|
|
|
|
이 plan은 real profile smoke의 PASS 기록과 리뷰 재실행 결과 불일치를 끝낸다. 현재 스크립트는 failure marker를 정직하게 잡고 있으나, `IOP_E2E_PROFILE=gemini make test-e2e`가 외부 LLM 응답에 따라 PASS/FAIL이 바뀐다. 이 상태에서 review file에 PASS를 기록하면 안 된다.
|
|
|
|
구현 마지막에는 반드시 `CODE_REVIEW-cloud-G07.md`의 모든 구현 소유 섹션을 실제 구현 내용과 명령 출력으로 채운다. 검증 출력에는 `...`를 쓰지 않는다.
|
|
|
|
## 배경
|
|
|
|
plan=4 review file은 real profile 결과를 PASSED로 기록했다. 그러나 리뷰 중 같은 명령을 재실행하자 Gemini background run이 `[node-event] error run_id=...`를 만들었고, 스크립트는 `Real profile (gemini) status: FAILED`, `Smoke test FAILED`, exit 1을 반환했다.
|
|
|
|
## 구현 체크리스트
|
|
|
|
- [x] [REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_BES-1] real profile 결과 표기를 실제 재실행 exit status와 일치시킨다.
|
|
- [x] [REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_BES-2] real profile PASS를 목표로 할 경우 비결정적 LLM 응답을 제거하거나 안정화한다.
|
|
- [x] [REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_BES-FINAL] `CODE_REVIEW-cloud-G07.md`의 구현 소유 섹션을 모두 채운다.
|
|
|
|
## [REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_BES-1] real profile 결과 표기 정합성
|
|
|
|
### 문제
|
|
|
|
real profile command가 실패하는데 review file에는 PASS로 기록되어 verification trust가 깨진다.
|
|
|
|
### 해결 방법
|
|
|
|
- `IOP_E2E_PROFILE=gemini make test-e2e`를 재실행한다.
|
|
- exit 0이면 PASS 출력 전체를 기록한다.
|
|
- exit 1/2이면 FAILED 출력 전체를 기록하고 구현 항목 완료 여부를 PASS로 표시하지 않는다. 필요하면 task verdict도 FAIL로 남기는 것이 맞다.
|
|
- 환경 문제면 BLOCKED로 기록한다.
|
|
- 기록과 command exit status가 반드시 일치해야 한다.
|
|
|
|
### 수정 파일 및 체크리스트
|
|
|
|
- [x] `agent-task/10_bin_e2e_smoke/CODE_REVIEW-cloud-G07.md`
|
|
|
|
### 테스트 결정
|
|
|
|
실제 command exit status와 review file 결과 표기가 일치하는지가 완료 기준이다.
|
|
|
|
### 중간 검증
|
|
|
|
```bash
|
|
IOP_E2E_PROFILE=gemini make test-e2e
|
|
```
|
|
|
|
## [REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_BES-2] real profile 안정화
|
|
|
|
### 문제
|
|
|
|
`ping`/`pong`도 Gemini CLI가 도구 실행 또는 error event를 만들 수 있어 deterministic PASS가 아니다.
|
|
|
|
### 해결 방법
|
|
|
|
- PASS를 목표로 한다면 real profile smoke prompt를 deterministic하게 다시 설계한다. 예: 명시적으로 "Reply with exactly OK and do not inspect files or use tools" 같은 짧은 지시를 사용하고, 그래도 CLI가 도구를 쓰거나 error event를 만들면 FAILED로 기록한다.
|
|
- 또는 real profile을 optional 검증으로 유지하고, 현재 환경에서 실패하면 FAILED/BLOCKED를 정직하게 기록한다. 이 경우 PASS로 archive하지 않는다.
|
|
|
|
### 수정 파일 및 체크리스트
|
|
|
|
- [x] `scripts/e2e-smoke.sh` (PASS 안정화가 목표일 때)
|
|
- [x] `agent-task/10_bin_e2e_smoke/CODE_REVIEW-cloud-G07.md`
|
|
|
|
### 테스트 결정
|
|
|
|
`IOP_E2E_PROFILE=gemini make test-e2e`가 review 재실행에서도 같은 결과를 내야 한다.
|
|
|
|
### 중간 검증
|
|
|
|
```bash
|
|
IOP_E2E_PROFILE=gemini make test-e2e
|
|
```
|
|
|
|
## 수정 파일 요약
|
|
|
|
| 파일 | 항목 |
|
|
|---|---|
|
|
| `agent-task/10_bin_e2e_smoke/CODE_REVIEW-cloud-G07.md` | REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_BES-1, REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_BES-FINAL |
|
|
| `scripts/e2e-smoke.sh` | REVIEW_REVIEW_REVIEW_REVIEW_REVIEW_BES-2 (필요한 경우) |
|
|
|
|
## 최종 검증
|
|
|
|
```bash
|
|
go test -count=1 ./...
|
|
make test-e2e
|
|
IOP_E2E_PROFILE=gemini make test-e2e
|
|
```
|
|
|
|
실패한 real profile을 PASS로 기록하지 않는다.
|