mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
The FE-owned `material.type` pgEnum cannot carry `secondary_heating_removal`, so pricing it through the DB catalogue raises a DataError that poisons the session — the modelling pipeline crashed on any property with a lodged secondary heater unless the measure was excluded on the Scenario. Realise the `ProductRepository` docstring's intent (DB catalogue today, a JSON file for costs the ETL does not yet supply, behind the same port): add a `CompositeProductRepository` that resolves an override source first, then the catalogue. Checking the override first keeps that Measure Type away from the DB entirely; every other type misses the override and falls through unchanged. - off_catalogue_costs.json prices it at £270 flat per-dwelling — the legacy `Costs.heater_removal` ported to the new flat model (ADR-0028): (£25 + £200 baseline) x 1.2 VAT, for the single fixed secondary a cert lodges. Contingency (0.25) is joined from config, not the file. - Wire the composite into PostgresUnitOfWork.product and run_modelling_e2e, so the first-run pipeline and the local runner both honour the overlay. - Integration test: drop the unrealistic seeded secondary_heating_removal DB rows (the pgEnum can't hold the type) and assert it is JSON-sourced (material_id is None, cost £270) end-to-end through a real Unit of Work. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| eon | ||
| analyse_api_sap_clusters.py | ||
| build_epc_prediction_fixture.py | ||
| decompose_api_cost_error.py | ||
| decompose_co2_pe_error.py | ||
| download_cotality_evidence.py | ||
| e2e_common.py | ||
| elmhurst_input_sheet.py | ||
| eval_api_sap_accuracy.py | ||
| fetch_2026_epc_sample.py | ||
| fetch_cohort2_api_jsons.py | ||
| fetch_corpus_coordinates.py | ||
| fetch_epc_bulk_sample.py | ||
| fetch_epc_dump.py | ||
| fetch_epc_prediction_corpus.py | ||
| fetch_epc_prediction_dense_corpus.py | ||
| historic_epc_demo.py | ||
| init_db.py | ||
| profile_api_error.py | ||
| profile_case34.py | ||
| run_audit_generator_local.py | ||
| run_first_run_e2e.py | ||
| run_modelling_cohort.py | ||
| run_modelling_e2e.py | ||
| run_property_report.py | ||
| validate_epc_prediction.py | ||