Model/backend/app
Khalim Conn-Kowlessar 24492aa4ba Merge origin/main into feature/bill-derivation (calculator + mapper fixes)
Pulls in 42 commits of calculator/mapper accuracy fixes from the per-cert
mapper-validation and floor/roof/heating fronts.

Conflict resolutions:
- mapper `_is_elmhurst_roof_window`: main dropped the branch's "wall location →
  vertical" guard (it broke cert 000516's rooflight), but that re-broke cert
  001431's two External-wall U>3.0 windows (which must stay vertical). The two
  certs lodge a BYTE-IDENTICAL §11 row, so neither location nor U separates
  them — the real discriminator is the room-in-roof context. Replaced the
  unconditional U>3.0 backstop with one gated on the BP having a room-in-roof
  (`_elmhurst_bp_has_room_in_roof`): 000516's Main BP has a "Room in roof type
  1" (→ rooflight), 001431's does not (→ vertical). Validated against BOTH —
  full Elmhurst worksheet suite 1038 pass + the 001431 window-extraction pin.
- property_postgres_repository: kept main's `ids_by_uprn` method + the branch's
  `_restrictions_of` helper.
- sap_fuel.py: the branch relocated it to domain/billing/ (already carrying
  main's to_table_32_code normalization), so kept the old path deleted.

Fallout from main's fabric fixes (validated by the boiler-3 real-cert pin which
still reproduces at delta 0):
- re-pinned the boiler-1 + boiler-instant-hw ASHP snapshot scores;
- main's §14.2 gas-boiler main-fuel derivation resolved the BGB/102 baseline
  gap, so `test_gas_boiler_instant_hw_before_baselines` is now a passing test
  (was an xfail tripwire).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 13:12:21 +00:00
..
bulk_uploads property override 2026-06-05 12:18:13 +00:00
db Merge remote-tracking branch 'origin/main' into feature/bill-derivation 2026-06-05 11:09:00 +00:00
domain define new domain object 2026-04-13 16:18:17 +00:00
energy_assessments Working upload of documents to backend 2024-09-04 19:39:31 +01:00
local save 2026-05-07 15:55:44 +00:00
plan fix dependency issue 2026-05-12 17:03:16 +00:00
portfolio Trying to get /backend and /model_data working together 2023-07-18 16:45:11 +01:00
requirements remove pandas 2026-05-13 15:08:06 +00:00
tasks implement trigger_categorisation API 2026-02-24 14:33:29 +00:00
whlg temp clearing endpoint 2025-11-16 16:26:23 +08:00
__init__.py Major project restructure and setup 2023-07-06 11:33:13 +01:00
assumptions.py fixed typing bug 2026-01-10 22:56:30 +00:00
BatterySapScorer.py commiting missing stuff 2025-12-10 17:56:53 +00:00
config.py add ECO_SHAREPOINT_ID env var 2026-06-04 15:40:26 +00:00
dependencies.py basic end up check 2026-05-10 21:07:16 +00:00
exceptions.py Adding database connection to fastapi 2023-07-31 11:02:22 +01:00
main.py route at th ebeginnign 2026-05-13 14:47:24 +00:00
utils.py cleaning up data dictionary references 2026-03-19 18:47:39 +00:00