feat(dotnet): add domain parity backlog harness
CI Workflow Lint / validate-ci-workflow-lint (push) Failing after 14s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 23s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 2m10s

This commit is contained in:
2026-07-13 00:36:41 +09:00
parent a45961928e
commit 3fbb5ea2bf
7 changed files with 194 additions and 0 deletions
+1
View File
@@ -1474,6 +1474,7 @@ WBS-8.8 (KIS 리팩터) — 독립적 (원격 병행)
> normalization contract: [WBS_10_DOTNET_NORMALIZATION_CONTRACT.yaml](./WBS_10_DOTNET_NORMALIZATION_CONTRACT.yaml)
> idempotency contract: [WBS_10_DOTNET_IDEMPOTENCY_CONTRACT.yaml](./WBS_10_DOTNET_IDEMPOTENCY_CONTRACT.yaml)
> ci/cd chain contract: [WBS_10_DOTNET_CICD_CHAIN_CONTRACT.yaml](./WBS_10_DOTNET_CICD_CHAIN_CONTRACT.yaml)
> domain parity backlog: [WBS_10_DOTNET_DOMAIN_PARITY_BACKLOG.yaml](./WBS_10_DOTNET_DOMAIN_PARITY_BACKLOG.yaml)
> 현황 진단(2026-06-26): .NET 프로젝트는 Python 엔진(41 모듈, 14,500 LOC) 대비 5~10%(~1,400 LOC) 수준.
> Domain 계산기 6개·데이터 모델 8개·KIS/Naver/Yahoo 클라이언트·PostgreSQL 마이그레이션·Razor Pages 어드민 대시보드 기본 구현 완료.
@@ -0,0 +1,50 @@
formula_id: WBS_10_DOTNET_DOMAIN_PARITY_BACKLOG_V1
owner: QuantEngine
status: draft
goal: "핵심 계산기 parity 대상과 우선순위를 고정한다."
coverage_min: 1.0
tolerance_policy:
numeric_default: 0
text_default: exact
factor_calculator_numeric: 0.000001
exit_stop_price_numeric: 0.0001
parity_targets:
- target_id: formula_engine_timing
source: src/dotnet/QuantEngine.Core/Domain/FormulaEngine.cs
priority: 1
reason: "timing decision은 downstream routing의 선행 게이트"
- target_id: formula_engine_sell
source: src/dotnet/QuantEngine.Core/Domain/FormulaEngine.cs
priority: 2
reason: "sell ratio/action은 실행 표 생성의 핵심"
- target_id: formula_engine_final
source: src/dotnet/QuantEngine.Core/Domain/FormulaEngine.cs
priority: 3
reason: "final decision은 보고/배포의 최종 산출"
- target_id: exit_stop_price
source: src/dotnet/QuantEngine.Core/Domain/ExitDecisions.cs
priority: 4
reason: "손절가 절대값 일치가 필요"
- target_id: exit_stop_ladder
source: src/dotnet/QuantEngine.Core/Domain/ExitDecisions.cs
priority: 5
reason: "워터폴 선형 처리 검증"
- target_id: exit_heat_thresholds
source: src/dotnet/QuantEngine.Core/Domain/ExitDecisions.cs
priority: 6
reason: "동적 열감 임계값 일치"
- target_id: factor_calculator
source: src/dotnet/QuantEngine.Core/Domain/FactorCalculator.cs
priority: 7
reason: "정규화된 입력 순서에서 deterministic output 보장"
coverage_rule:
- "priority 1..7 모두 존재해야 한다"
- "tolerance_policy는 숫자/텍스트 기본값을 정의해야 한다"
- "새 parity target은 reference fixture와 함께만 추가한다"
notes:
- "parity는 기능 추가가 아니라 회귀 차단 장치다."
- "수치 재계산은 reference fixture 외에서 하지 않는다."