ee3e799de1
주요 변경: - 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>
81 lines
3.6 KiB
YAML
81 lines
3.6 KiB
YAML
meta:
|
|
title: "은퇴자산포트폴리오 — 경로 alias registry"
|
|
version: "2026-05-15-F10_fragmentation_guard"
|
|
role: "governance"
|
|
purpose: "legacy path와 canonical split path를 명시해 참조 혼선을 방지한다."
|
|
|
|
aliases:
|
|
"spec/03_risk_policy.yaml:portfolio_exposure_framework":
|
|
canonical: "spec/risk/portfolio_exposure.yaml:portfolio_exposure_framework"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/03_risk_policy.yaml:risk_control":
|
|
canonical: "spec/risk/aggregate_risk.yaml:risk_control"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/risk/risk_control.yaml:risk_control.aggregate_risk_cap":
|
|
canonical: "spec/risk/aggregate_risk.yaml:risk_control.aggregate_risk_cap"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/risk/risk_control.yaml:risk_control.market_risk_score_based_cash":
|
|
canonical: "spec/risk/market_risk_cash.yaml:risk_control.market_risk_score_based_cash"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/risk/risk_control.yaml:risk_control.weekly_circuit_breaker":
|
|
canonical: "spec/risk/circuit_breakers.yaml:risk_control.weekly_circuit_breaker"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/06_exit_policy.yaml:stop_loss":
|
|
canonical: "spec/exit/stop_loss.yaml:stop_loss"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/06_exit_policy.yaml:take_profit":
|
|
canonical: "spec/exit/take_profit.yaml:take_profit"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/03_risk_policy.yaml:quality_control":
|
|
canonical: "spec/risk/quality_control.yaml:quality_control"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/04_strategy_rules.yaml:sector_model":
|
|
canonical: "spec/strategy/sector_model.yaml:sector_model"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/04_strategy_rules.yaml:entry_timing_guardrails":
|
|
canonical: "spec/strategy/entry_core.yaml:entry_timing_guardrails"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/04_strategy_rules.yaml:anti_late_trade_rule":
|
|
canonical: "spec/strategy/discovery.yaml:anti_late_trade_rule"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/strategy/entry_gates.yaml:entry_timing_guardrails.daily_leader_scan":
|
|
canonical: "spec/strategy/leader_scan.yaml:entry_timing_guardrails.daily_leader_scan"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/strategy/entry_gates.yaml:entry_timing_guardrails.anti_climax_buy_gate":
|
|
canonical: "spec/strategy/leader_scan.yaml:entry_timing_guardrails.anti_climax_buy_gate"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/strategy/entry_gates.yaml:entry_timing_guardrails.staged_entry_v2":
|
|
canonical: "spec/strategy/staged_entry.yaml:entry_timing_guardrails.staged_entry_v2"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/strategy/entry_gates.yaml:entry_timing_guardrails.pullback_reentry_rule":
|
|
canonical: "spec/strategy/staged_entry.yaml:entry_timing_guardrails.pullback_reentry_rule"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/04_strategy_rules.yaml:stock_model":
|
|
canonical: "spec/strategy/stock_model.yaml:stock_model"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
"spec/04_strategy_rules.yaml:rebalancing_trigger":
|
|
canonical: "spec/strategy/rebalancing_trigger.yaml:rebalancing_trigger"
|
|
status: "deprecated"
|
|
remove_after: "2026-06-30"
|
|
|
|
policy:
|
|
- "신규 문서는 canonical 경로만 사용한다."
|
|
- "compatibility index와 aliases.yaml 내부의 deprecated 경로는 허용한다."
|
|
- "remove_after 이후 deprecated 경로가 active 문서에 남으면 검증 실패로 전환한다."
|