2.9 KiB
Hyde portfolio 796 — UNKNOWN overrides for review
After ChatGPT classification, 19 distinct descriptions did not auto-resolve (out of ~440 distinct across all components). Grouped below with a proposed value (must be one of the allowed enum values) + the row count it affects. Nothing is written to the DB until these are confirmed.
1. construction_age_band — 29,829 rows (DETERMINISTIC, no judgement)
The classifier didn't extract the band letter in batch, but the band IS the leading letter, so these are mapped mechanically ("D: 1950-1966" → D). Just confirm the approach.
| description | → band | rows |
|---|---|---|
| D: 1950-1966 | D |
4,978 |
| K: 2007-2011 | K |
4,201 |
| I: 1996-2002 | I |
3,708 |
| B: 1900-1929 | B |
3,222 |
| H: 1991-1995 | H |
2,747 |
| E: 1967-1975 | E |
2,479 |
| J: 2003-2006 | J |
2,221 |
| F: 1976-1982 | F |
2,071 |
| C: 1930-1949 | C |
1,840 |
| G: 1983-1990 | G |
1,615 |
| A: pre-1900 | A |
615 |
| M: 2023 onwards | M |
132 |
2. roof_type (flat roofs) — 1,473 rows (NEEDS KHALIM'S CALL)
Flat-roof insulation drives the SAP roof U-value. Flat: As Built (1,172) + Flat: Unknown (194) are the load-bearing decision — proposed conservatively as no insulation (assumed).
| description | proposed value | rows | alt options |
|---|---|---|---|
| Flat: As Built | Flat, no insulation (assumed) |
1,172 | Flat, insulated (assumed) / Flat, limited insulation (assumed) / Flat, no insulation (assumed) |
| Flat: Unknown | Flat, no insulation (assumed) |
194 | Flat, insulated (assumed) / Flat, limited insulation (assumed) / Flat, no insulation (assumed) |
| Flat: 150mm | Flat, insulated |
59 | Flat, insulated (assumed) / Flat, limited insulation (assumed) / Flat, no insulation (assumed) |
| Flat: 100mm | Flat, insulated |
32 | Flat, insulated (assumed) / Flat, limited insulation (assumed) / Flat, no insulation (assumed) |
| Flat: 50mm | Flat, limited insulation |
13 | Flat, insulated (assumed) / Flat, limited insulation (assumed) / Flat, no insulation (assumed) |
| SameDwellingAbove | (same dwelling above) |
3 | Flat, insulated (assumed) / Flat, limited insulation (assumed) / Flat, no insulation (assumed) |
3. wall_type — 7 rows
| description | proposed value | rows |
|---|---|---|
| TimberFrame: Internal | Timber frame, with additional insulation |
7 |
How to apply after review
Edit the corrected_value column of overrides_edits.csv, then:
python scripts/hyde/build_property_overrides.py validate --edits overrides_edits.csv
python scripts/hyde/build_property_overrides.py apply-edits --edits overrides_edits.csv --portfolio-id 796 --apply
python scripts/hyde/build_property_overrides.py write --excel scripts/hyde/hyde_property_overrides.xlsx --portfolio-id 796 --apply
Note: a proper fix for the age classifier (a prompt hint so the production lambda extracts the band letter) is a separate follow-up; these script edits handle this run.