update: roadmap changes - backtest and data-foundation phases

This commit is contained in:
toki 2026-05-29 21:06:43 +09:00
parent 0bc2403b72
commit b553fcce9c
6 changed files with 39 additions and 41 deletions

View file

@ -13,10 +13,10 @@ ALT는 개인용 quant system workspace로, 한국장 일봉 MVP에서 시작해
- [완료] 기반 정렬
- 경로: `agent-roadmap/archive/phase/foundation-alignment/PHASE.md`
- 요약: agent-first monorepo, Go workspace, contracts, proto-socket session loop, PostgreSQL/Redis worker backbone을 안정화한다.
- [진행중] 데이터 기반
- [검토중] 데이터 기반
- 경로: `agent-roadmap/phase/data-foundation/PHASE.md`
- 요약: 한국장 일봉을 대상으로 provider-neutral market data import, normalization, persistence를 만든다.
- [계획] 백테스트 루프
- [진행중] 백테스트 루프
- 경로: `agent-roadmap/phase/backtest-loop/PHASE.md`
- 요약: 일봉 기반 strategy execution, backtest lifecycle, result persistence, repeatable verification을 만든다.
- [계획] 운영 표면
@ -38,8 +38,8 @@ ALT는 개인용 quant system workspace로, 한국장 일봉 MVP에서 시작해
- 요청 내용, 현재 브랜치, 변경 파일, 관련 코드 경로를 보고 가장 관련 있는 활성 Phase와 Milestone 문서를 같은 세션에서 1회 읽는다.
- 활성 Phase 또는 Milestone 밖의 작업이면 이 문서의 Phase 흐름을 확인하고 사용자에게 진행 또는 전환 여부를 확인한다.
- 이 문서는 로드맵 생성/갱신, Phase 전환, Phase 추가/수정, 전체 구조 변경 요청이 있을 때만 읽는다.
- 상세 작업과 완료 기준은 각 Milestone 문서의 `필수 기능`, `완료 기준`로 관리한다.
- 모든 필수 작업과 완료 기준이 충족된 Milestone은 먼저 `[검토중]`으로 두고, 사용자 완료 확인과 archive 승인을 받은 뒤 `[완료]`로 전환한다.
- 상세 작업과 검증 기준은 각 Milestone 문서의 `기능` Task와 Task 안의 선택적 `검증:` 문구로 관리한다.
- 모든 기능 Task와 Task 안에 명시된 검증이 충족된 Milestone은 먼저 `[검토중]`으로 두고, 사용자 완료 확인과 archive 승인을 받은 뒤 `[완료]`로 전환한다.
- 완료된 Phase는 `agent-roadmap/archive/phase/<phase-slug>/PHASE.md`로 이동하고, 하위 Milestone도 같은 archive Phase scaffold 아래에 둔다.
- 진행중 Phase 안에서 완료된 Milestone은 활성 Phase 문서에 짧은 링크를 남기고, 상세 문서는 `agent-roadmap/archive/phase/<phase-slug>/milestones/`로 이동한다.
- archive `PHASE.md`는 Phase 자체가 완료 또는 폐기될 때만 만들며, 진행중 Phase의 완료 Milestone만 archive된 경우 archive Phase 디렉터리에 `milestones/`만 있을 수 있다.

View file

@ -11,7 +11,7 @@
## 상태
[진행중]
[완료]
## 구현 잠금
@ -45,23 +45,26 @@
한국장 일봉 데이터의 provider-neutral 수집, 정규화, 저장, 검증 흐름을 묶는다.
- [ ] [instrument-map] provider symbol과 ALT의 venue-agnostic equity instrument identity를 매핑한다.
- [ ] [universe-selector] watchlist, exchange-wide, sector-like 입력을 provider-neutral universe selector로 다룬다.
- [ ] [daily-bars] 한국장 일봉 OHLCV를 normalized bar 모델로 저장한다. 검증: 선택된 equity universe의 일봉 입력이 저장소에 들어가고, 같은 입력을 다시 import해도 중복/갱신 정책이 일관된다.
- [ ] [calendar-rules] `Asia/Seoul`, KRX, KRW 기준의 최소 calendar/currency 처리를 갖는다.
- [ ] [kis-adapter] KIS provider adapter 경계가 worker 내부에 격리된다. 검증: 로컬 cache의 KIS API 샘플 repo와 sanitized mock/sample response를 기준으로 request/auth/response mapping을 확정할 수 있고 secret 값은 저장하지 않는다.
- [ ] [mock-provider] KIS credential 없이도 pipeline을 검증할 fixture/mock provider가 있다.
- [ ] [data-check] import 결과를 재현 가능하게 검증하는 테스트 또는 CLI/smoke 명령이 있다. 검증: normalized data가 backtest milestone에서 소비 가능한 형태로 조회되고 `bin/test`와 관련 worker 검증이 통과한다.
- [x] [instrument-map] provider symbol과 ALT의 venue-agnostic equity instrument identity를 매핑한다.
- [x] [universe-selector] watchlist, exchange-wide, sector-like 입력을 provider-neutral universe selector로 다룬다.
- [x] [daily-bars] 한국장 일봉 OHLCV를 normalized bar 모델로 저장한다. 검증: 선택된 equity universe의 일봉 입력이 저장소에 들어가고, 같은 입력을 다시 import해도 중복/갱신 정책이 일관된다.
- [x] [calendar-rules] `Asia/Seoul`, KRX, KRW 기준의 최소 calendar/currency 처리를 갖는다.
- [x] [kis-adapter] KIS provider adapter 경계가 worker 내부에 격리된다. 검증: 로컬 cache의 KIS API 샘플 repo와 sanitized mock/sample response를 기준으로 request/auth/response mapping을 확정할 수 있고 secret 값은 저장하지 않는다.
- [x] [mock-provider] KIS credential 없이도 pipeline을 검증할 fixture/mock provider가 있다.
- [x] [data-check] import 결과를 재현 가능하게 검증하는 테스트 또는 CLI/smoke 명령이 있다. 검증: normalized data가 backtest milestone에서 소비 가능한 형태로 조회되고 `bin/test`와 관련 worker 검증이 통과한다.
## 완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 아직 기능 Task와 각 Task의 검증 조건이 충족되지 않았다.
- 상태: 승인됨
- 요청일: 2026-05-29
- 완료 근거:
- provider-neutral `market` model, universe selector, storage/importer, KIS fixture normalization, mock data-check smoke가 구현되어 모든 기능 Task가 `[x]`로 정리되었다.
- `agent-task/m-korea-daily-data-foundation/03+01,02_data_check_smoke` PASS 완료 이벤트가 반영되었고, 최종 archive는 `agent-task/archive/2026/05/m-korea-daily-data-foundation/03+01,02_data_check_smoke`에 있다.
- `bin/test`가 통과했고 generated contract diff가 비어 있어 data-check 검증 조건을 충족했다.
- 리뷰 필요:
- [ ] 사용자가 완료 결과를 확인했다
- [ ] archive 이동을 승인했다
- 리뷰 코멘트: 없음
- [x] 사용자가 완료 결과를 확인했다
- [x] archive 이동을 승인했다
- 리뷰 코멘트: 2026-05-29 사용자 승인에 따라 `[완료]`로 전환하고 Milestone archive 이동을 수행한다.
## 범위 제외
@ -81,4 +84,4 @@
- 표준선(선택): mock/fixture 테스트에는 KIS credential이 필요 없다. 실제 KIS smoke 단계에서만 1Password CLI 또는 service account로 실행 시점에 주입하며 `.env`에 저장하지 않는다.
- 선행 작업: Persistence and Worker Backbone
- 후속 작업: Backtest Engine Baseline
- 확인 필요: mock 테스트에 사용할 최소 KIS daily bar fixture와 expected normalized bar 사례
- 확인 완료: mock 테스트에는 sanitized KIS daily bar fixture와 expected normalized bar 사례를 사용한다.

View file

@ -2,16 +2,18 @@
## 활성 Phase
- [진행중] 데이터 기반
- [검토중] 데이터 기반
- 경로: `agent-roadmap/phase/data-foundation/PHASE.md`
- [진행중] 백테스트 루프
- 경로: `agent-roadmap/phase/backtest-loop/PHASE.md`
- [계획] 운영 표면
- 경로: `agent-roadmap/phase/operator-surface/PHASE.md`
## 활성 Milestone
- [진행중] Korea Daily Data Foundation
- Phase: `agent-roadmap/phase/data-foundation/PHASE.md`
- 경로: `agent-roadmap/phase/data-foundation/milestones/korea-daily-data-foundation.md`
- [진행중] Backtest Engine Baseline
- Phase: `agent-roadmap/phase/backtest-loop/PHASE.md`
- 경로: `agent-roadmap/phase/backtest-loop/milestones/backtest-engine-baseline.md`
- [계획] Client Integration Clone Adoption
- Phase: `agent-roadmap/phase/operator-surface/PHASE.md`
- 경로: `agent-roadmap/phase/operator-surface/milestones/client-integration-clone-adoption.md`

View file

@ -2,7 +2,7 @@
## 상태
[계획]
[진행중]
## 목표
@ -13,7 +13,7 @@
완료된 Milestone은 archive 경로를 가리키고, 검토중, 진행중, 계획, 스케치 또는 보류 Milestone은 이 Phase 하위 `milestones/` 경로를 가리킨다.
완료, 검토중, 진행중, 계획, 스케치 순서로 두어 아래로 갈수록 미래 작업에 가까워지게 정렬한다.
- [계획] Backtest Engine Baseline
- [진행중] Backtest Engine Baseline
- 경로: `agent-roadmap/phase/backtest-loop/milestones/backtest-engine-baseline.md`
- 요약: 일봉 데이터를 기준으로 재현 가능한 backtest execution loop와 결과 저장을 만든다.
- [계획] Backtest Analysis Surface

View file

@ -11,7 +11,7 @@
## 상태
[계획]
[진행중]
## 구현 잠금
@ -26,30 +26,23 @@
- result persistence and query
- fixture data 기반 검증
## 필수 기능
## 기능
### Epic: [backtest-engine] Deterministic backtest engine
일봉 기반 전략 실행, portfolio state, result 저장과 fixture 검증 흐름을 묶는다.
- [ ] [run-lifecycle] backtest run의 pending/running/succeeded/failed/canceled lifecycle이 있다.
- [ ] [run-lifecycle] backtest run의 pending/running/succeeded/failed/canceled lifecycle이 있다. 검증: worker가 backtest 실행을 소유하고 API는 실행 요청/조회 경계만 담당한다.
- [ ] [strategy-port] strategy를 engine에 주입할 port 또는 interface가 있다.
- [ ] [portfolio-state] cash, position, equity를 계산하는 최소 portfolio state가 있다.
- [ ] [result-store] backtest result가 저장되고 조회된다.
- [ ] [fixture-test] fixture daily bars로 deterministic test가 통과한다.
## 완료 기준
- [ ] 동일한 fixture와 strategy 입력으로 동일한 result가 나온다.
- [ ] worker가 backtest 실행을 소유하고 API는 실행 요청/조회 경계만 담당한다.
- [ ] 결과가 contracts/client에서 조회 가능한 형태로 연결될 수 있다.
- [ ] `bin/test``bin/lint`가 통과한다.
- [ ] [result-store] backtest result가 저장되고 조회된다. 검증: 결과가 contracts/client에서 조회 가능한 형태로 연결될 수 있다.
- [ ] [fixture-test] fixture daily bars로 deterministic test가 통과한다. 검증: 동일한 fixture와 strategy 입력으로 동일한 result가 나오고 `bin/test``bin/lint`가 통과한다.
## 완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 아직 필수 기능과 완료 기준이 충족되지 않았다.
- 완료 근거: 아직 기능 Task와 각 Task의 검증 조건이 충족되지 않았다.
- 리뷰 필요:
- [ ] 사용자가 완료 결과를 확인했다
- [ ] archive 이동을 승인했다

View file

@ -2,7 +2,7 @@
## 상태
[진행중]
[검토중]
## 목표
@ -13,8 +13,8 @@
완료된 Milestone은 archive 경로를 가리키고, 검토중, 진행중, 계획 또는 보류 Milestone은 이 Phase 하위 `milestones/` 경로를 가리킨다.
완료, 검토중, 진행중, 계획 순서로 두어 아래로 갈수록 미래 작업에 가까워지게 정렬한다.
- [진행중] Korea Daily Data Foundation
- 경로: `agent-roadmap/phase/data-foundation/milestones/korea-daily-data-foundation.md`
- [완료] Korea Daily Data Foundation
- 경로: `agent-roadmap/archive/phase/data-foundation/milestones/korea-daily-data-foundation.md`
- 요약: 한국장 일봉 데이터를 provider-neutral 모델로 수집, 정규화, 저장하는 첫 파이프라인을 만든다.
## Phase 경계