homemaker-layout/experiments
Bruno Postle f160c6dc9e Use Urb's canonical UPPERCASE generic types (C/O); case-insensitive class checks
Bruno's correction: 'C' was never a 'covered' type — Is_Covered is a
geometric predicate. Urb generics are canonically uppercase (get_space_types
qw/C O S/; corpus 100% uppercase). The driver/operator type pool emitted
lowercase 'c'/'o', creating mixed-case designs that fragmented Dom->Ratios
class buckets and fired the latent ratio_type first-match nondeterminism
(which the search promptly reward-hacked). Operators now emit uppercase
generics only and class checks match case-insensitively (t[0].lower() in
'cos', cf. Is_Circulation/Is_Outside). The Urb-side class-sum patch remains
as defensive hardening, zero-impact on canonical designs (35/35 parity).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 19:01:53 +01:00
..
accept_innerloop.py Re-baseline under URB_NO_OCCLUSION: new reference gains, DESIGN §4.7 2026-06-12 10:31:38 +01:00
bench_batch_oracle.py Batched oracle: score many .dom files per perl invocation 2026-06-12 01:13:55 +01:00
diag_2f45907.py Geometry inner loop: batched full-objective ratio optimiser (CMA-ES) 2026-06-12 09:42:24 +01:00
dump_areas.pl Scaffold homemaker-py with validated geometry port 2026-06-10 20:50:20 +01:00
dump_areas.py Scaffold homemaker-py with validated geometry port 2026-06-10 20:50:20 +01:00
genome_parity.py Topology genome: base tree + per-storey deltas + type assignment 2026-06-12 13:52:32 +01:00
operator_locality.py Use Urb's canonical UPPERCASE generic types (C/O); case-insensitive class checks 2026-06-12 19:01:53 +01:00
optimize_fullfitness.py Full-fitness frozen-topology optimisation validates geometry inner loop 2026-06-10 22:27:30 +01:00
rebaseline_no_occlusion.py Geometry inner loop: batched full-objective ratio optimiser (CMA-ES) 2026-06-12 09:42:24 +01:00
refine_sweep.py Add programme/solver/oracle + sizing experiments (negative result) 2026-06-10 21:49:31 +01:00
resolve_ratios.py Add programme/solver/oracle + sizing experiments (negative result) 2026-06-10 21:49:31 +01:00
run_search.py Memetic search driver: steady-state GA over topology, warm-started inner loop 2026-06-12 14:22:26 +01:00
sweep_failtypes.py Full-fitness frozen-topology optimisation validates geometry inner loop 2026-06-10 22:27:30 +01:00
warm_vs_cold.py Use Urb's canonical UPPERCASE generic types (C/O); case-insensitive class checks 2026-06-12 19:01:53 +01:00