mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Closes out the cohort-broadening work with its decision record and consolidates the retry plumbing. ADR-0034 documents broadening the EPC-Prediction cohort to the real unit postcodes nearest the target (via postcodes.io) when its own postcode holds no same-type comparable — extending ADR-0031 decision 5. Records why postcodes.io was chosen over council[] (whole-LA, no property_type in rows), a bulk Code-Point Open / ONSPD dataset, and the OS Places radius API, and the lazy / nearest-first early-stop / soft-fail policy. Broadening-specific docstrings now cite 0034. Retry consolidation: extract the EPC client's call_with_retry into a shared infrastructure/http_retry.py keyed off a generic TransientHttpError marker, so the mechanism (exponential backoff, Retry-After) is shared while each client keeps its own transient policy. EpcRateLimitError now subclasses TransientHttpError (still an EpcApiError); PostcodesIoClient routes through the same helper, raising TransientHttpError on 429/5xx and soft-failing to the seed once exhausted (the EPC client propagates instead). Direct tests for the shared helper; EPC + postcodes.io suites repointed at the shared sleep. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| 0001-two-source-paths.md | ||
| 0002-property-aggregate-root.md | ||
| 0003-python-writes-landlord-overrides-directly.md | ||
| 0003-strict-ingestion-modelling-separation.md | ||
| 0004-baseline-performance-lodged-effective-pair.md | ||
| 0005-multi-phase-scenarios-per-phase-recompute.md | ||
| 0006-deterministic-kwh-no-baseline-ml.md | ||
| 0007-kwh-as-ml-target.md | ||
| 0008-physics-as-feature.md | ||
| 0009-deterministic-sap-calculator.md | ||
| 0010-sap10-calculator-spec-target-and-validation.md | ||
| 0011-composable-stage-orchestrators.md | ||
| 0012-unit-of-work-per-stage-batch-transaction.md | ||
| 0013-bulk-upload-finaliser-writes-properties.md | ||
| 0013-calculator-produces-effective-performance-shadow-first.md | ||
| 0014-bill-derivation-from-real-fuel-rates.md | ||
| 0015-mappers-own-cert-normalization.md | ||
| 0016-package-rescore-over-warm-start-optimisation.md | ||
| 0017-plan-persistence-evolve-live-tables.md | ||
| 0018-valuation-uplift-percentage-primary.md | ||
| 0019-wall-insulation-eligibility.md | ||
| 0020-conservation-status-as-property-attributes.md | ||
| 0021-roof-insulation-eligibility.md | ||
| 0022-glazing-eligibility-and-overlay.md | ||
| 0023-lighting-eligibility-and-overlay.md | ||
| 0024-heating-eligibility-and-overlay.md | ||
| 0025-ashp-bundle-costing.md | ||
| 0026-solar-pv-eligibility-sizing-overlay-costing.md | ||
| 0027-boiler-and-tune-up-costing.md | ||
| 0027-rdsap-20-0-0-reduced-field-synthesis.md | ||
| 0028-pre-sap10-rdsap-family-coefficient-transfer.md | ||
| 0028-secondary-heating-removal.md | ||
| 0029-epc-prediction-from-comparable-properties.md | ||
| 0030-epc-prediction-validation-is-sap-version-aware-and-component-first.md | ||
| 0031-epc-prediction-production-wiring.md | ||
| 0032-landlord-override-epc-overlay.md | ||
| 0033-age-band-resolves-assumed-fabric-states.md | ||
| 0034-epc-prediction-cohort-broadens-to-nearby-postcodes.md | ||