formula_id: WBS_10_DOTNET_MIGRATION_INVENTORY_V1 status: draft owner: QuantEngine scope: goal: ".NET 고도화 전환 우선순위를 결정하기 위한 운영 경로 인벤토리" classification: - python_harness - dotnet_domain - dotnet_application - dotnet_web - read_model routes: - route_id: python_harness_validation path: - tools/validate_quant_engine_wbs_v1.py - tools/validate_dotnet_migration_roadmap_v1.py - tests/unit/test_validate_dotnet_migration_roadmap_v1.py classification: python_harness keep_or_migrate: keep reason: "검증 도구는 운영 엔진이 아니라 하네스/계약 검사 계층이다." - route_id: python_wbs_source path: - spec/60_quant_engine_wbs.yaml - docs/WBS_10_DOTNET_MIGRATION_ROADMAP.yaml classification: python_harness keep_or_migrate: keep reason: "권위 문서와 상세 로드맵은 운영 실행물이 아니라 계약 문서다." - route_id: dotnet_core_formula_engine path: - src/dotnet/QuantEngine.Core/Domain/FormulaEngine.cs - src/dotnet/QuantEngine.Core/Domain/FactorCalculator.cs - src/dotnet/QuantEngine.Core/Domain/AntiChasingCalculator.cs - src/dotnet/QuantEngine.Core/Domain/ProfitLockCalculator.cs - src/dotnet/QuantEngine.Core/Domain/PullbackTriggerCalculator.cs - src/dotnet/QuantEngine.Core/Domain/SellPriceSanityChecker.cs - src/dotnet/QuantEngine.Core/Domain/KrxTickNormalizer.cs classification: dotnet_domain keep_or_migrate: migrate reason: "운영 계산의 canonical engine 후보이며 parity harness의 주 대상이다." - route_id: dotnet_application_orchestration path: - src/dotnet/QuantEngine.Application/Services/PipelineOrchestrator.cs - src/dotnet/QuantEngine.Application/Services/KisDataCollectionOrchestrator.cs - src/dotnet/QuantEngine.Application/Services/HistoryIngestionService.cs - src/dotnet/QuantEngine.Application/Services/PriceDataNormalizer.cs - src/dotnet/QuantEngine.Application/Services/SourcePriorityResolver.cs - src/dotnet/QuantEngine.Application/Services/DataCollectionService.cs classification: dotnet_application keep_or_migrate: migrate reason: "Python 오케스트레이션/수집/정규화 흐름을 .NET 서비스 계층으로 수렴시킨다." - route_id: dotnet_web_scheduler path: - src/dotnet/QuantEngine.Web/Services/SchedulerService.cs - src/dotnet/QuantEngine.Web/Endpoints/CollectionEndpoints.cs - src/dotnet/QuantEngine.Web/Pages/Admin/Operations/Index.cshtml.cs classification: dotnet_web keep_or_migrate: migrate reason: "스케줄러와 운영 제어면은 서비스 수준으로 고도화 대상이다." - route_id: dotnet_read_models path: - src/dotnet/QuantEngine.Web/Pages/Admin/Dashboard/Index.cshtml.cs - src/dotnet/QuantEngine.Web/Pages/Admin/Collection/Index.cshtml.cs - src/dotnet/QuantEngine.Web/Pages/Admin/Monitoring/Index.cshtml.cs - src/dotnet/QuantEngine.Web/Pages/Admin/Database/Index.cshtml.cs classification: read_model keep_or_migrate: migrate reason: "운영 조회는 역정규화 read model로 분리한다." priority_order: - python_harness_validation - python_wbs_source - dotnet_core_formula_engine - dotnet_application_orchestration - dotnet_web_scheduler - dotnet_read_models notes: - "운영 경로는 keep_or_migrate가 migrate인 대상만 .NET canonical 대상으로 본다." - "python_harness는 thin wrapper 또는 검증용으로만 유지한다." - "read_model은 원장 대체가 아니라 서빙 전용이다."