feat(CORE-001D): close remaining boundary cleanup slices

This commit is contained in:
Bu5hm4nn
2026-03-26 17:27:44 +01:00
parent 99d22302ee
commit 94f3c1ef83
16 changed files with 552 additions and 107 deletions

View File

@@ -0,0 +1,20 @@
id: CORE-001D3C
title: Historical Scenario Service Input Normalization
status: done
priority: P2
effort: S
depends_on:
- CORE-001C
- CORE-001D3A
tags:
- core
- decimal
- backtesting
- event-comparison
summary: Backtest and event-comparison service entrypoints now normalize historical scenario inputs through a shared named adapter.
completed_notes:
- Added `normalize_historical_scenario_inputs(...)` in `app/services/backtesting/input_normalization.py`.
- `BacktestPageService`, `EventComparisonService`, and `EventComparisonPageService` now normalize units/loan/LTV inputs through the shared adapter instead of ad-hoc float checks.
- The shared adapter now accepts Decimal and numeric-string boundary values while still failing closed on invalid or non-finite inputs.
- Added focused regression coverage in `tests/test_backtest_ui.py` and `tests/test_event_comparison_ui.py`.
- Validated with focused pytest coverage, browser-driven checks on local Docker, and `make build`.