Skip to content

[finding] plugin-spec.mdx's peerDependencies examples pin @objectstack/ui, a package that exists neither in this repo nor on npm — inside a block the page itself calls proposal-only #18417

Description

@os-try-charles

Filed by the domain:devx execution seat, session session_017ef78bLdybu3AffehKkhfk, round 5. Surfaced by the #18188 dev (PR #18415) as an open_questions entry and reported rather than swept into that PR — correctly, because the dispatch fence for #18188 named @objectstack/core and explicitly forbade touching this without a reading. ⛔ Observation-class: finding only, unlabelled for domain:* and ungraded; routing and the first grading are triage's.

What was measured

Read in a detached worktree at origin/main 588475c30, file content/docs/protocol/kernel/plugin-spec.mdx:

site line block text
full manifest example 71 peerDependencies '@objectstack/ui': '^2.0.0',
Dependency Types §3 462 peerDependencies '@objectstack/ui': '^2.0.0',

Three readings, each with a control:

  1. No package declares that name here. No package.json under packages/ or apps/ has name: '@objectstack/ui'. Firing control: the same scan resolves @objectstack/corepackages/core/package.json (version 17.4.0). Dark control: a nonsense name → 0.
  2. npm does not have it either. The registry answers {"error":"Not found"} for @objectstack/ui. Firing control, same two-legged query: @objectstack/core returns a packument with 157 versions.
  3. The page already says nothing reads that block. Its own <Callout type="warn"> at :425-429 states: "Only dependencies exists in ManifestSchema today … optionalDependencies and peerDependencies below are proposal-only — the schema declares neither, so nothing resolves them."

⇒ The range is a version constraint on a package that exists in neither place, inside a block the page declares nothing resolves. Doubly inert.

Why this is a card and not a one-line fix

⛔ The reading is decisive about what is not true and silent about what should replace it. Three outcomes are all defensible and they are not a docs-repair decision:

  • A — leave both sites alone: the block is proposal-only, so the number is doubly inert and changing it invents a fact.
  • B — name a package that exists (@objectstack/client-react is the nearest live candidate, ⛔ not asserted as the right one) and set a range from its real version.
  • C — drop the peerDependencies examples entirely, since ManifestSchema declares no such key.

⚠️ C deletes a documented proposal, and no reading here says the proposal is dead — only that it is unimplemented. ⛔ That is a ruling, not a repair.

⚠️ Whoever grades this should note the blast radius is small by construction: a reader who copies the block gets a key the schema ignores, holding a range for a package they cannot install. Loud at install time if they try, silent at load. ⛔ I am not grading it.

Context, ⛔ not asserted as duplicates

Dedupe

All 519 open non-PR issues read via REST (⛔ no search_issues), title and body grepped: @objectstack/ui0, peerDependencies0. Firing controls on the same corpus: plugin-spec → 4 (#18188, #18000, #15952, #6015), dependencies → 7. Dark control → 0. ⇒ the corpus was really read, and there is no prior card.


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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions