mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Slice S0380.121: map floor_construction code 4 → "Solid" (basement cert 0712)
The API mapper's `_API_FLOOR_CONSTRUCTION_TO_STR` dispatch covered codes 1 and 2 only. Basement smoke-test fixture `fixtures/basement/0712-3058-2202-3816-8204.json` lodges code 4 on two BPs (paired with `floor_insulation=0` and global floor descriptions "Solid" + "Solid, no insulation (assumed)"). Per the [[reference-unmapped-api-code]] strict-raise pattern, that surfaced as `UnmappedApiCode: floor_construction code: 4` on `test_real_corpus_basement_cert_has_part_with_has_basement_true`. Code 4 is the no-insulation solid-floor variant — semantically a solid floor. The cascade's `u_floor` only distinguishes "Suspended" prefix from everything-else (solid-branch is the fall-through), so the additional code maps to the same "Solid" string as code 1. Test movement: `test_real_corpus_basement_cert_has_part_with_has_basement_true` → PASS. No SAP/PE/CO2 cascade behaviour changes (the smoke test only asserts basement detection from the alt-wall code). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
ab614d7756
commit
2dc6adb5b7
1 changed files with 8 additions and 2 deletions
|
|
@ -2311,11 +2311,17 @@ def _api_party_wall_construction_int(value: Union[int, str, None]) -> Optional[i
|
|||
# cascade's `u_floor` looks for via the "Suspended"/"Solid" prefix
|
||||
# (see Slice 88 — `heat_transmission.py` consumes `bp.floor_
|
||||
# construction_type` to choose the suspended-branch BS EN ISO 13370
|
||||
# formula). Only the values observed across the 10 golden fixtures
|
||||
# (1, 2) are mapped; unrecognised codes fall through to None.
|
||||
# formula). Code 4 observed on cert 0712 (basement smoke-test
|
||||
# fixture): paired with `floor_insulation=0` and global floor
|
||||
# descriptions "Solid" + "Solid, no insulation (assumed)" — semantically
|
||||
# a solid floor with the no-insulation variant. The cascade only
|
||||
# distinguishes "Suspended" vs everything-else (the solid-branch is
|
||||
# the default fall-through), so the additional code maps to the same
|
||||
# "Solid" string as code 1.
|
||||
_API_FLOOR_CONSTRUCTION_TO_STR: Dict[int, str] = {
|
||||
1: "Solid",
|
||||
2: "Suspended timber",
|
||||
4: "Solid",
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue