formula_id: WBS_10_DOTNET_PARITY_CONTRACT_V1 owner: QuantEngine status: draft source_of_truth: - src/dotnet/QuantEngine.Core/Domain/FormulaEngine.cs - src/dotnet/QuantEngine.Core/Domain/ExitDecisions.cs - src/dotnet/QuantEngine.Core/Domain/FactorCalculator.cs - src/dotnet/QuantEngine.Core.Tests/FormulaEngineTests.cs - src/dotnet/QuantEngine.Core.Tests/FactorCalculatorTests.cs - src/dotnet/QuantEngine.Core.Tests/ParityTests/DomainParityTests.cs goal: "Python reference와 .NET domain 결과를 데이터 기반 parity 계약으로 고정한다." targets: - target_id: formula_engine_timing symbol: FormulaEngine.ComputeTimingDecision tolerance: numeric: 0 text: exact evidence: - src/dotnet/QuantEngine.Core.Tests/FormulaEngineTests.cs - src/dotnet/QuantEngine.Core.Tests/ParityTests/DomainParityTests.cs pass_condition: "timing action/reason이 reference와 동일" - target_id: formula_engine_sell symbol: FormulaEngine.ComputeSellDecision tolerance: numeric: 0 text: exact evidence: - src/dotnet/QuantEngine.Core.Tests/FormulaEngineTests.cs - src/dotnet/QuantEngine.Core.Tests/ParityTests/DomainParityTests.cs pass_condition: "sell action/ratio/validation이 reference와 동일" - target_id: formula_engine_final symbol: FormulaEngine.ComputeFinalDecision tolerance: numeric: 0 text: exact evidence: - src/dotnet/QuantEngine.Core.Tests/FormulaEngineTests.cs - src/dotnet/QuantEngine.Core.Tests/ParityTests/DomainParityTests.cs pass_condition: "final action/priority/source가 reference와 동일" - target_id: exit_stop_price symbol: ExitDecisions.ComputeStopPriceCore tolerance: numeric: 0.0001 text: exact evidence: - src/dotnet/QuantEngine.Core.Tests/ParityTests/DomainParityTests.cs pass_condition: "stop price within tolerance" - target_id: exit_stop_ladder symbol: ExitDecisions.ComputeStopActionLadder tolerance: numeric: 0 text: exact evidence: - src/dotnet/QuantEngine.Core.Tests/ParityTests/DomainParityTests.cs pass_condition: "exit action ladder exact match" - target_id: exit_heat_thresholds symbol: ExitDecisions.ComputeDynamicHeatThresholds tolerance: numeric: 0 text: exact evidence: - src/dotnet/QuantEngine.Core.Tests/ParityTests/DomainParityTests.cs pass_condition: "heat thresholds exact match" - target_id: factor_calculator symbol: FactorCalculator.CalculateFactors tolerance: numeric: 0.000001 text: exact evidence: - src/dotnet/QuantEngine.Core.Tests/FactorCalculatorTests.cs pass_condition: "factor outputs stable and deterministic" execution_notes: - "Parity is a contract, not a guess." - "Do not add new parity targets without updating reference fixtures and tolerances."