feat: DATA_GATED 진척도 추적 + 팩터 shadow 자격 평가 + routing_gate 실측 보정
- tools/build_data_gated_progress_v1.py: WBS-2.5/4.1~4.3/RELEASE_GATE_TRUTH 실측 진척도 (sector_flow 21/30일, T+20 0/30건, honest_proof 45.1/70.0) - tools/build_factor_shadow_eligibility_v1.py: 149개 팩터 shadow 자격 평가 (eligible=24, partial=37, blocked=38) - spec/41: DAG step_count 63→67, 신규 4노드 추가 (build_data_gated_progress, build_factor_shadow_eligibility, build_strategy_routing_audit, build_horizon_rebalance_plan) - spec/30: routing_gate 실측 보정 — SHORT 71.4%는 오류, 실제 원인은 MID 75.0% > 50% 상한 (2026-06-14 실측) - spec/13: DATA_GATED_PROGRESS_V1, FACTOR_SHADOW_ELIGIBILITY_V1, STRATEGY_ROUTING_AUDIT_V1 formula 등록 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -88,10 +88,13 @@ formula_registry:
|
||||
- ALGORITHM_GUIDANCE_PROOF_V1
|
||||
- CANONICAL_ARTIFACT_RESOLVER_V1
|
||||
- COMPLETION_GAP_V1
|
||||
- DATA_GATED_PROGRESS_V1
|
||||
- FACTOR_SHADOW_ELIGIBILITY_V1
|
||||
- FINAL_EXECUTION_DECISION_V2
|
||||
- FORMULA_REGISTRY_SYNC_V1
|
||||
- HORIZON_REBALANCE_PLAN_V1
|
||||
- PIPELINE_RUNTIME_PROFILE_V1
|
||||
- STRATEGY_ROUTING_AUDIT_V1
|
||||
implementation_map:
|
||||
REGIME_CONDITIONAL_MACRO_FACTOR_V1: tools/build_predictive_alpha_dialectic_engine_v2.py:NF1
|
||||
REBOUND_CAPTURE_THESIS_FACTOR_V1: tools/build_predictive_alpha_dialectic_engine_v2.py:NF2
|
||||
@@ -107,10 +110,13 @@ formula_registry:
|
||||
ALGORITHM_GUIDANCE_PROOF_V1: tools/build_algorithm_guidance_proof_v1.py
|
||||
CANONICAL_ARTIFACT_RESOLVER_V1: tools/validate_canonical_artifact_resolver_v1.py
|
||||
COMPLETION_GAP_V1: tools/build_completion_gap_v1.py
|
||||
DATA_GATED_PROGRESS_V1: tools/build_data_gated_progress_v1.py
|
||||
FACTOR_SHADOW_ELIGIBILITY_V1: tools/build_factor_shadow_eligibility_v1.py
|
||||
FINAL_EXECUTION_DECISION_V2: tools/build_final_execution_decision_v2.py
|
||||
FORMULA_REGISTRY_SYNC_V1: tools/build_formula_registry_sync_v1.py
|
||||
HORIZON_REBALANCE_PLAN_V1: tools/build_horizon_rebalance_plan_v1.py
|
||||
PIPELINE_RUNTIME_PROFILE_V1: src/quant_engine/pipeline_runtime_anomaly_lib_v1.py
|
||||
STRATEGY_ROUTING_AUDIT_V1: tools/build_strategy_routing_audit_v1.py
|
||||
formulas:
|
||||
FLOW_CREDIT_V1:
|
||||
purpose: 가격·거래량·5D 수급 품질을 0~1 점수로 계산
|
||||
|
||||
@@ -135,8 +135,9 @@ criteria:
|
||||
target: "PASS"
|
||||
current: FAIL
|
||||
status: FAIL
|
||||
note: "SHORT 71.4% > 상한 40% 위반. 실제 포트폴리오 상태 변경 필요."
|
||||
fix: "포지션 리밸런싱으로 SHORT 비중 40% 이하로 조정"
|
||||
note: "MID 75.0% > 상한 50% 위반 (horizon_conflict_count=1). routing_confidence=20 — style_horizon_mismatch 6건. SHORT=12.5%(PASS 범위)."
|
||||
fix: "MID 호라이즌 종목 비중 50% 이하로 조정 — style/horizon 미스매치 해소"
|
||||
source: "Temp/strategy_routing_audit_v1.json (2026-06-14 실측)"
|
||||
|
||||
confidence_cap_honest:
|
||||
target: "< 5 gap from raw_cap"
|
||||
@@ -153,7 +154,7 @@ summary:
|
||||
passed: 9
|
||||
failed: 8
|
||||
pass_rate_pct: 52.94
|
||||
last_updated: "2026-06-03"
|
||||
last_updated: "2026-06-14"
|
||||
|
||||
passed_items:
|
||||
- yaml_to_code_coverage_ratio
|
||||
@@ -168,13 +169,13 @@ summary:
|
||||
- golden_test_coverage_ratio
|
||||
|
||||
failed_items:
|
||||
- RELEASE_GATE_TRUTH: "honest_proof_score=55.93 < 70.0 (RELEASE_GATE_TRUTH_V1 차단)"
|
||||
- RELEASE_GATE_TRUTH: "honest_proof_score=45.1 < 70.0 (2026-06-14 실측; T+20 표본 및 펀더멘털 수집 필요)"
|
||||
- schema_validity_score: "95.5 (목표 99+, SLA 초과 — 새 JSON 내보내기 후 해소)"
|
||||
- required_field_coverage: "0.955 (목표 1.0, SLA 연동)"
|
||||
- missing_critical_field_count: "3 PENDING (운영 데이터 누적 필요)"
|
||||
- performance_readiness_score: "50 (목표 90, T+20 운영 30건 필요)"
|
||||
- imputed_data_exposure_gate: "IMPUTED_DATA_BLOCK (GAS 펀더멘털 내보내기 후 개선)"
|
||||
- routing_gate: "FAIL (SHORT 71.4%, 리밸런싱 필요)"
|
||||
- routing_gate: "FAIL (MID 75.0% > 50% 상한, horizon_conflict=1, routing_confidence=20 — 2026-06-14 실측)"
|
||||
- confidence_cap_honest: "gap 44.6 (펀더멘털 수집 후 자동 개선)"
|
||||
|
||||
# ── 투자 판단 허용 조건 ──────────────────────────────────────────────────────
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
schema_version: release_dag.v3
|
||||
step_count: 63
|
||||
step_count: 67
|
||||
goal: Linearize package.json scripts into a validated DAG execution graph.
|
||||
execution_order:
|
||||
# 토폴로지 정렬 기준 병렬 실행 wave (의존성 없는 노드들을 동시에 실행 가능)
|
||||
@@ -32,6 +32,8 @@ execution_order:
|
||||
- validate_runtime_source_whitelist
|
||||
- validate_specs
|
||||
wave_1:
|
||||
- build_data_gated_progress
|
||||
- build_factor_shadow_eligibility
|
||||
- build_formula_outputs
|
||||
- build_rebalance_sheet
|
||||
- build_shadow_promotion
|
||||
@@ -47,9 +49,11 @@ execution_order:
|
||||
- validate_artifact_sync
|
||||
- validate_no_lookahead
|
||||
wave_3:
|
||||
- build_strategy_routing_audit
|
||||
- finalize_packet
|
||||
wave_4:
|
||||
- build_final_decision
|
||||
- build_horizon_rebalance_plan
|
||||
- validate_decision_trace
|
||||
- validate_execution_sim
|
||||
- validate_factor_conflicts
|
||||
@@ -100,6 +104,30 @@ dag:
|
||||
strict: true
|
||||
artifact_policy: "keep"
|
||||
|
||||
build_data_gated_progress:
|
||||
id: build_data_gated_progress
|
||||
command: ["python", "tools/build_data_gated_progress_v1.py"]
|
||||
inputs: ["tools/build_data_gated_progress_v1.py", "GatherTradingData.json"]
|
||||
outputs: ["Temp/data_gated_progress_v1.json"]
|
||||
depends_on: ["build_live_replay_separation"]
|
||||
timeout_sec: 30
|
||||
cache_key: "build_data_gated_progress_v1"
|
||||
strict: false
|
||||
artifact_policy: "keep"
|
||||
note: "DATA_GATED 항목별 실측 진척도 — non-blocking diagnostic"
|
||||
|
||||
build_factor_shadow_eligibility:
|
||||
id: build_factor_shadow_eligibility
|
||||
command: ["python", "tools/build_factor_shadow_eligibility_v1.py"]
|
||||
inputs: ["tools/build_factor_shadow_eligibility_v1.py", "GatherTradingData.json", "spec/factor_lifecycle_registry.yaml"]
|
||||
outputs: ["Temp/factor_shadow_eligibility_v1.json"]
|
||||
depends_on: ["convert_xlsx"]
|
||||
timeout_sec: 30
|
||||
cache_key: "build_factor_shadow_eligibility_v1"
|
||||
strict: false
|
||||
artifact_policy: "keep"
|
||||
note: "149개 팩터 shadow 승격 자격 평가 — non-blocking diagnostic"
|
||||
|
||||
build_rebalance_sheet:
|
||||
id: build_rebalance_sheet
|
||||
command: ["python", "tools/build_rebalance_engine_v1.py", "--json", "GatherTradingData.json", "--harness", "Temp/computed_harness_v1.json"]
|
||||
@@ -134,6 +162,32 @@ dag:
|
||||
strict: true
|
||||
artifact_policy: "keep"
|
||||
|
||||
build_strategy_routing_audit:
|
||||
id: build_strategy_routing_audit
|
||||
command: ["python", "tools/build_strategy_routing_audit_v1.py"]
|
||||
inputs: ["tools/build_strategy_routing_audit_v1.py", "GatherTradingData.json",
|
||||
"Temp/horizon_classification_v1.json", "Temp/capital_style_allocation_v1.json"]
|
||||
outputs: ["Temp/strategy_routing_audit_v1.json"]
|
||||
depends_on: ["inject_harness"]
|
||||
timeout_sec: 30
|
||||
cache_key: "build_strategy_routing_audit_v1"
|
||||
strict: false
|
||||
artifact_policy: "keep"
|
||||
note: "routing_gate 공식 산출 — MID/SHORT/LONG 호라이즌 상한 검증"
|
||||
|
||||
build_horizon_rebalance_plan:
|
||||
id: build_horizon_rebalance_plan
|
||||
command: ["python", "tools/build_horizon_rebalance_plan_v1.py"]
|
||||
inputs: ["tools/build_horizon_rebalance_plan_v1.py", "GatherTradingData.json",
|
||||
"Temp/strategy_routing_audit_v1.json", "Temp/horizon_classification_v1.json"]
|
||||
outputs: ["Temp/horizon_rebalance_plan_v1.json"]
|
||||
depends_on: ["build_strategy_routing_audit", "finalize_packet"]
|
||||
timeout_sec: 30
|
||||
cache_key: "build_horizon_rebalance_plan_v1"
|
||||
strict: false
|
||||
artifact_policy: "keep"
|
||||
note: "routing_gate FAIL 시 리밸런싱 우선순위 플랜 산출 — non-blocking"
|
||||
|
||||
audit_entropy:
|
||||
id: audit_entropy
|
||||
command: ["python", "tools/audit_repository_entropy_v2.py", "--out", "runtime/refactor_baseline_v1.yaml"]
|
||||
|
||||
Reference in New Issue
Block a user