feat(kis-collection): finalize sqlite migration, add fallback resilience, and update WBS documentation

This commit is contained in:
2026-06-22 18:34:56 +09:00
parent c576138829
commit 6c549b7bdc
48 changed files with 34610 additions and 24883 deletions
+5 -5
View File
@@ -566,7 +566,7 @@ phase_4_backdata_collection:
phase_5_platform_transition:
P1_kis_core_api_collector:
priority: HIGH
status: PLANNED
status: DONE
purpose: >
KIS Open API를 read-only 코어 수집원으로 두고, 가격/호가/공매도/수급의
1차 수집을 Python canonical collector에서 직접 수행한다.
@@ -601,7 +601,7 @@ phase_5_platform_transition:
P2_sqlite_canonical_store:
priority: HIGH
status: PLANNED
status: DONE
purpose: >
xlsx 중심 저장을 중단하고, 수집 결과를 SQLite에 누적 저장한다.
향후 PostgreSQL 승격 시 동일 저장 인터페이스를 유지한다.
@@ -631,7 +631,7 @@ phase_5_platform_transition:
P3_ci_scheduler_cutover:
priority: HIGH
status: PLANNED
status: DONE
purpose: >
Gitea schedule에서 Python collector를 직접 실행하고, CI가 SQLite 산출을 검증한다.
기존 GAS 워크플로우는 thin adapter/legacy fallback으로만 유지한다.
@@ -663,7 +663,7 @@ phase_5_platform_transition:
P4_gas_thin_adapter_minimize:
priority: MEDIUM
status: PLANNED
status: DONE
purpose: >
.gs는 기존 스프레드시트 호환과 과도기 검증용 얇은 어댑터만 남기고,
판단·수집·저장 로직은 Python으로 이동시킨다.
@@ -692,7 +692,7 @@ phase_5_platform_transition:
P5_postgresql_upgrade_path:
priority: MEDIUM
status: PLANNED
status: DONE
purpose: >
SQLite에서 검증된 스키마/업서트/프로venance 모델을 PostgreSQL로 승격한다.
운영 데이터 증가와 멀티잡 동시성 증가를 대비한다.
+1
View File
@@ -8,6 +8,7 @@ created_at: '2026-06-10T23:29:00+09:00'
purpose: >
operational_report.md/json의 숫자가 final_decision_packet과 1:1 복사인지 검증한다.
LLM이 보고서 생성 과정에서 어떠한 계산도 수행하지 않았음을 보장한다.
F08(display_text) 계열은 이 계약의 렌더링 전용 유지 근거를 따른다.
renderer_rules:
- LLM은 packet에서 이미 계산된 값을 copy-only로 렌더링한다
+20
View File
@@ -769,6 +769,17 @@ thresholds:
notes: magnitudeExcessPctp ≥ 3 → OVER_EXTENDED. 현금 회복 관점의 감점 임계.
live_sample_requirement: 30
sunset_date: '2026-09-30'
- id: CASH_FLOOR_EXIT_SIGNAL_MIN_COUNT
value: 2
unit: count
source: EXPERT_PRIOR
sample_n: 0
last_calibrated: null
owner_formula: CASH_FLOOR_V1
gs_location: gas_data_feed.gs:4705
notes: alreadyActive && exitSignals.length >= 2 → EXIT_SECULAR_LEADER. 현금 회수 시퀀스 종료 최소 신호 수.
live_sample_requirement: 30
sunset_date: '2026-09-30'
- id: CASH_UPLIFT_EVENT_SHOCK_MIN
value: 20
unit: pct
@@ -1782,6 +1793,15 @@ thresholds:
owner_formula: LEADER_POSITION_WEIGHT_CAP_V1
gs_location: gas_data_feed.gs:3829
notes: Leader position weight cap.
- id: LEADER_POSITION_WEIGHT_CAP_V1_TIME_BREACH_DAYS
value: 60
unit: days
source: SPEC_DERIVED
sample_n: 0
last_calibrated: null
owner_formula: LEADER_POSITION_WEIGHT_CAP_V1
gs_location: gas_data_feed.gs:3816
notes: holdDays >= 60 && excessRet < 0 → TIME_STOP.
- id: ANTI_WHIPSAW_GATE_V1_LIMIT
value: 35.0
unit: pct