99 lines
3.1 KiB
YAML
99 lines
3.1 KiB
YAML
formula_id: WBS_10_DOTNET_MIGRATION_EXECUTION_PLAN_V1
|
|
owner: QuantEngine
|
|
status: draft
|
|
source_of_truth:
|
|
- docs/WBS_10_DOTNET_MIGRATION_ROADMAP.yaml
|
|
- docs/WBS_10_DOTNET_MIGRATION_INVENTORY.yaml
|
|
|
|
goal: ".NET 엔진 고도화를 실제 작업 순서로 착수 가능한 수준까지 분해한다."
|
|
|
|
work_packages:
|
|
- wp_id: WBS-10-WP1
|
|
title: "운영 경로 분해 및 전환 경계 확정"
|
|
objective: "Python harness / .NET domain / .NET application / .NET web / read model 경계를 고정한다."
|
|
depends_on:
|
|
- WBS-10-A1
|
|
inputs:
|
|
- docs/WBS_10_DOTNET_MIGRATION_INVENTORY.yaml
|
|
- docs/WBS_10_DOTNET_MIGRATION_ROADMAP.yaml
|
|
outputs:
|
|
- docs/WBS_10_DOTNET_MIGRATION_INVENTORY.yaml
|
|
- docs/WBS_10_DOTNET_MIGRATION_EXECUTION_PLAN.yaml
|
|
success_data:
|
|
schema: yaml
|
|
fields:
|
|
- route_id
|
|
- classification
|
|
- keep_or_migrate
|
|
- owner_file
|
|
- note
|
|
pass_condition: "migrate 대상과 keep 대상이 혼동 없이 분리됨"
|
|
|
|
- wp_id: WBS-10-WP2
|
|
title: "Domain parity 우선순위 확정"
|
|
objective: "핵심 계산기와 하네스 parity 대상을 먼저 고정한다."
|
|
depends_on:
|
|
- WBS-10-WP1
|
|
inputs:
|
|
- src/dotnet/QuantEngine.Core/Domain/FormulaEngine.cs
|
|
- src/dotnet/QuantEngine.Core/Domain/FactorCalculator.cs
|
|
- src/dotnet/QuantEngine.Core.Tests/FormulaEngineTests.cs
|
|
outputs:
|
|
- Temp/wbs10_domain_parity_backlog.json
|
|
success_data:
|
|
schema: json
|
|
fields:
|
|
- formula_id
|
|
- parity_targets
|
|
- tolerance
|
|
- coverage_min
|
|
pass_condition: "핵심 계산기 parity 대상이 누락 없이 나열됨"
|
|
|
|
- wp_id: WBS-10-WP3
|
|
title: "스케줄러 서비스 수준 강화 착수"
|
|
objective: "SchedulerService를 상태/의존성/재시도/감사 추적 서비스로 진화시킨다."
|
|
depends_on:
|
|
- WBS-10-WP1
|
|
inputs:
|
|
- src/dotnet/QuantEngine.Web/Services/SchedulerService.cs
|
|
- spec/41_release_dag.yaml
|
|
outputs:
|
|
- Temp/wbs10_scheduler_service_backlog.yaml
|
|
success_data:
|
|
schema: yaml
|
|
fields:
|
|
- state_machine
|
|
- dependency_edges
|
|
- retry_policy
|
|
- audit_fields
|
|
pass_condition: "현재 cron형 호출과 서비스 수준 제어면의 차이가 정의됨"
|
|
|
|
- wp_id: WBS-10-WP4
|
|
title: "read model 분리 착수"
|
|
objective: "운영 조회를 원장/집계와 분리한다."
|
|
depends_on:
|
|
- WBS-10-WP1
|
|
inputs:
|
|
- src/dotnet/QuantEngine.Web/Pages/Admin/Dashboard/Index.cshtml.cs
|
|
- src/dotnet/QuantEngine.Web/Pages/Admin/Collection/Index.cshtml.cs
|
|
outputs:
|
|
- Temp/wbs10_read_model_boundary.yaml
|
|
success_data:
|
|
schema: yaml
|
|
fields:
|
|
- projection
|
|
- source_of_truth
|
|
- refresh_mode
|
|
- staleness_budget
|
|
pass_condition: "조회 모델과 원장 모델의 경계가 설명됨"
|
|
|
|
execution_order:
|
|
- WBS-10-WP1
|
|
- WBS-10-WP2
|
|
- WBS-10-WP3
|
|
- WBS-10-WP4
|
|
|
|
notes:
|
|
- "이 문서는 실행 가능한 작업 분해용이며, 권위는 roadmap/inventory에 남긴다."
|
|
- "모든 success_data는 하네스가 아닌 착수 기준으로 사용한다."
|