From 13fa52726061b43b6f411a2cf1d906cc0c9a6cae Mon Sep 17 00:00:00 2001 From: toki Date: Sun, 14 Jun 2026 21:18:33 +0900 Subject: [PATCH] update roadmap and plan documents for backtest data collection milestone --- .../milestones/backtest-data-collection-infrastructure.md | 5 ++++- .../02+01_storage_bar_selector/PLAN-cloud-G05.md | 6 +++--- .../03+01,02_backtest_selector_flow/PLAN-cloud-G06.md | 7 ++++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/agent-roadmap/phase/backtest-loop/milestones/backtest-data-collection-infrastructure.md b/agent-roadmap/phase/backtest-loop/milestones/backtest-data-collection-infrastructure.md index c768bfa..c8a5021 100644 --- a/agent-roadmap/phase/backtest-loop/milestones/backtest-data-collection-infrastructure.md +++ b/agent-roadmap/phase/backtest-loop/milestones/backtest-data-collection-infrastructure.md @@ -61,7 +61,7 @@ - 상태: 없음 - 요청일: 없음 -- 완료 근거: `watchlist-config`, `daily-collect`, `freshness-status`, `provider-boundary`, `normalized-store`, `gap-handling`, `headless-smoke` 기능 Task가 완료되었으나 `input-selector`가 남아 있어 전체 마일스톤 완료 조건은 아직 충족되지 않았다. +- 완료 근거: `watchlist-config`, `daily-collect`, `freshness-status`, `provider-boundary`, `normalized-store`, `gap-handling`, `headless-smoke` 기능 Task가 완료되었고, `input-selector` split 작업은 `01_input_selector_contract`만 PASS되었다. `02+01_storage_bar_selector`, `03+01,02_backtest_selector_flow`가 active로 남아 있어 전체 마일스톤 완료 조건은 아직 충족되지 않았다. - 리뷰 필요: - [ ] 사용자가 완료 결과를 확인했다 - [ ] archive 이동을 승인했다 @@ -88,6 +88,9 @@ - 완료 근거(normalized-store): PostgreSQL bars schema와 SQL query contract가 normalized OHLCV 필드만 사용하고 raw provider payload column을 포함하지 않도록 guard test를 추가했다. 2026-06-14에 `go test -count=1 ./services/worker/internal/storage/postgres`가 통과했다. - 완료 근거(gap-handling): `collection_freshness` scenario가 `expected_yyyymmdd` 기반 gap, duplicate, provider delay를 text/JSONL 출력과 expectation mismatch 검증에 포함하며, matched-zero-bars symbol의 double count regression을 보강했다. 2026-06-14에 `go test -count=1 ./apps/cli/internal/operator ./apps/cli/internal/cli`가 통과했다. 증거: `agent-task/archive/2026/06/m-backtest-data-collection-infrastructure/03+02_gap_handling/complete.log`. - 완료 근거(headless-smoke): `backtest_run_polling` operator scenario가 named universe 기반 `import_daily_bars` 후 `start_backtest`와 `poll_backtest_run`으로 terminal 상태까지 확인하는 headless smoke를 문서화했다. 2026-06-14에 `go test -count=1 ./apps/cli/internal/operator ./apps/cli/internal/cli`가 통과했다. +- 작업 현황(input-selector): `01_input_selector_contract`는 selector contract/domain/forwarding 보존을 PASS 처리했다. 증거: `agent-task/archive/2026/06/m-backtest-data-collection-infrastructure/01_input_selector_contract/complete.log`. +- 작업 현황(input-selector): `02+01_storage_bar_selector`는 active plan/review 상태이며, `01_input_selector_contract` 선행 조건은 충족되었다. 남은 범위는 저장된 bar source와 engine selector filtering 검증이다. +- 작업 현황(input-selector): `03+01,02_backtest_selector_flow`는 active plan/review 상태이며, `02+01_storage_bar_selector` PASS 후 실행한다. 이 subtask의 `Roadmap Targets`가 `input-selector` Task를 check-on-pass로 닫는다. - 선행 작업: Backtest Engine Baseline, Backtest Analysis Surface - 후속 작업: Backtest Scenario Automation, Data Quality Monitoring, Agent Tooling Bridge 후보 - 확인 필요: 없음 diff --git a/agent-task/m-backtest-data-collection-infrastructure/02+01_storage_bar_selector/PLAN-cloud-G05.md b/agent-task/m-backtest-data-collection-infrastructure/02+01_storage_bar_selector/PLAN-cloud-G05.md index 0b8ba5e..ef86733 100644 --- a/agent-task/m-backtest-data-collection-infrastructure/02+01_storage_bar_selector/PLAN-cloud-G05.md +++ b/agent-task/m-backtest-data-collection-infrastructure/02+01_storage_bar_selector/PLAN-cloud-G05.md @@ -69,7 +69,7 @@ - split decision policy를 평가했고 multi-plan을 선택했다. - shared task group: `agent-task/m-backtest-data-collection-infrastructure/` - 이 subtask: `02+01_storage_bar_selector`. -- predecessor `01_input_selector_contract`: `complete.log` 현재 missing. 구현 시작 전 `agent-task/m-backtest-data-collection-infrastructure/01_input_selector_contract/complete.log` 또는 matching archive complete.log가 있어야 한다. +- predecessor `01_input_selector_contract`: PASS 완료. 증거: `agent-task/archive/2026/06/m-backtest-data-collection-infrastructure/01_input_selector_contract/complete.log`. - sibling `03+01,02_backtest_selector_flow`는 이 subtask 완료 후 진행한다. ### 범위 결정 근거 @@ -81,8 +81,8 @@ - build lane: `cloud-G05`. worker 내부 execution/storage 경계 변경이고 public proto 변경은 선행 plan에 있으므로 G05로 잡는다. ## 의존 관계 및 구현 순서 -- `01_input_selector_contract` 완료가 선행이다. -- 구현 시작 전에 `agent-task/m-backtest-data-collection-infrastructure/01_input_selector_contract/complete.log`가 없으면 이 plan을 구현하지 말고 선행 subtask를 먼저 완료한다. +- `01_input_selector_contract` 완료가 선행이며, 현재 PASS 완료되어 이 plan 구현을 시작할 수 있다. +- 선행 완료 증거: `agent-task/archive/2026/06/m-backtest-data-collection-infrastructure/01_input_selector_contract/complete.log`. ## 구현 체크리스트 - [ ] backtest engine 전용 RunSpec 기반 bar source 경계를 추가하고 paper trading용 `GetBars` compatibility를 유지한다. diff --git a/agent-task/m-backtest-data-collection-infrastructure/03+01,02_backtest_selector_flow/PLAN-cloud-G06.md b/agent-task/m-backtest-data-collection-infrastructure/03+01,02_backtest_selector_flow/PLAN-cloud-G06.md index 90efc00..73c67b0 100644 --- a/agent-task/m-backtest-data-collection-infrastructure/03+01,02_backtest_selector_flow/PLAN-cloud-G06.md +++ b/agent-task/m-backtest-data-collection-infrastructure/03+01,02_backtest_selector_flow/PLAN-cloud-G06.md @@ -83,8 +83,8 @@ - split decision policy를 평가했고 multi-plan을 선택했다. - shared task group: `agent-task/m-backtest-data-collection-infrastructure/` - 이 subtask: `03+01,02_backtest_selector_flow`. -- predecessor `01_input_selector_contract`: `complete.log` 현재 missing. 구현 시작 전 active 또는 archived complete.log가 필요하다. -- predecessor `02+01_storage_bar_selector`: `complete.log` 현재 missing. 구현 시작 전 active 또는 archived complete.log가 필요하다. +- predecessor `01_input_selector_contract`: PASS 완료. 증거: `agent-task/archive/2026/06/m-backtest-data-collection-infrastructure/01_input_selector_contract/complete.log`. +- predecessor `02+01_storage_bar_selector`: 아직 active plan/review 상태이며 `complete.log` 미생성. 구현 시작 전 active 또는 archived complete.log가 필요하다. ### 범위 결정 근거 - 새로운 universe persistence나 DB schema는 만들지 않는다. CLI scenario root `universes`를 start request selector로 materialize하는 범위까지만 다룬다. @@ -96,7 +96,8 @@ ## 의존 관계 및 구현 순서 - `01_input_selector_contract`와 `02+01_storage_bar_selector` 완료가 선행이다. -- 구현 시작 전에 두 경로의 `complete.log`가 없으면 이 plan을 구현하지 말고 선행 subtask를 먼저 완료한다. +- `01_input_selector_contract`는 PASS 완료되었고, `02+01_storage_bar_selector`는 아직 active plan/review 상태다. +- 구현 시작 전에 `02+01_storage_bar_selector`의 active 또는 archived `complete.log`가 없으면 이 plan을 구현하지 말고 선행 subtask를 먼저 완료한다. - 구현 순서: worker job payload 보존 -> CLI scenario/runner selector 생성 -> fixtures/handoff 갱신 -> 전체 검증. ## 구현 체크리스트