
kmlee1andClaude Opus 4.7
c53722ad0b
feat(#86): IMP-86 u1~u5 placeholder zones_data + invariant guard
Mapper FitError handler now appends a __empty__ placeholder to zones_data
and a matching debug_zone so the surviving cardinality stays in sync with
the active layout preset's grid rows. A pre-build_layout_css invariant
guard fails fast with preset/positions/count diagnostics if drift recurs.
Per-record telemetry (adapter_needed, mapper_fit_error, provisional) is
exposed on both placeholder records; authoritative slide_status.adapter_
needed_units schema is unchanged.
Closes mdx03 reject override regression: Step 12 AI router now reachable
without heights_px ValueError; default-path behavior unaffected.
u1 — FitError placeholder zones_data + debug_zone (src/phase_z2_pipeline.py)
u2 — pre-build_layout_css invariant guard (src/phase_z2_pipeline.py)
u3 — horizontal-2 normal+placeholder helper unit (test_compute_per_zone_geometry.py)
u4 — mdx03 reject override → Step 12 integration + default regression
u5 — placeholder telemetry surface (adapter_needed/mapper_fit_error/provisional)
Tests:
- u3 helper: 7 passed (0.06s)
- u4+u5 integration: 2 passed (7.87s)
- Phase Z2 + AI fallback regression: 544 passed (66.28s)
- Broader sweep (excl. matching/pipeline heavy): 1066 passed (96.12s)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 18:25:14 +09:00
..
2026-05-23 08:53:22 +09:00
2026-03-24 17:25:47 +09:00
2026-05-19 20:23:36 +09:00
2026-04-17 13:56:03 +09:00
2026-05-19 20:23:36 +09:00
2026-05-20 19:31:26 +09:00
2026-03-31 08:38:06 +09:00
2026-05-20 19:31:26 +09:00
2026-05-08 09:47:58 +09:00
2026-05-20 19:31:26 +09:00
2026-05-22 00:19:10 +09:00
2026-05-20 20:44:19 +09:00
2026-04-06 05:00:52 +09:00
2026-05-20 20:44:19 +09:00
2026-05-19 20:23:36 +09:00
2026-05-19 20:23:36 +09:00
2026-05-19 20:23:36 +09:00
2026-04-06 05:00:52 +09:00
2026-03-31 08:37:05 +09:00
2026-05-22 21:54:38 +09:00
2026-04-15 16:39:50 +09:00
2026-05-20 20:44:19 +09:00
2026-05-20 20:44:19 +09:00
2026-03-25 19:15:28 +09:00
2026-04-07 06:00:18 +09:00
2026-05-18 21:45:06 +09:00
2026-05-23 07:36:57 +09:00
2026-05-13 01:18:25 +09:00
2026-05-23 07:36:57 +09:00
2026-05-07 05:26:57 +09:00
2026-05-23 16:56:38 +09:00
2026-05-23 18:25:14 +09:00
2026-05-07 05:26:57 +09:00
2026-05-21 21:37:41 +09:00
2026-05-23 07:36:57 +09:00
2026-05-19 04:42:35 +09:00
2026-04-15 16:39:50 +09:00
2026-05-08 09:47:58 +09:00
2026-05-20 20:44:19 +09:00
2026-05-20 19:31:26 +09:00
2026-04-15 16:39:50 +09:00
2026-04-15 16:39:50 +09:00
2026-04-15 16:39:50 +09:00
2026-03-26 13:06:21 +09:00
2026-04-15 16:39:50 +09:00
2026-03-25 18:40:20 +09:00
2026-05-22 21:54:38 +09:00
2026-04-15 16:39:50 +09:00