# Phase 2 개발문서 패키지

이 문서는 **Phase 0에서 고정한 전략/리스크/데이터 정책**과 **Phase 1에서 고정한 저장소 구조/DB/서비스 계약**을 바탕으로,
AI 코딩 에이전트가 **실제 데이터 수집 파이프라인을 구현**할 수 있도록 만든 **Phase 2 상세 개발문서**입니다.

## 목표

Phase 2의 목표는 아래 6가지를 실제 코드 수준으로 구현하는 것입니다.

1. **핵심 무료 데이터 소스 수집기(SEC / Alpaca / FRED / FINRA)를 안정적으로 구현**한다.
2. **raw → staging → structured 적재 경로를 완성**한다.
3. **스케줄링, 재시도, 백필(backfill), 재처리(replay) 규칙을 표준화**한다.
4. **데이터 품질 검증 규칙과 장애 대응 기준을 고정**한다.
5. **운영 로그, 작업 이력, 중복 방지, 체크포인트를 구현**한다.
6. **Phase 3의 parser/feature builder가 그대로 붙을 수 있는 ingestion contract를 제공**한다.

## 포함 문서

- `ingestion_architecture.md`
  - Phase 2 전체 아키텍처
  - raw/staging/structured 흐름
  - 수집기/정규화기/적재기의 경계
  - 체크포인트와 재시도 구조
- `source_adapter_specs.md`
  - SEC / Alpaca / FRED / FINRA adapter 상세 명세
  - 입력/출력/예외/체크포인트 규칙
  - rate limit / retry / idempotency 정책
- `storage_layout_and_data_contracts.md`
  - 파일 경로 규칙
  - Raw sidecar 메타데이터 규격
  - Structured write 규칙
  - canonical record 정의
- `orchestration_and_scheduling.md`
  - 작업 스케줄
  - 백필 방식
  - replay 정책
  - 실패/복구 흐름
- `implementation_plan.md`
  - AI 코딩 에이전트용 작업 순서
  - 단위 작업 분할
  - 완료 조건
  - 금지사항
- `testing_checklist.md`
  - 단위 테스트
  - 통합 테스트
  - 리플레이 테스트
  - 운영 전 점검표
- `operator_runbook.md`
  - 수집기 운영 규칙
  - 장애 대응 절차
  - 일일 점검 항목
  - 데이터 이상 시 조치 순서
- `job_catalog.md`
  - 각 배치 작업의 이름, 책임, 입력, 출력, 실행 시점
  - CLI/cron 예시

## Phase 2 범위

Phase 2에서는 아래까지만 구현합니다.

- 핵심 4개 무료 데이터 소스 수집기
- raw archive 저장
- staging 정규화 결과 저장
- structured write
- 작업 이력/상태/로그 기록
- 재시도/백필/replay
- 데이터 품질 검증
- 최소 운영 runbook

## Phase 2에서 일부러 하지 않는 것

- 본격적인 event scoring
- LLM 기반 문서 해석 고도화
- attention layer(YouTube / Yahoo / Wikimedia) 구현
- 실거래 주문 엔진
- 포트폴리오 최적화
- UI 대시보드

## 권장 실행 순서

1. `ingestion_architecture.md` 읽기
2. `storage_layout_and_data_contracts.md` 읽기
3. `source_adapter_specs.md` 기준으로 adapter 구현
4. `orchestration_and_scheduling.md` 기준으로 잡 스케줄 작성
5. `job_catalog.md` 기준으로 CLI entrypoint 정리
6. `implementation_plan.md` 순서대로 구현
7. `testing_checklist.md`로 검증
8. `operator_runbook.md`로 운영 절차 확인

## 완료 기준

Phase 2 종료 시 아래가 가능해야 합니다.

- 특정 거래일 범위에 대해 SEC / Alpaca / FRED / FINRA 데이터를 백필할 수 있다.
- 동일 잡을 여러 번 실행해도 중복 적재가 발생하지 않는다.
- raw 저장 성공 전에는 downstream structured write가 일어나지 않는다.
- 실패한 잡을 안전하게 재시도할 수 있다.
- staging/structured 데이터가 canonical schema를 만족한다.
- 각 source별 체크포인트가 기록되고 다음 실행이 이어진다.
- 운영자가 runbook만 보고 장애를 재현/복구할 수 있다.
