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>
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"formula_id": "RELEASE_GATE_SUMMARY_V1",
|
||||
"status": "PASS",
|
||||
"engine_gate_status": "OK",
|
||||
"failed_checks_count": 0,
|
||||
"zip_created_only_when_gate_ok": true,
|
||||
"exact_command": "npm run prepare-upload-zip",
|
||||
"next_actions": [],
|
||||
"json_path": "Temp/release_gate_summary_v1.json",
|
||||
"input_hash": "9d80a5892c7038017f8e04cd25b5b5fd7a890fdd5cb695285d9688a0873bbd4b",
|
||||
"source_snapshot_hash": "9d80a5892c7038017f8e04cd25b5b5fd7a890fdd5cb695285d9688a0873bbd4b",
|
||||
"builder_version": "engine_hardening_prompt_v3_manual_20260531",
|
||||
"generated_at": "2026-05-31T22:55:02+09:00"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"formula_id": "RELEASE_GATE_SUMMARY_V2",
|
||||
"generated_at": "2026-05-31T00:00:00+09:00",
|
||||
"builder_version": "v4.todo.batch",
|
||||
"status": "FAIL",
|
||||
"failed_checks": [
|
||||
"CHECK_57_VPS_ACTION_DIVERSITY"
|
||||
],
|
||||
"exact_next_command": "npm run full-engine-audit",
|
||||
"affected_artifacts": []
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"formula_id": "RELEASE_GATE_SUMMARY_V3",
|
||||
"generated_at": "2026-05-31T23:23:43+09:00",
|
||||
"builder_version": "v5.todo.batch",
|
||||
"status": "ENGINE_OK_BUT_PASS_100_BLOCKED",
|
||||
"failed_checks_count": 1,
|
||||
"failed_checks": [
|
||||
"CHECK_57_VPS_ACTION_DIVERSITY"
|
||||
],
|
||||
"exact_next_command": "npm run full-engine-audit",
|
||||
"affected_artifacts": [
|
||||
"Temp/operational_report.json"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"formula_id": "CLEAN_TEMP_ARTIFACTS_V1",
|
||||
"generated_at": "2026-06-06T18:09:26.966821+00:00",
|
||||
"dry_run": false,
|
||||
"budget": 300,
|
||||
"candidates": [
|
||||
"release_gate_summary_v1.json",
|
||||
"release_gate_summary_v2.json",
|
||||
"release_gate_summary_v3.json"
|
||||
],
|
||||
"candidate_count": 3,
|
||||
"archived_count": 3,
|
||||
"archived": [
|
||||
{
|
||||
"source": "C:\\Temp\\data_feed\\Temp\\release_gate_summary_v1.json",
|
||||
"archive": "C:\\Temp\\data_feed\\artifacts\\archive\\20260606\\release_gate_summary_v1.json",
|
||||
"sha256": "3f2f81bc2618944a2ec2f2bac71415189b7ab3376988c5c7725756d299a8d35d",
|
||||
"size": 592
|
||||
},
|
||||
{
|
||||
"source": "C:\\Temp\\data_feed\\Temp\\release_gate_summary_v2.json",
|
||||
"archive": "C:\\Temp\\data_feed\\artifacts\\archive\\20260606\\release_gate_summary_v2.json",
|
||||
"sha256": "9e45fd3a4549e19f0eb898c49ada437df7996edbdee5b733ad3133ebf42d61c1",
|
||||
"size": 305
|
||||
},
|
||||
{
|
||||
"source": "C:\\Temp\\data_feed\\Temp\\release_gate_summary_v3.json",
|
||||
"archive": "C:\\Temp\\data_feed\\artifacts\\archive\\20260606\\release_gate_summary_v3.json",
|
||||
"sha256": "978704024d3c3ea9834d09c20558f5991f936b8fdd285c06328fba83a71b6ae8",
|
||||
"size": 400
|
||||
}
|
||||
],
|
||||
"gate": "PASS"
|
||||
}
|
||||
Reference in New Issue
Block a user