WBS-9 정의: 성능 최적화 & 엔터프라이즈 안정화 (Phase 9, 2026-08~10)

## WBS-9 개요

WBS-8의 실증 검증 완료 후, 성능 최적화와 운영 안정성을 극대화하는 단계.

예상 기간: 2026-08-01 ~ 2026-10-31

## 8개 항목

1. **WBS-9.1**: GAS 마이그레이션 완결 (F14 미해결 항목)
2. **WBS-9.2**: snapshot_admin 성능 최적화 (<2초 로딩)
3. **WBS-9.3**: 데이터 품질 강화 (NULL 처리 정책)
4. **WBS-9.4**: 장애 대응 플레이북 (5가지 시나리오)
5. **WBS-9.5**: 섹터 플로우 신호 신뢰도 측정
6. **WBS-9.6**: LLM 레이더 문서 최적화
7. **WBS-9.7**: 자동 백업 & 복구 체계
8. **WBS-9.8**: Slack 통합 모니터링

## 의존성 구조

- 독립 병렬: 9.1, 9.2, 9.3, 9.4, 9.6, 9.7, 9.8
- 선행 의존: WBS-8.5 완료 → WBS-9.5

## 테스트 상태

179/179 PASS (parity + unit tests)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-06-22 23:33:59 +09:00
parent 85b4e95b8b
commit b05ea00c46
+129
View File
@@ -1138,6 +1138,135 @@ LLM이 런타임에 이런 stale spec을 사실로 읽으면 할루시네이션
#### WBS-8.8 KIS 수집기 리팩터 (원격 이미 진행 중)
---
### WBS-9: 성능 최적화 & 엔터프라이즈 안정화 (Phase 9, 2026-08~10)
> WBS-8의 실증 검증 완료 후, 성능 최적화와 운영 안정성을 극대화하는 단계.
> 예상 기간: 2026-08-01 ~ 2026-10-31 | 완성도: 0% (예상) → 목표 100%
#### WBS-9.1 GAS 마이그레이션 완결 (F14 미해결 항목)
| 항목 | 내용 |
|------|------|
| **작업** | 미포팅 공식 F14(late_chase_risk) 재검토 및 완전 포팅 또는 최종 보류 결정 |
| **현재 상태** | F14 KEEP_IN_GAS (산출 경로 불명) — 재조사 필요 |
| **담당 파일** | `governance/gas_logic_migration_ledger_v1.yaml`, `formulas/late_chase_risk_v1.py` |
| **성공 기준** | F14 최종 상태 결정 + parity 테스트 (있을 경우) |
| **상태** | ⏳ 재검토 대기 |
---
#### WBS-9.2 성능 최적화: snapshot_admin 로딩 속도 (<2초)
| 항목 | 내용 |
|------|------|
| **작업** | `snapshot_admin_server_v1.py` 테이블 조회 성능 측정 및 최적화 |
| **현재 상태** | 기본 HTTP 서버 완성, 성능 벤치마크 미실시 |
| **성능 목표** | 테이블 로드 < 2초 (현재 GAS 병목 제거 효과 측정) |
| **최적화 대상** | DB 쿼리 캐싱, 인덱싱, JSON 직렬화 성능 |
| **담당 파일** | `src/quant_engine/snapshot_admin_server_v1.py`, `tests/performance/test_snapshot_admin_perf_v1.py` |
| **성공 기준** | P99 응답시간 < 2초, 동시 10개 테이블 조회 테스트 PASS |
| **상태** | ⏳ 성능 측정 준비 |
---
#### WBS-9.3 데이터 품질 강화: NULL 처리 및 결측 정책
| 항목 | 내용 |
|------|------|
| **작업** | `data_feed` 컬럼별 NULL 정책 정의 및 자동 충전 규칙 제정 |
| **현재 상태** | NULL 컬럼 약 10개 (WBS-2 목표 달성) — 지속적 모니터링 |
| **정책 수립** | 각 컬럼의 "충전 가능 여부", "충전 우선순위", "추정 금지" 명시 |
| **담당 파일** | `spec/12_field_dictionary.yaml`, `tools/validate_data_quality_contract_v1.py` |
| **성공 기준** | NULL 정책 문서 100% 커버리지, CI 게이트 자동 검증 |
| **상태** | ⏳ 정책 수립 대기 |
---
#### WBS-9.4 운영 안정화: 장애 대응 플레이북
| 항목 | 내용 |
|------|------|
| **작업** | Gitea CI/Synology 배포 장애 시 복구 절차 문서화 |
| **현재 상태** | 배포 체크리스트 9개 완성, 장애 대응 절차 미정의 |
| **대응 범위** | KIS API 단절, Naver Cloudflare 403, GAS 배포 실패, snapshot_admin 죽음, 데이터 수집 중단 |
| **담당 파일** | `docs/OPERATIONS_RUNBOOK_INCIDENT_RESPONSE_V1.md` |
| **성공 기준** | 5가지 장애 시나리오별 복구 절차 + 복구 시간 목표(RTO) |
| **상태** | ⏳ 문서 작성 준비 |
---
#### WBS-9.5 신호 고도화: 섹터 플로우 신뢰도 측정
| 항목 | 내용 |
|------|------|
| **작업** | WBS-8.5 이후 누적된 섹터 플로우를 기반으로 신호 신뢰도(hit_rate) 계산 |
| **선행조건** | WBS-8.5 활성화 (섹터 플로우 30일↑ 누적) |
| **신뢰도 측정** | 섹터별 flow_credit 상위도 vs 실제 섹터 수익률 상관도 |
| **담당 파일** | `tools/evaluate_sector_flow_signal_quality_v1.py`, `Temp/sector_flow_signal_reliability_v1.json` |
| **성공 기준** | FLOW_CREDIT 신뢰도 점수 계산 + hit_rate ≥ 60% 확인 |
| **상태** | ⏳ WBS-8.5 완료 후 착수 |
---
#### WBS-9.6 문서 최적화: LLM 레이더 구축
| 항목 | 내용 |
|------|------|
| **작업** | spec/governance 문서를 LLM이 직접 읽는 순서 및 신뢰도 맵 작성 |
| **현재 상태** | 문서 160개, LLM_reading_guide 존재하나 경로 순서 미최적화 |
| **최적화** | 각 문서의 "신뢰도" (canonical/adapter/deprecated), "읽음 순서", "의존성" 명시 |
| **담당 파일** | `spec/llm_reading_guide_v2.yaml`, `tools/build_document_trust_map_v1.py` |
| **성공 기준** | LLM 독해 오류 율 50% 이상 감소 (WBS-7.11과 상호보완) |
| **상태** | ⏳ 신뢰도 맵 구축 |
---
#### WBS-9.7 지속성 강화: 자동 백업 & 복구
| 항목 | 내용 |
|------|------|
| **작업** | GatherTradingData.json, SQLite DB 자동 백업 및 복구 체계 |
| **현재 상태** | 매일 GAS 실행으로 데이터 누적, 백업 정책 미정의 |
| **백업 전략** | 일일 증분, 주간 전체 백업 + Synology NAS 동기화 |
| **담당 파일** | `tools/backup_data_feed_and_databases_v1.py`, `.gitea/workflows/backup.yml` |
| **성공 기준** | 일일 자동 백업 ≥ 99% 성공률, 복구 시간 < 1시간 |
| **상태** | ⏳ 백업 정책 수립 |
---
#### WBS-9.8 모니터링 & 알림: Slack 통합
| 항목 | 내용 |
|------|------|
| **작업** | Gitea CI, Synology 작업, 데이터 수집 상태를 Slack으로 자동 보고 |
| **현재 상태** | Gitea 워크플로우 완성, Slack 통합 미실시 |
| **알림 항목** | CI 실패, snapshot_admin 다운, 데이터 수집 오류, T+20 표본 도달 |
| **담당 파일** | `tools/send_slack_notification_v1.py`, `.gitea/workflows/notify.yml` |
| **성공 기준** | 5가지 알림 유형 모두 작동 테스트 PASS |
| **상태** | ⏳ Slack API 연동 준비 |
---
### WBS-9 의존성 차트
```
독립 병렬 진행:
├─ 9.1: GAS 마이그레이션 (F14 재검토)
├─ 9.2: snapshot_admin 성능 최적화
├─ 9.3: 데이터 품질 정책
├─ 9.4: 장애 대응 플레이북
├─ 9.6: 문서 신뢰도 맵
├─ 9.7: 자동 백업
└─ 9.8: Slack 모니터링
선행 의존:
WBS-8.5 완료 → WBS-9.5 (섹터 플로우 신뢰도)
```
#### WBS-8.8 KIS 수집기 리팩터 (원격 이미 진행 중)
| 항목 | 내용 |
|------|------|
| **작업** | `src/quant_engine/kis_data_collection_v1.py` 개선: Naver 원자료 확장 → SQLite 자동 조회 경로 |