alt/agent-roadmap/archive/phase/foundation-alignment/milestones/persistence-worker-backbone.md

3.8 KiB

Milestone: Persistence and Worker Backbone

위치

  • Roadmap: agent-roadmap/ROADMAP.md
  • Phase: agent-roadmap/phase/foundation-alignment/PHASE.md

목표

PostgreSQL과 Redis를 ALT의 운영 기본 인프라로 고정하고, worker가 import, normalization, backtest 같은 비동기 작업을 다룰 수 있는 durable backbone을 만든다.

상태

[완료]

구현 잠금

  • 상태: 해제
  • 결정 필요: 없음

범위

  • PostgreSQL migration과 query generation 기준
  • Redis 사용 위치와 key prefix 기준
  • worker job 실행 모델
  • local infrastructure와 worker configuration 정합성
  • storage boundary와 domain mapping

기능

Epic: [worker-backbone] Persistence and worker backbone

PostgreSQL, Redis, worker job model, storage boundary 기준을 묶는다.

  • [db-migrations] PostgreSQL migration entrypoint가 있다. 검증: local PostgreSQL/Redis를 실행한 뒤 worker가 필요한 설정을 읽을 수 있다.
  • [typed-queries] DB query를 type-safe하게 다루는 생성/검증 흐름이 있다. 검증: migration/query generation 흐름이 문서화되어 있다.
  • [redis-boundary] Redis 사용 목적과 key prefix 기준이 worker 문서나 config에 정리되어 있다.
  • [job-model] worker가 비동기 작업을 표현하고 실행할 기본 job model을 갖는다. 검증: worker job이 API 내부 구현에 의존하지 않는다.
  • [storage-ports] domain과 persistence 사이의 adapter/port 경계가 정해져 있다.
  • [infra-check] local PostgreSQL/Redis health를 확인하는 반복 가능한 절차가 있다. 검증: bin/test, bin/lint, bin/build가 통과한다.

완료 리뷰

  • 상태: 승인됨
  • 요청일: 2026-05-28
  • 완료 근거: 모든 기능 Task와 Task별 검증이 충족된 것으로 보인다. agent-task/archive/2026/05/m-persistence-worker-backbone_1/complete.log에서 code-server Postgres/Redis health와 worker migration smoke가 PASS로 해소되었다.
  • 리뷰 필요:
    • 사용자가 완료 결과를 확인했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: 2026-05-28 사용자 승인으로 Milestone을 완료 처리하고 archive로 이동한다.

범위 제외

  • 실제 KIS API 호출
  • backtest engine 전체 구현
  • production 배포 구성
  • broker/order/risk persistence

작업 컨텍스트

  • 관련 경로: services/worker/, deployments/local/, packages/domain/, bin/
  • 표준선(선택): PostgreSQL은 durable store, Redis는 보조 cache/queue/pubsub surface로 둔다.
  • 환경 불일치: 현재 실행 컨테이너에는 Docker가 없고 기본 localhost:5432/6379가 닫혀 있어 local compose health를 직접 확인할 수 없다.
  • field 환경 불일치: ssh toki@toki-labs.com macOS host에는 Docker와 alt-postgres가 있으나 해당 PostgreSQL은 role/db alt 기본값과 맞지 않고, host localhost:6379 Redis는 열려 있지 않다.
  • 표준선(환경): repo 기준 반복 검증은 deployments/local/docker-compose.yml의 PostgreSQL alt/alt와 Redis를 bin/infra-check로 확인한다. 외부/field 인프라는 DATABASE_URL, REDIS_URL을 명시해 별도 확인한다.
  • 2026-05-28 검증: go test ./... in services/worker, bin/worker-storage-check, bin/test, bin/lint, bin/build 통과. bin/infra-check는 현재 컨테이너의 외부 DB env override와 Docker/DB client 부재로 local infra smoke를 완료하지 못했다.
  • 2026-05-28 검증: ssh toki@192.168.0.97의 code-server Docker network에서 code-server-postgres health, code-server-redis PING, worker migration smoke가 통과했다. 상세는 agent-task/archive/2026/05/m-persistence-worker-backbone_1/complete.log에 남겼다.
  • 선행 작업: Workspace Baseline
  • 후속 작업: Korea Daily Data Foundation
  • 확인 필요: 없음