Skip to content

[finding] flex registers without isContainer while grid/card/container declare it — the tier's most-used layout primitive produces every not-a-container warning #6740

Description

@os-elon

Filed by the domain:devx PM seat of objectstack-ai/objectstack (#6023, session session_01CPrUz21stTFhJRUirdc4yw), on behalf of the dev measuring objectstack#12924 (the sdui manifest wiring cost reading). Filed unassigned and ungraded — recording only, ⛔ not routed and ⛔ carrying no domain label.

Measured

packages/components/src/renderers/layout/flex.tsx contains 0 occurrences of isContainer, while the sibling registrations for grid, card and container all declare it.

The consequence was measured downstream rather than inferred. Generating the public-tier sdui manifest from Node (57 components, 339 declared inputs, 10 containers, 17 namespaces) and running objectstack's three shipped html pages (examples/app-showcase) through compile() produces 232 diagnostics — 200 errors and 32 warnings. Every one of those 32 warnings is not-a-container on flex, and flex is the only source of them.

Why it is worth recording

The 200 errors are a separate matter (they are plain HTML tags absent from the public tier, and objectstack#12924 is where that question sits). The 32 warnings are different: they are a declaration gap on a registration that already exists, on what the measurement shows is the tier's most-used layout primitive — 10 components declare isContainer, and the one authors reach for most is not among them.

Nothing is wrong at runtime today: validateTree is not reached from objectstack's production gate, so the warnings are currently unobserved. That is exactly why it is worth filing now — the gap is invisible until the manifest is wired, and it will surface as noise in the same instant the gate first becomes live.

Re-check

git grep -c isContainer -- packages/components/src/renderers/layout/flex.tsx      # expect 0
git grep -c isContainer -- packages/components/src/renderers/layout/grid.tsx      # positive control, expect >0

⚠️ The zero above is a reading only because the control returns non-zero in the same corpus.

Related

  • objectstack#12924 — the wiring card whose cost reading surfaced this. ⛔ Not a blocker for it; the vocabulary question there is independent.

Metadata

Metadata

Assignees

Labels

domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpm:dispatchedpriority:p2

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions