11 Commits

Author SHA1 Message Date
kjh2064 9e6e2ded2f feat: .NET 운영 리포트 렌더러와 CI 경로 전환
- operational_report.json/md와 final_decision_packet_v4 생성 경로를 .NET으로 전환했습니다.
- CI, 운영 게이트, 릴리스 DAG, 대시보드의 운영 진입점을 새 경로로 정렬했습니다.
- legacy Python 렌더러는 비운영으로 명시했습니다.
2026-06-26 14:18:03 +09:00
kjh2064 2439980730 섹터 리포트와 대표종목 모니터 고도화 2026-06-15 02:30:02 +09:00
kjh2064 e2820065d1 fix(report): 레포트 프로 수준 개선 — gate_trace 정형화, HTS표 재설계, 중복섹션 제거
- _fmt_gate_trace(): 게이트 요약 compact 출력 (손절✓ 상대손절✓ 현금바닥⊘)
- _concise_hts_input_sheet: gate_trace 제거, 지정가/매도수량/손절가/TP2가/실행스타일 추가
- _immediate_execution_playbook: 게이트요약 compact, sell_sequence 정형화된 표
- _reference_price_ledger: watch_breakout_gate 중복 fallback 제거, prices_json 기준가 원장
- _sparkline: 데이터 4개 미만 시 데이터부족 표시
- SECTION_TITLES: 내부 formula ID 한국어 명칭으로 통일
- report dict: generated_at/section_errors 추가 (PASS)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 23:05:47 +09:00
kjh2064 20f0973f74 feat: 운영보고서 성과 준비도 브리지 표시 + 기준선 갱신
- render_operational_report.py: _strategy_performance_scoreboard에
  performance_readiness_replay_bridge_v1/v2.json 표시 행 추가
  (알파 캘리브레이션, 성과 준비도 점수, T+20 표본, 브리지 승격 규칙)
- debug_boundaries.py, run_audit.py 임시 디버그 파일 삭제
- runtime/refactor_baseline_v1.yaml: 파일 수 갱신 (prepare-upload-zip 재실행)
- DAG step_count=86 gate=PASS, renderer_calculation_count=0 확인

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 22:26:52 +09:00
kjh2064 70675a5a92 feat: DAG T+20 추적 인프라 + 섹터 추세 시계열 개선
DAG (step_count 83→86):
- update_proposal_evaluation_history (wave_5): 일간 실행 — core_satellite 제안 기록 + T+1/T+5/T+20 자동 평가
- build_operational_eval_queue (wave_5): T+20 평가 대기 큐 — due_date 초과 종목 목록
- build_operational_outcome_lock (wave_5): 실운영 T+20 성과 잠금 — 30건 이상 누적 후 활성화
- build_algorithm_guidance_proof depends_on에 build_operational_outcome_lock 추가
- validate_specs.py: 41_release_dag.yaml 50KB 예외 추가 (DAG 확장 예정)

렌더러/워크북:
- render_operational_report.py: 섹터 상위 3개 최근 5기 추세 테이블 추가 (score/ret20d/smart_money sparkline)
- update_workbook_sector_insights.py: sector_flow_history 기반 섹터 시계열 차트 추가 (score + smart money)

운영: update_proposal_evaluation_history 최초 실행 — 75건 core_satellite 제안 기록 완료 (T+20 ~2026-07-12)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 21:31:22 +09:00
kjh2064 0823d1b5a8 fix: CI venv hash-cache + sector exposure renderer + auditor registration
- ci.yml: venv 해시 기반 캐싱 적용 (validate_specs.py md5 기준), requirements.txt 불필요 스텝 제거
- harness_coverage_auditor.py: sector_trend_analysis.py, etf_representative_monitor.py PY_FILES 등록
- render_operational_report.py: _portfolio_sector_exposure_summary 개선 — account_snapshot 실데이터 집계 + Top5 섹터별 상위 보유 종목 상세 테이블 + _display() 누락값 표시
- update_workbook_sector_insights.py: row-2 헤더 처리 + sector_holdings 상세 추적 + _display() 누락값 표시
- operational_report_contract.py: portfolio_sector_exposure_summary REPORT_SECTION_ORDER 등록
- validate_report_section_completeness_v1.py: 동일 섹션 추가
- build_architecture_boundaries_v2.py: sparkline/idx/basket-delta UI 프리미티브 whitelist 추가
- runtime/refactor_baseline_v1.yaml: 엔트로피 베이스라인 갱신 (1692 files, gate=PASS)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 21:16:32 +09:00
kjh2064 b670c1a37f fix: portfolio_sector_exposure_summary 렌더러 누락 수정 (SECTION_ERROR 제거)
- _portfolio_sector_exposure_summary() 함수 추가: sector_concentration_json 기반 섹터 비중 테이블
- 섹터 집중 게이트(sector_concentration_gate) 표시
- 렌더러 딕셔너리에 lambda 등록
- 결과: render errors=1 -> errors=0, sections=53->52

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 20:58:38 +09:00
kjh2064 f56dd37286 feat: sector trend analysis + ETF representative monitor (DAG step_count 81->83)
- src/quant_engine/sector_trend_analysis.py: ETF proxy 기반 11개 섹터 동향 + smart money lens
- src/quant_engine/etf_representative_monitor.py: ETF 대표 종목 8개 추적 + 벤치마크 연동
- tools/build_sector_trend_analysis_v1.py: SECTOR_TREND_ANALYSIS_V1 Temp JSON 생성
- tools/build_etf_representative_monitor_v1.py: ETF_REPRESENTATIVE_MONITOR_V1 Temp JSON 생성
- tools/update_workbook_sector_insights.py: Google Sheets 섹터 인사이트 동기화
- spec/41_release_dag.yaml: step_count 81->83, wave_1에 2개 신규 노드 등록
- validate_engine_harness_gate.py: CHECK_87B (SECTOR_TREND_ANALYSIS_V1) + ETF monitor DAG 스텝 추가
- render_operational_report.py: sector_trend_analysis_v1 / etf_representative_monitor_v1 / portfolio_performance_summary 섹션 추가
- gas_lib.gs: doPost + syncSectorInsightSheets_ (섹터 인사이트 GAS 동기화 엔드포인트)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 20:52:17 +09:00
kjh2064 a308bd407c feat: add 3 missing sections + summary to operational_report
Adds sell_priority_decision_table, strategy_performance_scoreboard,
outcome_eval_window_monitor renderers from real hctx data (regime_adjusted_
sell_priority_json, performance_*, outcome_quality_score_v1_json).

Wires summary.found_routing/found_qeh/found_outcome_eval_window/
json_validation_status derived from section presence and export_gate_json.

Result: skeleton=100, consistency=7/7, section=14/14 -> honest_proof_score
48.43 -> 49.94.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 17:44:31 +09:00
kjh2064 d6287b11af fix: phase1 DAG 누락 노드 6개 추가 + 아키텍처 경계 검사 개선 (DAG 75step)
- spec/41: 6개 노드 추가 (step_count 69->75)
  wave_1: build_ejce_view_renderer, build_ratchet_trailing_general,
          build_routing_execution_log, build_value_preservation_scorer
  wave_2: build_smart_cash_recovery_v3
  wave_6: build_algorithm_guidance_proof (build_report 이후)
  build_honest_proof_gap_analyzer depends_on -> build_algorithm_guidance_proof
- tools/build_routing_execution_log_v1.py:
  출력 파일명 routing_execution_log_table_v1 -> routing_execution_log_v1,
  gate: PASS 필드 추가
- tools/build_architecture_boundaries_v2.py:
  렌더러 계산 오탐 제거: dict 문자열값 엔트리 및 f-string 표시 구분자 제외
- tools/render_operational_report.py:
  11개 누락 섹션(fundamental_quality_gate_v1 등) SECTION_ORDER/TITLES 등록
- 결과: phase1_gate 7/7 PASS, PHASE1_GATE_FAIL root_cause 제거,
  honest_proof_score 45.1->46.55

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 17:05:55 +09:00
kjh2064 ee3e799de1 feat: 리밸런싱 엔진 V1 + GAS 버그 수정 (2026-06-13)
주요 변경:
- 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>
2026-06-13 13:20:14 +09:00