"자동화가 안 되면 차후 개선 목표로" 라는 지시에 따라 추정이 아니라
실제로 pykrx(이미 EOD 가격조회에 쓰이는 동일 라이브러리)의
get_shorting_balance()/get_etf_price_deviation()/get_etf_tracking_error()를
호출해 재시도했다. 기본 시세조회는 정상 작동하지만 이 세 함수는 세션
부트스트랩 후에도 HTTP 400 LOGOUT을 반환 — KRX 회원 로그인이 필요한
서버측 인증 게이트임을 raw HTTP로 재현 확인했다(헤더/세션 문제 아님).
자동화하려면 KRX 계정을 자격증명으로 등록해야 하는데, 이는
governance/rules/06·07과 같은 종류의 새 정책 결정이라 사용자 승인
없이 추가하지 않고 개선 목표로 이관한다(next_review_date: 2026-09-30).
- spec/16_data_gaps_roadmap.yaml S4/S5: automation_attempt_2026_06_22
필드에 재현 절차 기록, next_review_action을 "API 키 발급"이 아니라
"KRX 계정 발급·자격증명 관리 정책 승인 여부"로 재구성
- docs/runbook.md: 공매도 잔고율 주1회(매주 월요일 개장 전) CSV 수동
갱신, ETF NAV 수동 import(tools/import_etf_nav_manual.py) 운영절차 명문화
GAS 쪽: syncBackdataFeatureBank_() gdf_02_harness_assembly.gs:146에서 호출 중
Python 쪽: synthesize_backdata_feature_bank(), normalize_backdata_harness_payload(),
_backdata_feature_bank_table(), validate_harness_context backdata 검증 모두 구현됨
implementation_plan 4개 스텝 전부 DONE으로 갱신.
T+20 데이터 누적 후 ML 패턴 학습 품질 자동 향상.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
주요 변경:
- tools/build_rebalance_engine_v1.py: REBALANCE_ENGINE_V1 신규
* account_snapshot 직접 합산(_build_snap_position_map) → 소수주 분리 행 병합
* 레짐 소스 macro.REGIME_PRELIM 최우선 (GAS 와 동일)
- src/gas_adapter_parts/gdf_06_rebalance.gs: runRebalanceSheet_() 신규
* Logger.log / getSpreadsheet_() 로 run_all 연동 수정
- src/gas_adapter_parts/gdc_01_fetch_fundamentals.gs
* _mergePositionRecord_(): 소수주 중복 행 합산 신규
* parseInt → parseFloat (qty, availQty)
- src/gas_adapter_parts/gdf_01_price_metrics.gs
* 미보유 종목 SELL_READY → WATCH_EXIT_SIGNAL
- spec/41_release_dag.yaml: build_rebalance_sheet 노드 추가 (step_count 63)
- spec/51_formula_lifecycle_registry.yaml: REBALANCE_ENGINE_V1 등록
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>