mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
PR feedback: prefer an abstract base the calculator inherits from over a structural Protocol. Define `SapCalculator(ABC)` in the calculator package (the engine owns its own contract) and have `Sap10Calculator` inherit it; a future methodology is another subclass. Placing the ABC with the engine — not in property_baseline — keeps the dependency pointing consumer -> engine (sap10_calculator imports nothing from property_baseline). Consistent with the repo's existing port convention (FuelRatesRepository(ABC)). CalculatorRebaseliner keeps its reference to SapCalculator type-only (under TYPE_CHECKING), so the module still does not import the calculator at runtime. Test fakes now inherit the ABC since structural conformance no longer applies. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| applications | ||
| domain | ||
| infrastructure | ||
| orchestration | ||
| repositories | ||
| utilities | ||
| __init__.py | ||
| conftest.py | ||
| test_lambda_packaging.py | ||