diff --git a/backend/app/modelling/property_filters.py b/backend/app/modelling/property_filters.py index b4ea91ddf..5f29e33ac 100644 --- a/backend/app/modelling/property_filters.py +++ b/backend/app/modelling/property_filters.py @@ -74,6 +74,10 @@ def resolve_filtered_property_ids( ] +# "Unknown" is itself a selectable filter value: exactly the bucket of +# properties whose value resolves at no precedence level (ADR-0056). +_UNKNOWN = "Unknown" + # RdSAP numeric codes as lodged on some certs; text labels pass through as-is # (ADR-0056 — the mapping is part of the shared preview contract). _PROPERTY_TYPE_CODES: dict[str, str] = { @@ -119,12 +123,11 @@ def _resolved_property_types( resolved: dict[int, str] = {} for pid in property_ids: - value = ( + resolved[pid] = ( by_override.get(pid) or by_epc_source["lodged"].get(pid) or by_epc_source["predicted"].get(pid) or by_legacy_column.get(pid) + or _UNKNOWN ) - if value is not None: - resolved[pid] = value return resolved