From a6b55aeded6655bb50890d520d70d3ef6a7e55a3 Mon Sep 17 00:00:00 2001 From: toki Date: Tue, 16 Jun 2026 10:43:30 +0900 Subject: [PATCH] =?UTF-8?q?docs(backtest-scenario):=20=EC=9B=90=EA=B2=A9?= =?UTF-8?q?=20runner=20=EC=A4=80=EB=B9=84=20=EC=83=81=ED=83=9C=20=EC=A0=90?= =?UTF-8?q?=EA=B2=80=20=ED=95=AD=EB=AA=A9=EC=9D=84=20=EC=B6=94=EA=B0=80?= =?UTF-8?q?=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- agent-roadmap/phase/backtest-loop/PHASE.md | 4 +-- .../backtest-scenario-automation.md | 27 ++++++++++++++----- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/agent-roadmap/phase/backtest-loop/PHASE.md b/agent-roadmap/phase/backtest-loop/PHASE.md index 5bc8c98..ce221ad 100644 --- a/agent-roadmap/phase/backtest-loop/PHASE.md +++ b/agent-roadmap/phase/backtest-loop/PHASE.md @@ -22,9 +22,9 @@ - [완료] Backtest Data Collection Infrastructure - 경로: `agent-roadmap/archive/phase/backtest-loop/milestones/backtest-data-collection-infrastructure.md` - 요약: 선택 종목을 자동/일별로 수집하고 정제된 백테스트 입력 데이터만 DB에 남기는 headless 인프라를 만든다. -- [검토중] Backtest Scenario Automation +- [진행중] Backtest Scenario Automation - 경로: `agent-roadmap/phase/backtest-loop/milestones/backtest-scenario-automation.md` - - 요약: 선택 universe와 기간 조합을 반복 가능한 backtest scenario로 실행하고 결과 handoff를 안정화한다. + - 요약: 선택 universe와 기간 조합을 반복 가능한 backtest scenario로 실행하고, 원격 runner에서 migration/runtime/secret 주입/결과 handoff를 안정화한다. ## Phase 경계 diff --git a/agent-roadmap/phase/backtest-loop/milestones/backtest-scenario-automation.md b/agent-roadmap/phase/backtest-loop/milestones/backtest-scenario-automation.md index 6439725..83d0fab 100644 --- a/agent-roadmap/phase/backtest-loop/milestones/backtest-scenario-automation.md +++ b/agent-roadmap/phase/backtest-loop/milestones/backtest-scenario-automation.md @@ -11,7 +11,7 @@ ## 상태 -[검토중] +[진행중] ## 승격 조건 @@ -29,6 +29,7 @@ - 결과 summary, 실패/timeout, expectation mismatch를 stable text/JSONL로 남기는 headless handoff - 기존 API/worker/contracts 경계를 유지한 CLI/operator workflow 보강 - 반복 실행 가능한 fixture와 local smoke test +- 원격 runner에서 migration, worker/API runtime, KIS secret 주입, CLI scenario 실행 순서를 검증 가능한 handoff로 정리 ## 기능 @@ -40,17 +41,28 @@ - [x] [batch-runner] 여러 backtest run을 순차 실행하고 각 run의 polling 결과를 stable text/JSONL로 출력한다. 검증: `go test -count=1 ./apps/cli/internal/operator ./services/api/internal/socket ./services/worker/internal/socket ./services/worker/internal/jobs` - [x] [result-handoff] 성공, 실패, timeout, expectation mismatch 결과를 fixture와 `headless_validation.md`에 남겨 후속 운영 표면이 소비할 수 있게 한다. 검증: `go test -count=1 ./apps/cli/internal/operator ./apps/cli/internal/cli` 및 `rg --sort path -n "backtest" apps/cli/testdata/operator/headless_validation.md apps/cli/testdata/operator` +### Epic: [remote-test] Remote test readiness + +원격 runner에서 백테스트 smoke를 실제 API/worker/DB/KIS 경계로 실행할 수 있게 선행 조건과 실행 순서를 고정한다. + +- [ ] [remote-env-sync] 원격 테스트 checkout과 실제 실행 checkout을 하나로 맞추고, DB/Redis health와 migration version이 현재 repo migration과 일치하는지 확인하는 절차를 남긴다. 검증: 원격 runner에서 `bin/infra-check` 또는 동등한 DB/Redis health check와 `alt-worker-migrate` 실행 결과를 sanitized evidence로 기록 +- [ ] [runtime-startup] 원격 worker/API 실행 순서를 `migration -> worker -> API -> CLI scenario`로 정리하고, `ALT_WORKER_SOCKET_URL`, bind host/port, KIS SOPS env 주입이 worker 프로세스까지 전달되는지 검증한다. 검증: `api_connection_smoke`가 `worker-available` capability를 포함하고 backtest import step이 typed success를 반환 +- [ ] [matrix-seed] matrix scenario가 신규 원격 DB에서도 결정적으로 통과하도록 선행 import/seed 조건을 YAML 또는 handoff 문서에 반영한다. 검증: 원격 runner에서 `backtest_matrix_success.yaml`이 import/seed 선행 조건 충족 후 exit code `0` +- [ ] [result-poll] `backtest_result_summary.yaml`이 start 직후 result를 즉시 조회하지 않고 terminal status 도달 후 result를 조회하도록 flaky 구간을 제거한다. 검증: 원격 runner에서 `backtest_result_summary.yaml --output jsonl`이 exit code `0`이고 `run_status=succeeded`와 result summary key를 함께 기록 + ## 완료 리뷰 -- 상태: 요청됨 +- 상태: 보완 필요 - 요청일: 2026-06-16 -- 완료 근거: +- 기존 완료 근거: - `scenario-matrix`, `batch-runner`, `result-handoff`가 각 `complete.log`의 `Roadmap Completion` 섹션에서 PASS로 확인되었다. - 명시된 Go test와 `git diff --check` 검증이 완료 로그에서 PASS로 확인되었다. -- 리뷰 필요: - - [ ] 사용자가 완료 결과를 확인했다 - - [ ] archive 이동을 승인했다 -- 리뷰 코멘트: 모든 기능 Task가 완료 후보로 동기화되었으며, 사용자 최종 확인과 archive 이동 승인이 남아 있다. +- 보완 필요: + - [ ] 원격 DB migration이 현재 repo migration과 일치한다. + - [ ] 원격 실행 checkout이 테스트 규칙의 checkout과 동기화되어 있다. + - [ ] KIS SOPS env가 원격 worker runtime까지 주입되는 실행 경로가 확인되었다. + - [ ] matrix/result summary scenario가 신규 원격 DB에서도 deterministic하게 통과한다. +- 리뷰 코멘트: 원격 준비 상태 점검에서 migration drift, checkout 불일치, matrix 선행 데이터, result polling 순서 문제가 확인되어 완료 후보에서 진행중 보완으로 되돌린다. ## 범위 제외 @@ -65,6 +77,7 @@ - 관련 경로: `apps/cli/`, `services/api/`, `services/worker/`, `packages/contracts/`, `packages/domain/` - 표준선(선택): 백테스트 반복 운영은 먼저 CLI, YAML fixture, JSONL/text output, Go tests로 검증한다. - 표준선(선택): API는 얇은 control plane으로 유지하고 run 실행과 결과 저장은 worker 경계를 따른다. +- 표준선(선택): 원격 테스트 evidence에는 raw host, token, account number, secret 값을 남기지 않고 sanitized status와 exit code만 남긴다. - 선행 작업: Backtest Data Collection Infrastructure - 후속 작업: Data Quality Monitoring, Agent Tooling Bridge 후보 - 확인 필요: 없음