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>
This commit is contained in:
2026-06-14 21:31:22 +09:00
parent f5b202fb5e
commit 70675a5a92
4 changed files with 157 additions and 4 deletions
+47 -2
View File
@@ -1,5 +1,5 @@
schema_version: release_dag.v3
step_count: 83
step_count: 86
goal: Linearize package.json scripts into a validated DAG execution graph.
execution_order:
# 토폴로지 정렬 기준 병렬 실행 wave (의존성 없는 노드들을 동시에 실행 가능)
@@ -75,6 +75,9 @@ execution_order:
- build_final_context
- build_provenance_ledger
- build_report
- update_proposal_evaluation_history
- build_operational_eval_queue
- build_operational_outcome_lock
wave_6:
- build_algorithm_guidance_proof
- build_artifact_chain_hash
@@ -304,7 +307,7 @@ dag:
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"]
"build_routing_execution_log", "build_operational_outcome_lock"]
timeout_sec: 30
cache_key: "build_algorithm_guidance_proof_v1"
strict: false
@@ -1095,6 +1098,48 @@ dag:
artifact_policy: "keep"
contract: "spec/58_llm_determinism_contract.yaml"
update_proposal_evaluation_history:
id: update_proposal_evaluation_history
command: ["python", "tools/update_proposal_evaluation_history.py",
"--json", "GatherTradingData.json",
"--history", "Temp/proposal_evaluation_history.json"]
inputs: ["tools/update_proposal_evaluation_history.py", "GatherTradingData.json"]
outputs: ["Temp/proposal_evaluation_history.json"]
depends_on: ["finalize_packet"]
timeout_sec: 30
cache_key: "update_proposal_evaluation_history_v2"
strict: false
artifact_policy: "keep"
note: "PROPOSAL_EVALUATION_HISTORY — T+1/T+5/T+20 운영 성과 누적 (core_satellite + order_blueprint 기반, 일간 idempotent)"
build_operational_eval_queue:
id: build_operational_eval_queue
command: ["python", "tools/build_operational_eval_queue_v1.py",
"--history", "Temp/proposal_evaluation_history.json",
"--out", "Temp/operational_eval_queue_v1.json"]
inputs: ["tools/build_operational_eval_queue_v1.py", "Temp/proposal_evaluation_history.json"]
outputs: ["Temp/operational_eval_queue_v1.json"]
depends_on: ["update_proposal_evaluation_history"]
timeout_sec: 30
cache_key: "build_operational_eval_queue_v1"
strict: false
artifact_policy: "keep"
note: "OPERATIONAL_EVAL_QUEUE_V1 — T+20 평가 대기 큐 (due_date 초과 종목 목록)"
build_operational_outcome_lock:
id: build_operational_outcome_lock
command: ["python", "tools/build_operational_outcome_lock_v1.py",
"--history", "Temp/proposal_evaluation_history.json",
"--out", "Temp/operational_outcome_lock_v1.json"]
inputs: ["tools/build_operational_outcome_lock_v1.py", "Temp/proposal_evaluation_history.json"]
outputs: ["Temp/operational_outcome_lock_v1.json"]
depends_on: ["update_proposal_evaluation_history"]
timeout_sec: 30
cache_key: "build_operational_outcome_lock_v1"
strict: false
artifact_policy: "keep"
note: "OPERATIONAL_OUTCOME_LOCK_V1 — 실운영 T+20 성과 잠금 (30건 이상 누적 후 활성화)"
prepare_zip:
id: prepare_zip
command: ["python", "tools/prepare_upload_zip.py", "--skip-validate", "--skip-convert", "--validation-mode", "package-only"]