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>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
schema_version: release_dag.v3
|
||||
step_count: 69
|
||||
step_count: 75
|
||||
goal: Linearize package.json scripts into a validated DAG execution graph.
|
||||
execution_order:
|
||||
# 토폴로지 정렬 기준 병렬 실행 wave (의존성 없는 노드들을 동시에 실행 가능)
|
||||
@@ -34,10 +34,14 @@ execution_order:
|
||||
- validate_specs
|
||||
wave_1:
|
||||
- build_data_gated_progress
|
||||
- build_ejce_view_renderer
|
||||
- build_factor_shadow_eligibility
|
||||
- build_formula_outputs
|
||||
- build_ratchet_trailing_general
|
||||
- build_rebalance_sheet
|
||||
- build_routing_execution_log
|
||||
- build_shadow_promotion
|
||||
- build_value_preservation_scorer
|
||||
- validate_anti_late_entry
|
||||
- validate_engine_health_card
|
||||
- validate_module_io_coverage
|
||||
@@ -45,6 +49,7 @@ execution_order:
|
||||
- validate_rule_lifecycle
|
||||
- validate_schema_model
|
||||
wave_2:
|
||||
- build_smart_cash_recovery_v3
|
||||
- build_time_stop_forecast
|
||||
- inject_harness
|
||||
- validate_artifact_sync
|
||||
@@ -63,6 +68,7 @@ execution_order:
|
||||
- build_provenance_ledger
|
||||
- build_report
|
||||
wave_6:
|
||||
- build_algorithm_guidance_proof
|
||||
- build_artifact_chain_hash
|
||||
- build_honest_proof_gap_analyzer
|
||||
- validate_json_generator_outputs
|
||||
@@ -130,6 +136,89 @@ dag:
|
||||
artifact_policy: "keep"
|
||||
note: "149개 팩터 shadow 승격 자격 평가 — non-blocking diagnostic"
|
||||
|
||||
build_ejce_view_renderer:
|
||||
id: build_ejce_view_renderer
|
||||
command: ["python", "tools/build_ejce_view_renderer_v1.py"]
|
||||
inputs: ["tools/build_ejce_view_renderer_v1.py", "GatherTradingData.json"]
|
||||
outputs: ["Temp/ejce_view_renderer_v1.json"]
|
||||
depends_on: ["convert_xlsx"]
|
||||
timeout_sec: 30
|
||||
cache_key: "build_ejce_view_renderer_v1"
|
||||
strict: false
|
||||
artifact_policy: "keep"
|
||||
note: "phase1_gate: blank_view_count=0 검증"
|
||||
|
||||
build_ratchet_trailing_general:
|
||||
id: build_ratchet_trailing_general
|
||||
command: ["python", "tools/build_ratchet_trailing_general_v1.py"]
|
||||
inputs: ["tools/build_ratchet_trailing_general_v1.py", "GatherTradingData.json"]
|
||||
outputs: ["Temp/ratchet_trailing_general_v1.json"]
|
||||
depends_on: ["convert_xlsx"]
|
||||
timeout_sec: 30
|
||||
cache_key: "build_ratchet_trailing_general_v1"
|
||||
strict: false
|
||||
artifact_policy: "keep"
|
||||
note: "phase1_gate: profit ratchet coverage_pct >= 99 검증"
|
||||
|
||||
build_routing_execution_log:
|
||||
id: build_routing_execution_log
|
||||
command: ["python", "tools/build_routing_execution_log_v1.py"]
|
||||
inputs: ["tools/build_routing_execution_log_v1.py"]
|
||||
outputs: ["Temp/routing_execution_log_v1.json"]
|
||||
depends_on: ["convert_xlsx"]
|
||||
timeout_sec: 30
|
||||
cache_key: "build_routing_execution_log_v1"
|
||||
strict: false
|
||||
artifact_policy: "keep"
|
||||
note: "phase1_gate: routing decision path completeness"
|
||||
|
||||
build_value_preservation_scorer:
|
||||
id: build_value_preservation_scorer
|
||||
command: ["python", "tools/build_value_preservation_scorer_v1.py"]
|
||||
inputs: ["tools/build_value_preservation_scorer_v1.py", "GatherTradingData.json"]
|
||||
outputs: ["Temp/value_preservation_scorer_v1.json"]
|
||||
depends_on: ["convert_xlsx"]
|
||||
timeout_sec: 30
|
||||
cache_key: "build_value_preservation_scorer_v1"
|
||||
strict: false
|
||||
artifact_policy: "keep"
|
||||
note: "phase1_gate: value preservation gate=PASS/CAUTION/WATCH_PENDING_SAMPLE"
|
||||
|
||||
build_smart_cash_recovery_v3:
|
||||
id: build_smart_cash_recovery_v3
|
||||
command: ["python", "tools/build_smart_cash_recovery_v3.py"]
|
||||
inputs: ["tools/build_smart_cash_recovery_v3.py", "GatherTradingData.json",
|
||||
"Temp/value_preservation_scorer_v1.json"]
|
||||
outputs: ["Temp/smart_cash_recovery_v3.json"]
|
||||
depends_on: ["build_value_preservation_scorer"]
|
||||
timeout_sec: 30
|
||||
cache_key: "build_smart_cash_recovery_v3"
|
||||
strict: false
|
||||
artifact_policy: "keep"
|
||||
note: "phase1_gate: smart cash recovery V3 gate=PASS/CAUTION"
|
||||
|
||||
build_algorithm_guidance_proof:
|
||||
id: build_algorithm_guidance_proof
|
||||
command: ["python", "tools/build_algorithm_guidance_proof_v1.py"]
|
||||
inputs: ["tools/build_algorithm_guidance_proof_v1.py",
|
||||
"GatherTradingData.json",
|
||||
"Temp/operational_report.json",
|
||||
"Temp/ejce_view_renderer_v1.json",
|
||||
"Temp/ratchet_trailing_general_v1.json",
|
||||
"Temp/value_preservation_scorer_v1.json",
|
||||
"Temp/smart_cash_recovery_v3.json",
|
||||
"Temp/routing_execution_log_v1.json",
|
||||
"Temp/canonical_metrics_v1.json"]
|
||||
outputs: ["Temp/algorithm_guidance_proof_v1.json"]
|
||||
depends_on: ["build_report", "build_ejce_view_renderer", "build_ratchet_trailing_general",
|
||||
"build_value_preservation_scorer", "build_smart_cash_recovery_v3",
|
||||
"build_routing_execution_log"]
|
||||
timeout_sec: 30
|
||||
cache_key: "build_algorithm_guidance_proof_v1"
|
||||
strict: false
|
||||
artifact_policy: "keep"
|
||||
note: "honest_proof_score + phase1_gate 7개 검증 — RELEASE_GATE_TRUTH 원천"
|
||||
|
||||
build_rebalance_sheet:
|
||||
id: build_rebalance_sheet
|
||||
command: ["python", "tools/build_rebalance_engine_v1.py", "--json", "GatherTradingData.json", "--harness", "Temp/computed_harness_v1.json"]
|
||||
@@ -728,7 +817,7 @@ dag:
|
||||
"Temp/prediction_accuracy_harness_v2.json",
|
||||
"Temp/imputed_data_exposure_gate_v2.json"]
|
||||
outputs: ["Temp/honest_proof_gap_analyzer_v1.json"]
|
||||
depends_on: ["build_report"]
|
||||
depends_on: ["build_algorithm_guidance_proof"]
|
||||
timeout_sec: 30
|
||||
cache_key: "build_honest_proof_gap_analyzer_v1"
|
||||
strict: false
|
||||
|
||||
Reference in New Issue
Block a user