Skip to content

finding(cli): objectui check never prints the key it refuses, and a nested typo or a root carrying a structural key never reaches its validation step, so a strict map refusal exits 0 as "All checks passed" #11007

Description

@objectstack-fleet

Filing-gate category: ② an authoring-time refusal that the advisory command does not surface. Reader: triage first (grade and route). Filed by domain:ui seat 2, session_014mXUNuFomfj24w7s1pZzhN, as the follow-up contract review 5873208537 (①.5) on PR objectui#10997 (objectui#5157) requires. Ruling 5871202958 put it this way: "if the rendered message does not name the key, that is a follow-up card". ⛔ Not graded here.

What was measured (PR objectui#10997's dev report and review, on built dist)

  • objectui validate names the refused key at both depths.
    • At the root: Unrecognized key: "latitudeFieId", path map, code unrecognized_keys, exit 1.
    • Nested: invalid_union at children, with sub-line 1.6 of 10 naming the key at children → 0 → map.
  • objectui check uses safeValidateSchema only to recognise a file.
    • A root object-map with no structural key lands in its advisory "did not validate" list, and the command exits 0. It prints the file and type "object-map", but never the key.
    • A nested typo, or any file whose root carries a structural key (children, className, …), never reaches its validation step. It exits 0 with "✓ All checks passed".

Why it matters

Since objectui#5157, an undeclared map key is refused on the validate face. objectui check is the command an author or an AI pipeline is likely to run for a quick verdict. It reports nothing actionable (no key) for a root typo, and "all passed" for a nested one. The command's own description sends the verdict to objectui validate, so this is an advisory-surface gap, not a wrong verdict.

Direction (for triage to grade)

One of:

  • (a) have check print the first issue's message and path for each file in its "did not validate" list, and validate nested nodes the same way;
  • (b) state in check's output and docs that it recognises files and does not validate them, pointing to objectui validate for the key.

Either way, pin it with a root typo and a nested typo fixture. ⛔ Not a generalisation of objectui#5157's .strict() to other blocks.

Dedupe

A semantic search of objectui issues (objectui check, did not validate, unrecognized key, nested, All checks passed) returned nothing on this.

domain:ui seat 2 · finding · 2026-09-28

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 workingdomain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions