schema_version: v8_9_p2_adoption_plan.v1 meta: title: v8_9_p2_adoption_plan source_proposal: suggest/quant_investment_engine_v8_9_portfolio_optimizer_canonical_refactored.yaml predecessor: - governance/todo/v8_9_p0_adoption_plan.yaml - governance/todo/v8_9_p1_adoption_plan.yaml decision_basis: > P0+P1 완료(spec/tool/schema/golden case/decision_flow/manifest 배선까지) 후 사용자가 "로드맵에 따라서 제안한 모든 작업을 순차적으로 진행"을 재요청(2026-06-17). 원본 제안서의 implementation_todo_v8_9 중 P0/P1에서 다루지 않은 4개 세부 항목을 P2로 채택. scope: - forecast_and_simulation_engine_v8_9.simulation_grid (scenario shock matrix) - portfolio_transition_optimizer_v8_9.selection_algorithm (transition-set 조합 열거) - model_governance_v8_9.immutable_decision_log_required_fields - execution_plan_compiler_v8_9 (LIMIT_SPLIT 전체 컴파일) tasks: - id: P2-A title: SCENARIO_SHOCK_MATRIX_V1 output_file: spec/formulas/domains/simulation.yaml detail: > base/adverse/liquidity_drought/crisis/fx_shock/tax_cost 6개 시나리오로 net_profit_distribution을 스트레스 적용. 표본 부족 시 DATA_MISSING(가짜 분포 생성 금지). implementation: tools/build_scenario_shock_matrix_v1.py - id: P2-B title: TRANSITION_SET_ENUMERATOR_V1 output_file: spec/formulas/domains/portfolio.yaml detail: > 개별 candidate가 아니라 candidate 조합(transition set) 단위로 hard_constraint_pass, post_trade_cash_floor_pct, transition_utility_krw를 평가하고 최고 utility set을 선택. solver_failure/rank_tie/conflicting_packets fallback은 PORTFOLIO_TRANSITION_UTILITY_V1과 동일. implementation: tools/build_transition_set_enumerator_v1.py - id: P2-C title: IMMUTABLE_DECISION_LEDGER_V1 output_file: spec/formulas/domains/governance.yaml detail: > decision_id, timestamp, input_hash_bundle, selected_transition_id, T1/T5/T20_return, MAE, MFE를 append-only로 기록. 기존 레코드 수정 금지(append-only 검증). implementation: tools/build_immutable_decision_ledger_v1.py - id: P2-D title: EXECUTION_PLAN_COMPILER_V1 output_file: spec/formulas/domains/execution.yaml detail: > EXECUTION_CAPACITY_LADDER_V1 산출물을 LIMIT_SPLIT 30/30/40 슬라이스로 컴파일하고, 슬라이스 실행 전 cash_floor/capacity/spread 재검증, cancel_remaining_if 조건 평가. implementation: tools/build_execution_plan_compiler_v1.py - id: P2-E title: schema/model + decision_flow/manifest 배선 + 전체 검증 detail: 4개 신규 공식의 schemas/generated + src/quant_engine/models/generated 생성, spec/09_decision_flow.yaml 및 runtime/active_artifact_manifest.yaml 배선, 5개 validator 재실행. depends_on: [P2-A, P2-B, P2-C, P2-D]