diff --git a/agent-roadmap/phase/backtest-loop/milestones/scheduled-market-data-refresh.md b/agent-roadmap/archive/phase/backtest-loop/milestones/scheduled-market-data-refresh.md similarity index 81% rename from agent-roadmap/phase/backtest-loop/milestones/scheduled-market-data-refresh.md rename to agent-roadmap/archive/phase/backtest-loop/milestones/scheduled-market-data-refresh.md index baabeab..5ef32cb 100644 --- a/agent-roadmap/phase/backtest-loop/milestones/scheduled-market-data-refresh.md +++ b/agent-roadmap/archive/phase/backtest-loop/milestones/scheduled-market-data-refresh.md @@ -11,7 +11,7 @@ ## 상태 -[진행중] +[완료] ## 승격 조건 @@ -21,7 +21,7 @@ - 상태: 해제 - SDD: 필요 -- SDD 문서: `agent-roadmap/sdd/backtest-loop/scheduled-market-data-refresh/SDD.md` +- SDD 문서: `agent-roadmap/archive/sdd/backtest-loop/scheduled-market-data-refresh/SDD.md` - SDD 사유: 원격 scheduler가 외부 provider 호출, DB write, retry/idempotency, config/env, field smoke에 영향을 준다. - 잠금 해제 조건: 아래 체크리스트 - [x] SDD 잠금이 해제되어 있다. @@ -57,18 +57,20 @@ 스케줄 결과를 운영자가 화면 없이 확인하고, backtest selector가 주기 적재 데이터를 사용할 수 있게 한다. -- [ ] [refresh-status] last_success, last_error, next_run, imported bar count, missing/gap/duplicate/provider_delay 상태를 CLI/JSONL로 확인할 수 있게 한다. 검증: status scenario가 success, stale, error 케이스를 구분한다. -- [ ] [backtest-readiness] scheduler가 적재한 데이터에서 backtest input selector와 result scenario가 실행될 수 있음을 원격 smoke로 검증한다. 검증: remote runner에서 scheduler tick 이후 backtest matrix 또는 result summary scenario가 exit code `0`을 기록한다. +- [x] [refresh-status] last_success, last_error, next_run, imported bar count, missing/gap/duplicate/provider_delay 상태를 CLI/JSONL로 확인할 수 있게 한다. 검증: status scenario가 success, stale, error 케이스를 구분한다. +- [x] [backtest-readiness] scheduler가 적재한 데이터에서 backtest input selector와 result scenario가 실행될 수 있음을 원격 smoke로 검증한다. 검증: remote runner에서 scheduler tick 이후 backtest matrix 또는 result summary scenario가 exit code `0`을 기록한다. ## 완료 리뷰 -- 상태: 없음 -- 요청일: 없음 -- 완료 근거: 없음 -- 리뷰 필요: - - [ ] 사용자가 완료 결과를 확인했다 - - [ ] archive 이동을 승인했다 -- 리뷰 코멘트: 없음 +- 상태: 통과 +- 요청일: 2026-06-23 +- 완료 근거: + - `scheduled-runner`, `retry-backfill`, `refresh-status`, `backtest-readiness`는 `agent-task/archive/2026/06/m-scheduled-market-data-refresh/**/complete.log`의 `Roadmap Completion` PASS와 검증 명령 근거가 있다. + - `backtest-readiness`는 remote `scheduled_backtest_readiness` field transcript에서 `exit_code=0`, `PROCESS_EXIT=0`, `scheduler_status=success`, `run_status=succeeded`를 기록했다. + - 기존 완료 체크된 `schedule-config`와 SDD S01 연결은 유지하며, S02-S05 완료 evidence가 SDD Evidence Map을 충족한다. + - 코드 레벨 종료 검토에서 scheduler/config/status/socket/operator 경계와 SDD S01-S05 evidence를 대조했고, `bin/test`, `bin/lint`, `bin/contracts-check`, `git diff --check`를 통과했다. +- 리뷰 필요: 없음 +- 리뷰 코멘트: 사용자 요청에 따라 코드 레벨 종료 검토를 수행했고, 종료 차단 이슈가 없어 완료 및 archive 대상으로 확정한다. ## 범위 제외 diff --git a/agent-roadmap/sdd/backtest-loop/scheduled-market-data-refresh/SDD.md b/agent-roadmap/archive/sdd/backtest-loop/scheduled-market-data-refresh/SDD.md similarity index 97% rename from agent-roadmap/sdd/backtest-loop/scheduled-market-data-refresh/SDD.md rename to agent-roadmap/archive/sdd/backtest-loop/scheduled-market-data-refresh/SDD.md index f30ad4f..3b63321 100644 --- a/agent-roadmap/sdd/backtest-loop/scheduled-market-data-refresh/SDD.md +++ b/agent-roadmap/archive/sdd/backtest-loop/scheduled-market-data-refresh/SDD.md @@ -2,7 +2,7 @@ ## 위치 -- Milestone: `agent-roadmap/phase/backtest-loop/milestones/scheduled-market-data-refresh.md` +- Milestone: `agent-roadmap/archive/phase/backtest-loop/milestones/scheduled-market-data-refresh.md` - Phase: `agent-roadmap/phase/backtest-loop/PHASE.md` ## 상태 @@ -29,7 +29,7 @@ | 영역 | 기준 | 메모 | |------|------|------| -| Roadmap | `agent-roadmap/phase/backtest-loop/milestones/scheduled-market-data-refresh.md` | Milestone 목표, 기능 Task, 범위 제외, 완료 후보 반영 기준 | +| Roadmap | `agent-roadmap/archive/phase/backtest-loop/milestones/scheduled-market-data-refresh.md` | Milestone 목표, 기능 Task, 범위 제외, 완료 후보 반영 기준 | | Code | `services/worker/cmd/alt-worker/main.go` | worker runtime wiring과 job runner 등록 기준 | | Code | `services/worker/internal/config/config.go` | worker runtime env/config source of truth. scheduler config는 secret 값을 직접 보관하지 않는다. | | Code | `services/worker/internal/jobs/marketdata_jobs.go` | `import_daily_bars` job payload, provider capability gate, importer dispatch 기준 | diff --git a/agent-roadmap/phase/backtest-loop/PHASE.md b/agent-roadmap/phase/backtest-loop/PHASE.md index fa824a4..a3198dc 100644 --- a/agent-roadmap/phase/backtest-loop/PHASE.md +++ b/agent-roadmap/phase/backtest-loop/PHASE.md @@ -28,8 +28,8 @@ - [완료] Backtest Multi-Timeframe Coverage - 경로: `agent-roadmap/archive/phase/backtest-loop/milestones/backtest-multi-timeframe-coverage.md` - 요약: 월봉, 일봉, 분봉을 백테스트 기본 분석 timeframe으로 정리하고 data import/store/backtest/freshness 검증을 맞춘다. -- [진행중] Scheduled Market Data Refresh - - 경로: `agent-roadmap/phase/backtest-loop/milestones/scheduled-market-data-refresh.md` +- [완료] Scheduled Market Data Refresh + - 경로: `agent-roadmap/archive/phase/backtest-loop/milestones/scheduled-market-data-refresh.md` - 요약: 원격 서버에서 선택 universe의 market data import를 주기 실행하고 freshness/backfill/readiness를 headless로 확인한다. ## Phase 경계