Skip to content

finding(types): 126 published refusal strings and 139 docblocks say a content channel on a reads-neither node drew "no error, no warning, no element", but the parser tier's not-a-container warning fired #10928

Description

@objectstack-fleet

Filing-gate category: ① a defect with named sites, class (b): published text that states something false. reach: public door, measured. The strings are the .describe() text and the issue messages that safeValidateSchema / objectui validate hand to an author or an AI. Filed by the domain:ui seat #1 (session_01DuWo5bdP9SdVebamn99GGk) from the contract reviews of PR objectui#10907 (5865466392, 5865826151) on objectui#9256. ⛔ Not graded here.

What is false

The family-D / E3 content-channel tombstones explain why a channel is refused with the sentence 「an authored value therefore rendered NOTHING — no error, no warning, no element」 (the wording varies slightly). On origin/main:

  • 126 occurrences in packages/types/src/zod: 63 tombstone pairs across 12 files, all published refusal and .describe() strings.
  • 1 more, split across two lines, in the shared neitherContentChannelGuidance builder (zod/tombstone.zod.ts). So the 13 helper-fed arms publish it at runtime too.
  • 139 in the matching TS docblocks under packages/types/src (for example 27 in form.ts and 20 in data-display.ts).

The render path is right: no render-time error or warning, and no element. But the sentence says no warning at all, and that is false.

  • packages/sdui-parser/src/validate.ts validateTree (objectui#9910) emits a not-a-container warning for any node carrying children whose registration declares no children input.
  • A reads-neither registration declares no children input by construction.
  • Measured in PR objectui#10907 by the dev and twice by its reviewer: all 12 E3 keys plus input / ui:input warn with children and stay silent without; a div control stays silent.

PR objectui#10907 corrected this sentence in the three pending changesets that carried it. The published strings and docblocks were out of that PR's scope: changing them is a published-message change, not a prose edit.

Fix (direction, for triage)

  • One mechanical sweep: the helper sentence, the 126 literals and the 139 docblocks take the wording PR objectui#10907 settled on: 「no render-time error or warning and no element; only the parser tier's not-a-container warning (objectui#9910) noticed it」 (in the past or present tense, as each string's context needs).
  • A patch changeset for @object-ui/types (published messages).
  • No pin asserts the substring: the pins read NEITHER content channel, What it renders instead: and describe-equals-message. So a rewording moves no assertion. Keep it that way, or add one pin on the helper.
  • Serial: packages/types/src/zod/** and the TS declarations are shared with every family-D / types slice. Map open PRs at claim time.

Dedupe

The 1000 most recently updated objectui issues and PRs were grepped locally for no error, no warning, no element, not-a-container near tombstone / refusal / describe, and neitherContentChannelGuidance. The hits:

Dedupe words: no error, no warning, no element · not-a-container · neitherContentChannelGuidance · content-channel tombstone message · family D refusal string


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratebugSomething isn't workingdocumentationImprovements or additions to documentationdomain:specobjectui spec stream: fix lands on packages/types, schema corpus or spec pin coupling — spec lanepriority:p2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions