Model/scripts/corpus_1000
Jun-te Kim a593921a83 fix(rdsap): thin present wall-insulation no longer maps to uninsulated bucket
Field-level bias scan (scripts/corpus_1000/field_bias.py) flagged solid-brick +
internal-insulation certs (wall_con+ins=(3,3)) systematically under-rating
(median -0.40, n=18). Root cause: _insulation_bucket routed insulation that is
KNOWN PRESENT but with a thin lodged thickness (5-24mm, below the smallest
tabulated 50mm column) to bucket 0 (uninsulated, U 1.7) - WORSE than the
present-but-unknown case, which the RdSAP Table 6 footnote correctly routes to
the 50mm row. A known 10mm shouldn't read as higher-U than not knowing at all.

Now present insulation never falls to bucket 0; thin/unknown thickness both
round up to the 50mm row. Only genuinely absent insulation maps to 0.

Corpus cert 5117280 (10mm internal, no wall thickness -> bucket path): Δ -4.44
-> +1.08. Corpus MAE 0.641 -> 0.637, PE MAE 3.0 -> 2.9. Gauge 77.7% holds; 44
RealCert pins + 342 fabric tests green. TDD: 2 new unit tests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 05:54:47 +00:00
..
build_worklist.py test(accuracy): corpus-1000 campaign ledger + C001 4510053280 pinned 75 (lodged-software PSR gap) 2026-07-02 18:28:20 +00:00
demand_cohort.py chore(corpus): demand-driven analyzer + confirm no generic fabric bug remains 2026-07-03 05:09:10 +00:00
elec_cohort.py test(accuracy): pin code-195 electric storage-boiler certs as spec-faithful (§12 Rule 2) 2026-07-03 04:55:42 +00:00
field_bias.py fix(rdsap): thin present wall-insulation no longer maps to uninsulated bucket 2026-07-03 05:54:47 +00:00
why_diverge.py chore(corpus): why_diverge.py — categorize all 223 diverging certs by reason 2026-07-03 05:19:20 +00:00
worklist.md fix(rdsap): thin present wall-insulation no longer maps to uninsulated bucket 2026-07-03 05:54:47 +00:00