# Code Review Reference - TEST > **[IMPLEMENTING AGENT — READ FIRST] Filling in this file is the mandatory final step of implementation.** > Complete implementation-owned sections and keep active files in place for code-review. Finalization is review-agent-only. Do not ask the user directly during implementation. ## 개요 date=2026-06-16 task=m-backtest-scenario-automation/07+05_result_poll_remote, plan=0, tag=TEST ## Roadmap Targets - Milestone: `agent-roadmap/phase/backtest-loop/milestones/backtest-scenario-automation.md` - Task ids: - `result-poll`: `backtest_result_summary.yaml`이 terminal status 도달 후 result를 조회하도록 flaky 구간을 제거하고 원격 JSONL evidence를 기록한다. - Completion mode: check-on-pass ## 이 파일을 읽는 리뷰 에이전트에게 > **[REVIEW AGENT ONLY]** 종결 절차는 코드리뷰 에이전트 전용이다. PASS이면 active plan/review를 `.log`로 아카이브하고 `complete.log`를 작성한 뒤 `agent-task/archive/YYYY/MM/m-backtest-scenario-automation/07+05_result_poll_remote/`로 이동한다. PASS 완료 이벤트 메타데이터만 보고하고 roadmap은 직접 수정하지 않는다. --- ## 구현 항목별 완료 여부 | 항목 | 완료 여부 | |------|---------| | [TEST-1] Remote result summary polls before result read | [ ] | ## 구현 체크리스트 - [ ] `05+04_runtime_startup` complete.log가 있는지 확인하고 경로를 기록한다. - [ ] local checkout에서 `backtest_result_summary.yaml`이 `start -> poll -> result` 순서인지 확인한다. - [ ] 원격 runner의 `apps/cli`에서 `backtest_result_summary.yaml`을 원격 API socket 대상으로 실행하고 exit code 0을 기록한다. - [ ] 원격 JSONL에 `run_status=succeeded`, `starting_cash`, `ending_equity`, `total_return`, `trade_count`가 포함되는지 실제 출력으로 기록한다. - [ ] 필요하면 `apps/cli/testdata/operator/headless_validation.md`에 result-poll remote evidence 절차를 raw 값 없이 보강한다. - [ ] `CODE_REVIEW-*-G??.md`의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다. ## 코드리뷰 전용 체크리스트 - [ ] `코드리뷰 결과`에 `PASS`, `WARN`, `FAIL` 중 하나의 판정을 append한다. - [ ] active review/plan을 `.log`로 아카이브한다. - [ ] PASS이면 `complete.log`를 작성하고 active `.md` 파일을 남기지 않는다. - [ ] PASS이면 active task 디렉터리를 archive로 이동한다. - [ ] PASS이면 roadmap 수정이나 `update-roadmap` 직접 호출을 하지 않는다. ## 계획 대비 변경 사항 _구현 에이전트가 계획과 다르게 구현한 부분을 이유와 함께 기록한다._ ## 주요 설계 결정 _구현 에이전트가 주요 설계 결정 사항을 기록한다._ ## 사용자 리뷰 요청 _기본값은 `없음`이다. 구현 중 사용자 결정, 사용자 소유 외부 환경/secret/서비스 준비, 또는 계획 범위 변경 없이는 안전하게 진행할 수 없으면 아래 항목을 실제 내용으로 교체하고, 구현을 중단한 뒤 active 파일을 그대로 둔 채 리뷰를 요청한다. 구현 에이전트는 사용자에게 직접 질문하거나 선택지를 제시하거나 `request_user_input`을 호출하지 않는다._ - 상태: 없음 - 사유 유형: 없음 - 결정 필요: 없음 - 차단 근거: 없음 - 실행한 검증/명령: 없음 - 자동 후속 불가 이유: 없음 - 재개 조건: 없음 ## 리뷰어를 위한 체크포인트 - 05 predecessor complete.log가 확인됐는지 본다. - 원격 result summary JSONL이 poll succeeded와 result summary keys를 모두 포함하는지 본다. - raw endpoint/secret 값이 기록되지 않았는지 확인한다. ## 검증 결과 ### TEST-1 중간 검증 ```bash $ go test -count=1 ./apps/cli/internal/operator ./apps/cli/internal/cli ``` ### 최종 검증 ```bash $ git diff --check $ go test -count=1 ./apps/cli/internal/operator ./apps/cli/internal/cli $ test -f agent-task/m-backtest-scenario-automation/05+04_runtime_startup/complete.log || find agent-task/archive -path '*/m-backtest-scenario-automation/05+04_runtime_startup/complete.log' -print -quit $ rg --sort path -n "poll_backtest_run|run_status: succeeded|get_backtest_result" apps/cli/testdata/operator/backtest_result_summary.yaml apps/cli/testdata/operator/headless_validation.md $ ssh "$ALT_REMOTE_SSH" "set -euo pipefail; cd \"$ALT_REMOTE_ALT_ROOT/apps/cli\"; go run ./cmd/alt operator scenario run --file testdata/operator/backtest_result_summary.yaml --api-url \"ws://127.0.0.1:18030/socket\" --output jsonl" ``` --- > **[IMPLEMENTING AGENT — BEFORE SAVING] Have you filled in every implementation-owned section?**