assessment-model/src/app
Jun-te Kim 54cc71366b feat(landlord-overrides): wire all 9 override categories through the app layer
The DB schema, value enums, and migrations already defined all nine landlord
override categories, but the application layer was hardwired to the original
four (property_type, built_form_type, wall_type, roof_type). The other five
(main_fuel, glazing, construction_age_band, water_heating, main_heating_system)
were classified and written to their tables by the backend, but the frontend
never read them or offered edit dropdowns — so the verify panel rendered them
as "not classified", and any Unknown in those categories slipped past the
ADR-0006 finalise gate.

Replace the per-category switch statements (duplicated across ~6 sites) with a
single CATEGORY_TABLES registry (categories.ts) as the source of truth. Adding a
category is now one registry row. A completeness test asserts the registry,
CLASSIFIER_FIELDS, and the property_overrides override_component enum never
drift apart — the exact hole that left five categories unwired.

- categories.ts: registry + derived CATEGORY_VALUES + isLandlordCategory guard
- landlordOverrides/server.ts: getLandlordOverrides reads all 9 (fixes the
  latent crash where the page mapped 9 fields against a 4-key result)
- bulkUpload/server.ts: lookupOverrides / unknownForField / getUnknownOverrides
  / upsertUserOverride / validation now registry-driven, all 9
- OnboardingProgress.tsx: edit dropdowns use the shared 9-category CATEGORY_VALUES
- landlord-overrides page: SourceBadge now renders os_places (ADR-0007) distinctly
  instead of mislabelling it "classifier"

Enum value sets are already in sync FE<->Model (verified); only member order
drifts on 3 enums, which is cosmetic and left untouched (Postgres cannot reorder
enums). Follow-up (backend): Model's override_source SAEnum still lacks os_places.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 16:29:07 +00:00
..
actions added missing files 2026-04-11 08:05:41 +00:00
api Merge pull request #353 from Hestia-Homes/feature/portfolio-scenarios 2026-07-06 16:21:21 +01:00
auth Drop useEffect from VerifyCodeForm; replace tick-based countdown 2026-05-27 14:50:05 +00:00
components Merge pull request #353 from Hestia-Homes/feature/portfolio-scenarios 2026-07-06 16:21:21 +01:00
db feat(db): add os_places to override_source enum 2026-07-06 13:46:33 +00:00
domna updated loading state 2025-11-03 19:46:47 +00:00
email_templates Unify invitation flow: explicit accept/decline via profile-menu notifications 2026-05-28 09:43:13 +00:00
engineDb minor, created engineDB folder but not going to proceed for the moment 2023-08-10 10:56:39 +01:00
help added favicon 2026-01-26 12:45:42 +00:00
home Fixing auth options export issue 2025-10-28 11:49:19 +00:00
hooks hot fix of src -> app 2024-12-05 17:16:05 +00:00
lib Gate user-access page behind admin privilege; allow admin role assignment 2026-05-27 16:40:34 +00:00
onboarding changing name 2025-11-10 20:53:28 +00:00
portfolio/[slug] feat(landlord-overrides): wire all 9 override categories through the app layer 2026-07-06 16:29:07 +00:00
shadcn_components/ui fix(building-passport): portal tooltip content so it isn't trapped by stacking context 2026-07-02 09:56:59 +00:00
types added delete 2026-01-07 15:15:21 +00:00
utils feat(epc): provenance signals + effective-baseline portfolio table 2026-06-23 22:21:33 +00:00
verify/[token] added acceptance based login to work around microsoft defender 2026-03-10 18:53:37 +00:00
globals.css doesn't mount straight away and reload data - keeps it stale with cache 2026-01-07 11:33:20 +00:00
layout.tsx re-vamping ara ui 2026-04-08 10:29:14 +00:00
page.tsx save new login screen 2025-12-08 10:03:40 +00:00
ReactQueryProvider.tsx Adding page layout, added react query 2023-05-30 11:41:08 +01:00
utils.test.ts moving the documents ui to the deal page view 2026-05-08 10:45:40 +00:00
utils.ts added tests for pre sap ui with removed duplication 2026-05-08 09:02:21 +00:00