fix(core): a page axis with ragged item displays is refused at deserialise (improvise-cq1q.12)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
This commit is contained in:
Claude (adr007-display)
2026-10-08 22:11:43 -07:00
committed by Edward Langley
parent 7a7ff81731
commit d20c5471bd
2 changed files with 60 additions and 1 deletions
+7
View File
@@ -2115,3 +2115,10 @@ The TUI item row. Not separately injected: its draw path is the one line the
Rival: the column header uses `col_label` (the key). The exact output pins the
corner cell `Kind (Who=Alicia)`, the column header and the row label.
### view::layout::tests::a_page_axis_with_ragged_displays_is_refused
From Copilot's finding on #336: `item_displays` is a parallel list on a wire type
that derives `Deserialize`. The control parses a well-formed axis first; then a
shorter list and an absent one beside `items: Some(..)` are each refused with the
"item displays" message. Without the `try_from` the same JSON parses.