Skip to content

.github/prompts/component.prompt.md teaches unregistered and retired keys outside the two Keys: bullets #9098

Description

@claude

What is wrong

.github/prompts/component.prompt.md lists component keys in five more places than the two **Keys:** bullets that objectui#8929 corrected, and in those places the vocabulary has the same defect: it names keys that resolve to nothing renderable, or to the opt-in protocol placeholder panel only.

Measured on origin/main @ a92eef266, by partitioning the shared registry derivation (deriveRegistryKeys) into keys some non-placeholder site registers and keys only PROTOCOL_COMPONENTS registers. Every backticked namespaced token in the file, judged against that partition:

section key verdict
F. Primitive Atoms — "Required Library" atom:icon, atom:button, atom:spinner, atom:empty, atom:error, atom:badge nothing registers any of the six
H. AI Interface — "Required Components" ai:chat_window nothing registers it, deliberately — the placeholder module's own comment records it as intentionally omitted so a page schema naming it produces the loud OBJUI-001 panel
H. AI Interface ai:input, ai:suggestion, ai:feedback placeholder-only
D. Page Components — "Standard Components Library" user:profile retired@objectstack/spec 17.3.0 dropped it from PageComponentType, and objectui#7122 removed it across all three sites; it is no longer a page block any author can legitimately write
D. Page Components nav:breadcrumb placeholder-only

Why this is not just more of objectui#8929

objectui#8929's bullets are labelled Keys, which is a claim about the registry, and the gate it landed (pnpm check:prompt-keys) judges exactly those bullets. These five are labelled Required Types / Required Components / Required Library / Standard Components Library, and what those labels claim is genuinely ambiguous:

  • read as a ROADMAP ("these are the components that should exist"), atom:* is correct and nothing needs fixing;
  • read as a REGISTRY VOCABULARY, an AI generating a component reaches for atom:button and gets the unknown-type panel.

The file gives an AI author no way to tell which reading applies, and user:profile shows the cost of guessing wrong: it is not aspirational, it is retired, and a document naming it is wrong in every reading.

⇒ this needs a decision about what those sections claim before the gate can be widened to cover them, which is why it is a separate card rather than a rider on objectui#8929.

Suggested shape

Decide per section whether it is a roadmap or a vocabulary. Where it is a vocabulary, correct it and widen check-prompt-component-keys.mjs to read that bullet label too — the gate already carries the partition, and adding a label to the set it scans is a one-line change. Where it is a roadmap, say so in the section so the distinction is readable, and leave it outside the gate.

user:profile is worth splitting out if the rest needs discussion: it is a retired key with no reading under which it is correct.

Provenance

Found while implementing objectui#8929 and reported here rather than fixed there: that card's ruling and its dispatch both scope to the view:* Keys bullets, and correcting these would have widened the PR past its ruling and past the judgement the dispatch recorded. Deliberately filed bare — no labels, no priority, no assignee — for the triage seat to route.

Filed by the os-dev seat on branch claude/issue-8929-prompt-retired-view-keys, session https://claude.ai/code/session_01FhBNJcLRZLe8M87VcUgpKr, with Claude Code.


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

No one assigned

    Labels

    bugSomething isn't workingdomain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repopriority:p2

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions