Khalim Conn-Kowlessar
4bbcdb6a61
Resolve a UPRN to its historic EPC record by exact match 🟥
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 08:17:07 +00:00
Khalim Conn-Kowlessar
55284a1807
A shard with an unexpected extra column still maps to HistoricEpc 🟥
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 14:43:47 +00:00
Khalim Conn-Kowlessar
ab245de68d
Merge remote-tracking branch 'origin/main' into feature/historic-epc-repository
2026-07-04 11:19:59 +00:00
KhalimCK
6dfaecc352
Merge pull request #1460 from Hestia-Homes/fix/table-12a-underfloor-rows
...
Electric underfloor codes resolve their Table 12a Grid 1 rows (ADR-0050 deferred follow-up)
2026-07-03 17:53:59 +01:00
KhalimCK
adcdce4271
Merge pull request #1462 from Hestia-Homes/fix/floor-u-value-gate
...
Floor insulation gated on the derived floor U-value (ADR-0051 floor arm)
2026-07-03 17:53:34 +01:00
Khalim Conn-Kowlessar
128981289a
Floor insulation is withheld when it cannot lower the derived floor U 🟥
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 16:05:04 +00:00
Khalim Conn-Kowlessar
f604672ae0
Electric underfloor codes resolve their SAP 10.2 Table 12a Grid 1 rows 🟥
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 15:57:37 +00:00
Daniel Roth
c0d36d1e67
Merge pull request #1458 from Hestia-Homes/feature/abri-api-integration
...
Abri DomnaRelay client — foundation + LogJob vertical (strictly typed)
2026-07-03 16:49:46 +01:00
Daniel Roth
c1c2a1947e
Abri log_job treats a logged-job response missing its job number as retriable 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:35:35 +00:00
Daniel Roth
39055bafed
Abri relay credentials and defaults hydrate from environment configuration 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:34:27 +00:00
Daniel Roth
caffa5c4e1
Abri job descriptions identify the visit as a Domna condition survey 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:33:40 +00:00
Daniel Roth
2c660bdb5d
Abri unparseable confirmed time fails loudly rather than silently booking all day 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:33:12 +00:00
Daniel Roth
eccc03f9f2
Abri confirmed time at or after midday books the afternoon slot 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:32:49 +00:00
Daniel Roth
fcdab30b73
Abri confirmed time before midday books the morning slot 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:31:51 +00:00
Daniel Roth
da4caea407
Abri booking with no confirmed time books an all-day appointment 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:31:12 +00:00
Daniel Roth
a325f65bf0
Abri log_job treats an unexpectedly shaped relay response as retriable 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:30:02 +00:00
Daniel Roth
ff34872c24
Abri log_job treats a malformed relay response as retriable, never as success or rejection 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:29:08 +00:00
Daniel Roth
6b9f5a0140
Abri log_job raises a retriable transport error when the relay is unreachable 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:28:19 +00:00
Daniel Roth
9fefdf81aa
Abri log_job raises a retriable transport error on an HTTP error status 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:27:14 +00:00
Daniel Roth
e473ea8a4f
Abri log_job surfaces an OpenHousing rejection as a typed result with verbatim code and message 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:25:49 +00:00
Daniel Roth
79ce9dc4b1
Abri log_job sends the spec's recorded LogJob envelope to the relay endpoint 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:24:57 +00:00
Daniel Roth
4803ae40e1
Abri log_job sends the spec's recorded LogJob envelope to the relay endpoint 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:23:42 +00:00
Daniel Roth
b22afcde9f
Abri log_job returns the OpenHousing job number from the relay success response 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:22:09 +00:00
Daniel Roth
41d46e3910
Merge pull request #1454 from Hestia-Homes/feature/extend-sharepoint-renamer
...
Extend sharepoint renamer to work for batch subfolders
2026-07-03 14:48:07 +01:00
Jun-te Kim
f629b42bd2
Merge pull request #1448 from Hestia-Homes/fix/full-sap-export-capable-mapping
...
Full-SAP certs carry their lodged PV export-capability flag (WS3 of #1435 )
2026-07-03 13:32:53 +01:00
Jun-te Kim
23ebd5e637
Merge pull request #1446 from Hestia-Homes/fix/ashp-size-to-dwelling-heat-loss
...
Size the ASHP to the dwelling's design heat loss (fix undersized fixed pump scoring below baseline)
2026-07-03 13:32:30 +01:00
Daniel Roth
dc188ca3c5
SharePoint 404s raise ResourceNotFoundError without error-level logging 🟩
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 12:26:33 +00:00
Khalim Conn-Kowlessar
4fcd23455b
The multi-measure trigger fixture is a cert the sized ASHP alone cannot clear 🟩
...
Golden cert 0330 now reaches band C on the dwelling-sized ASHP alone
(ADR-0049), dropping its solid_floor_insulation companion; cert 0390
still fires three measures, so the per-measure trigger-attribute
assertions move there (and gain the lighting triggers).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 12:25:03 +00:00
Daniel Roth
4a71c555fa
SharePoint 404s raise ResourceNotFoundError without error-level logging 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 12:22:26 +00:00
KhalimCK
ebca28f704
Merge pull request #1447 from Hestia-Homes/fix/electric-underfloor-pathway-and-noop-walls
...
Electric underfloor gets its heating pathway; wall insulation gated on derived U (WS2 of #1435 )
2026-07-03 13:17:36 +01:00
Khalim Conn-Kowlessar
325c0ea257
Merge remote-tracking branch 'origin/main' into fix/full-sap-export-capable-mapping
2026-07-03 12:11:25 +00:00
Khalim Conn-Kowlessar
c5b55197b4
Full-SAP certs carry their lodged PV export-capability flag 🟩
...
`from_sap_schema_17_1` hardcoded is_dwelling_export_capable=False, so
SAP 10.2 Appendix M1 zeroed the PV export credit on every export-capable
full-SAP cert. Cert 0380-3044-6070-2305-5925 (property 741840, PRD #1435
WS3) now reproduces its lodged 92 exactly (was 89); the existing
19.1.0 pin 10096028301 closes its documented -1 residual (84 -> 85 =
lodged). The full-SAP top-level pv_connection is deliberately NOT
carried: its enum disagrees with the RdSAP one the calculator gates on.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 12:09:04 +00:00
Daniel Roth
787f7731b2
UPRN-prefixed property folders rename to a single-UPRN filename 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 12:09:02 +00:00
Khalim Conn-Kowlessar
6656d8dec2
A full-SAP export-capable PV cert reproduces its lodged SAP 10.2 score 🟥
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 12:05:04 +00:00
Jun-te Kim
5c510e1b15
Merge pull request #1439 from Hestia-Homes/feat/sap-corpus-campaign
...
test(accuracy): corpus-1000 — 74.2% → 77.7% within-0.5, MAE 0.721 → 0.637 (8 fixes; mapper+calc validated vs Elmhurst)
2026-07-03 12:52:57 +01:00
Khalim Conn-Kowlessar
da4aec9840
Treatable old-band solid walls keep their EWI and IWI options under the gate 🟩
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 11:41:56 +00:00
Khalim Conn-Kowlessar
5f74c34f9a
Cavity fill is withheld when it cannot lower the derived wall U 🟥
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 11:41:02 +00:00
Khalim Conn-Kowlessar
574e58a5c8
Solid-wall insulation is withheld when it cannot lower the derived wall U 🟥
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 11:39:32 +00:00
Khalim Conn-Kowlessar
573588d4e7
Underfloor overrides no longer log an incomplete companion set 🟩
...
Regression guard: category 8 + control 2701 keep the ADR-0048 coherence
invariant satisfied for SAP codes 421/422/424.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 11:37:57 +00:00
Khalim Conn-Kowlessar
566374bf34
Electric underfloor override drags the conservative Group 7 control (2701) 🟥
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 11:36:51 +00:00
Khalim Conn-Kowlessar
51fa497793
Electric underfloor override stamps the Table 4a underfloor category (8) 🟥
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 11:35:55 +00:00
Daniel Roth
ce749061aa
Renamer warns once per property only after all roots miss 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 11:18:10 +00:00
Daniel Roth
ab8b8decb3
Renamer finds properties filed under _Sero Batch roots 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 11:15:50 +00:00
Daniel Roth
dcd2a7442f
Renamer discovers _Sero Batch roots under Property Folders 🟥
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 11:12:59 +00:00
Khalim Conn-Kowlessar
ac2b600bbd
Merge remote-tracking branch 'origin/main' into fix/ashp-size-to-dwelling-heat-loss
2026-07-03 11:02:42 +00:00
Khalim Conn-Kowlessar
bf240e3315
ASHP sizing targets the Appendix-N efficiency peak (realistic installed pump) 🟩
...
Sizing selects the aroTHERM plus rung nearest PSR ~0.8 (0.8 x design heat
loss) — the Appendix-N efficiency peak, reproducing the pump a real
installer fits — rather than the MCS PSR>=1.0 capacity target, which
oversizes. Validated against the relodged Elmhurst ASHP cert (delta 0
held at the 5 kW Vaillant); the two self-snapshot pins re-pin to their
correctly-sized larger pumps, and the orchestrator/harness thread the
calculator's design heat loss so production sizes to the dwelling. Manual
SapResult test stubs carry the new design_heat_loss_kw field.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 11:02:13 +00:00
Khalim Conn-Kowlessar
cb91954bb4
The orchestrator threads the dwelling design heat loss into ASHP sizing 🟥
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 10:31:57 +00:00
Khalim Conn-Kowlessar
6f70e65bc4
ASHP cost sizes to the threaded design heat loss over the floor-area proxy 🟥
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 10:29:14 +00:00
Khalim Conn-Kowlessar
2dd637a657
The ASHP bundle sizes the heat pump to the dwelling's design heat loss 🟩
...
_ashp_option now selects the aroTHERM plus PCDB record matching the
threaded design heat loss (floor-area proxy fallback), so the overlay's
efficiency anchor is sized to the dwelling instead of a fixed 5 kW unit.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 10:28:08 +00:00
Khalim Conn-Kowlessar
df38dda7b0
The ASHP bundle sizes the heat pump to the dwelling's design heat loss 🟥
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 10:26:35 +00:00