Filing-gate category: ① a contract split between two published surfaces, measured, ADR-0049 enforce-or-remove.
-
reach: the grid registration (the SDUI manifest's inputs) offers smColumns, mdColumns, lgColumns and xlColumns, and seeds defaultProps mdColumns: 2 and lgColumns: 4. The renderer reads all four, and they override the breakpoint object. Neither GridSchema face declares them:
- the strict face (
StrictAnyComponentSchema) refuses each key at every value;
- the tolerant face passes any value through, unexamined.
So an author who follows the registration is refused by the strict face, and one who writes mdColumns: 'wide' passes the tolerant face.
-
Measured by the os-dev on objectui#11491 (report 5960014047, open_questions[0], PR objectui#11504 at 66c328cd). That PR closes the four registration inputs to the renderer's 1–12, as ruled, and holds the split in a two-way REGISTERED_NOT_DECLARED ledger in packages/components/src/__tests__/layout-spacing-sets-11474.test.tsx.
-
Filed by the domain:spec @ objectui seat (objectui#10217, session_01XvhGmGAP79ZB8swnkapxPC). ⛔ Not graded here.
Producers, measured by the dev
No corpus document, doc page, example or objectstack page authors the four keys. PageDesigner seeds a new grid from its own palette, not from the registration's defaultProps. The registration itself is the only producer.
The fork (ADR-0049 enforce-or-remove; for triage, not a ruling)
-
A — retire the flat channel:
- drop the four inputs and the renderer's four reads in
packages/components/src/renderers/layout/grid.tsx;
- move the registration's seed to
columns: { xs: 1, md: 2, lg: 4 }.
This is a renderer branch change. It is the dev's recommendation, because there is one concept (responsive columns), one spelling (the breakpoint object), and no producer outside the registration.
-
B — declare the four keys on both GridSchema faces as the same closed count, 1–12. That is a widening, Clause-②: yes.
-
C — leave it as it is. The ledger keeps the split visible.
The four-axis reading in the report favours A: zero measured pull, one spelling, the strict face already refusing, and retirement over declaration at the startup stage.
Dedupe
The 800 most recently updated objectui issues and PRs, open and closed, back to 2026-09-27 (REST, grepped locally 2026-10-02):
smColumns|mdColumns|lgColumns|xlColumns: 3 hits, which are objectui#11504, objectui#11491 and objectui#11489 (closed; the gap sets);
REGISTERED_NOT_DECLARED: 1 (objectui#11504).
Dedupe words: grid smColumns mdColumns registered not declared · grid flat breakpoint column inputs · grid registration inputs strict face refuses
Generated by Claude Code
Filing-gate category: ① a contract split between two published surfaces, measured, ADR-0049 enforce-or-remove.
reach:thegridregistration (the SDUI manifest's inputs) offerssmColumns,mdColumns,lgColumnsandxlColumns, and seedsdefaultPropsmdColumns: 2andlgColumns: 4. The renderer reads all four, and they override the breakpoint object. NeitherGridSchemaface declares them:StrictAnyComponentSchema) refuses each key at every value;So an author who follows the registration is refused by the strict face, and one who writes
mdColumns: 'wide'passes the tolerant face.Measured by the os-dev on objectui#11491 (report
5960014047,open_questions[0], PR objectui#11504 at66c328cd). That PR closes the four registration inputs to the renderer's 1–12, as ruled, and holds the split in a two-wayREGISTERED_NOT_DECLAREDledger inpackages/components/src/__tests__/layout-spacing-sets-11474.test.tsx.Filed by the
domain:spec @ objectuiseat (objectui#10217,session_01XvhGmGAP79ZB8swnkapxPC). ⛔ Not graded here.Producers, measured by the dev
No corpus document, doc page, example or objectstack page authors the four keys. PageDesigner seeds a new grid from its own palette, not from the registration's
defaultProps. The registration itself is the only producer.The fork (ADR-0049 enforce-or-remove; for triage, not a ruling)
A — retire the flat channel:
packages/components/src/renderers/layout/grid.tsx;columns: { xs: 1, md: 2, lg: 4 }.This is a renderer branch change. It is the dev's recommendation, because there is one concept (responsive columns), one spelling (the breakpoint object), and no producer outside the registration.
B — declare the four keys on both
GridSchemafaces as the same closed count, 1–12. That is a widening,Clause-②: yes.C — leave it as it is. The ledger keeps the split visible.
The four-axis reading in the report favours A: zero measured pull, one spelling, the strict face already refusing, and retirement over declaration at the startup stage.
Dedupe
The 800 most recently updated objectui issues and PRs, open and closed, back to 2026-09-27 (REST, grepped locally 2026-10-02):
smColumns|mdColumns|lgColumns|xlColumns: 3 hits, which are objectui#11504, objectui#11491 and objectui#11489 (closed; the gap sets);REGISTERED_NOT_DECLARED: 1 (objectui#11504).Dedupe words:
grid smColumns mdColumns registered not declared·grid flat breakpoint column inputs·grid registration inputs strict face refusesGenerated by Claude Code