Model/tests/fixtures/epc_prediction/RG13NS/cert-e65f100dfd90.json
Khalim Conn-Kowlessar 008c1922c4 feat(epc-prediction): anonymised Tier-1 fixture + builder (ADR-0030)
The committed gate needs frozen, reproducible data without dumping real UK
addresses into the repo. Add:
- harness anonymise_payload + stable_hash: hash street address + cert number
  into opaque, dedup-stable tokens; blank secondary address lines + post_town;
  keep postcode + all component/lodged fields (gov data is OGL). Unit-tested.
- scripts/build_epc_prediction_fixture.py: curate qualifying postcodes (>=1
  SAP 10.2 target + >=2 distinct addresses) from the local scratch corpus,
  anonymise, freeze under tests/fixtures/epc_prediction/.
- The frozen fixture: 15 postcodes / 280 certs / 36 SAP-10.2 targets.
  Verified no plaintext address_line_1 and post_town all blank.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 09:17:27 +00:00

1 line
No EOL
6.5 KiB
JSON

{"der": 9.33, "dfee": 21.5, "dper": 99.0, "uprn": 310091574, "roofs": [{"description": {"value": "(other premises above)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "walls": [{"description": {"value": "Average thermal transmittance 0.3 W/m\u00b2K", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "floors": [{"description": {"value": "(other premises below)", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}], "status": "entered", "tenure": 3, "windows": {"description": {"value": "High performance glazing", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "lighting": {"description": {"value": "Good lighting efficiency", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "postcode": "RG1 3NS", "data_type": 4, "hot_water": {"description": {"value": "Electric immersion, standard tariff", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}, "post_town": "", "built_form": 4, "created_at": "2026-05-14 00:25:16", "living_area": 31, "orientation": 1, "region_code": 17, "report_type": 3, "sap_heating": {"number_baths": 1, "thermal_store": 1, "shower_outlets": [{"shower_wwhrs": 1, "shower_flow_rate": 9.3, "shower_outlet_type": 3}], "water_fuel_type": 39, "water_heating_code": 903, "hot_water_store_size": 150, "main_heating_details": [{"has_fghrs": "false", "main_fuel_type": 39, "main_heating_code": 691, "main_heating_number": 1, "is_condensing_boiler": "false", "main_heating_control": 2602, "main_heating_category": 10, "main_heating_fraction": 1, "main_heating_data_source": 3, "is_oil_pump_in_heated_space": "false", "is_main_heating_hetas_approved": "false"}], "has_hot_water_cylinder": "true", "immersion_heating_type": 2, "has_cylinder_thermostat": "true", "hot_water_store_heat_loss": 1.2, "has_fixed_air_conditioning": "false", "secondary_heating_category": 1, "is_cylinder_in_heated_space": "true", "is_immersion_for_summer_use": "false", "is_hot_water_separately_timed": "false", "hot_water_store_heat_loss_source": 2, "is_heat_pump_assisted_by_immersion": "false"}, "sap_version": 10.2, "schema_type": "SAP-Schema-19.1.0", "uprn_source": "Address Matched", "country_code": "ENG", "main_heating": [{"description": {"value": "Room heaters, electric", "language": "1"}, "energy_efficiency_rating": 1, "environmental_efficiency_rating": 5}], "sap_lighting": [[{"lighting_power": 9, "lighting_outlets": 21, "lighting_efficacy": 89.56}]], "terrain_type": 1, "air_tightness": {"description": {"value": "Air permeability [AP50] = 3.8 m\u00b3/h.m\u00b2 (as tested)", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}, "dwelling_type": "Ground-floor flat", "language_code": 1, "property_type": 2, "address_line_1": "addr-53dbe812ea2e", "address_line_2": "", "assessment_date": "2026-05-14", "assessment_type": "SAP", "completion_date": "2026-05-14", "inspection_date": "2026-05-14", "sap_ventilation": {"psv_count": 0, "wall_type": 2, "pressure_test": 1, "air_permeability": 3.8, "open_flues_count": 0, "ventilation_type": 1, "has_draught_lobby": "false", "other_flues_count": 0, "closed_flues_count": 0, "extract_fans_count": 2, "boilers_flues_count": 0, "open_chimneys_count": 0, "sheltered_sides_count": 3, "blocked_chimneys_count": 0, "flueless_gas_fires_count": 0, "is_mechanical_vent_approved_installer_scheme": "false"}, "design_water_use": 1, "sap_data_version": 10.2, "sap_flat_details": {"level": 1, "storeys": 5}, "total_floor_area": 38, "transaction_type": 6, "cold_water_source": 1, "conservatory_type": 1, "registration_date": "2026-05-14", "sap_energy_source": {"electricity_tariff": 1}, "sap_opening_types": [{"name": "Windows", "type": 4, "u_value": 1.4, "data_source": 2, "frame_factor": 0.7, "glazing_type": 7, "isargonfilled": "false", "solar_transmittance": 0.63}], "secondary_heating": {"description": {"value": "None", "language": "1"}, "energy_efficiency_rating": 0, "environmental_efficiency_rating": 0}, "lowest_storey_area": 38.2, "sap_building_parts": [{"sap_roofs": [{"name": "Party roof 1", "u_value": 0, "roof_type": 4, "kappa_value": 90, "total_roof_area": 38.2}], "sap_walls": [{"name": "Walls (1)", "u_value": 0.3, "wall_type": 2, "kappa_value": 70, "total_wall_area": 16, "is_curtain_walling": "false"}, {"name": "Party Wall (1)", "u_value": 0, "wall_type": 4, "kappa_value": 20, "total_wall_area": 58.25, "is_curtain_walling": "false"}, {"name": "Internal Wall (1)", "u_value": 0, "wall_type": 5, "kappa_value": 0, "total_wall_area": 52.5, "is_curtain_walling": "false"}], "sap_openings": [{"name": "Opening", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 5}, {"name": "Opening", "type": "Windows", "width": 2, "height": 2.5, "location": "Walls (1)", "orientation": 5}], "construction_year": 2025, "sap_thermal_bridges": {"thermal_bridge_code": 1}, "building_part_number": 1, "sap_floor_dimensions": [{"storey": 0, "u_value": 0, "floor_type": 4, "kappa_value": 40, "storey_height": 2.6, "heat_loss_area": 0, "total_floor_area": 38.2}]}], "user_interface_name": "Design SAP 10", "windows_overshading": 2, "heating_cost_current": {"value": 92, "currency": "GBP"}, "co2_emissions_current": 0.3, "energy_rating_average": 60, "energy_rating_current": 72, "lighting_cost_current": {"value": 29, "currency": "GBP"}, "main_heating_controls": [{"description": {"value": "Appliance thermostats", "language": "1"}, "energy_efficiency_rating": 4, "environmental_efficiency_rating": 4}], "has_hot_water_cylinder": "true", "heating_cost_potential": {"value": 92, "currency": "GBP"}, "hot_water_cost_current": {"value": 510, "currency": "GBP"}, "user_interface_version": "3.1.57", "co2_emissions_potential": 0.3, "energy_rating_potential": 72, "gas_smart_meter_present": "false", "lighting_cost_potential": {"value": 29, "currency": "GBP"}, "schema_version_original": "SAP-Schema-19.1.0", "hot_water_cost_potential": {"value": 510, "currency": "GBP"}, "is_in_smoke_control_area": "unknown", "seller_commission_report": "Y", "energy_consumption_current": 92, "has_fixed_air_conditioning": "false", "is_dwelling_export_capable": "false", "multiple_glazed_percentage": 100, "calculation_software_version": "3.1.57", "energy_consumption_potential": 92, "environmental_impact_current": 94, "current_energy_efficiency_band": "C", "environmental_impact_potential": 94, "electricity_smart_meter_present": "false", "has_heated_separate_conservatory": "false", "potential_energy_efficiency_band": "C", "co2_emissions_current_per_floor_area": 8.6}