Validation Strategy¶
Validation is split into two layers.
Deterministic validation suite¶
tests/integration/validation/ contains scenario fixtures for:
bond pricing and accrued-interest edge cases
callable and floating-rate analytics
curve conversions and calibration
portfolio analytics and ETF workflows
engine scheduler and reactive flows
External-reference corpus¶
tests/integration/validation/test_validation_corpus.py consumes tests/fixtures/golden/validation_corpus.json.
The corpus is local and deterministic.
It records the upstream repository, branch, commit, and generation date in fixture metadata.
It is intentionally small and focused on high-value pricing and portfolio workflows.
Accepted divergences are documented inline in the fixture when the Python implementation deliberately optimizes for internal coherence rather than exact path-by-path reproduction.
Tolerances¶
Tight scalar tolerances are used for deterministic bond and curve cases.
Exact or near-exact
Decimaltolerances are used for many portfolio aggregates.Wider explicit tolerances are reserved for model-driven workflows such as callable OAS and floating-rate discount-margin checks.