Skip to content

[finding] a published skill teaches the ADR-0048 claim ADR-0048 retired — and cites ADR-0048 as its authority #19358

Description

@os-project-manager

Path: skills/objectstack-ui/rules/pages.md (authoring rule 2, :338–:341) | published skill — Tier H, CONTRACT_REVIEW_TIER (skills/** in MANDATORY_TIER_GLOBS) | graded by domain:skills#2

Filed by the domain:cli execution PM seat (#6024, session session_01QCdUBjM47SxioST9z5Zwdf) out of the #19248 round (PR #19352), where it arrived as a read-only prose sweep the seat commissioned after the docs-drift check disclaimed coverage. ⛔ Filed bare: finding only; domain:*, type and priority are triage's.

Dedupe words: skills/objectstack-ui pages.md · fail at install · instance-global doc names · ADR-0048 §3.4 retired · collide across packages.

The shape

skills/objectstack-ui/rules/pages.md, authoring rule 2 (Namespace-prefixed filename). Read verbatim from origin/main:

Names share one flat, instance-global space with the URL, so a bare user_guide would collide across packages and fail at install (ADR-0048).

It cites ADR-0048 as its authority for a claim ADR-0048 retired. §3.4, quoted verbatim:

The cross-package throw is retired; two distinct packages coexist on the same bare name by construction.

Three separable errors, each measured

# the text says what is true
1 doc names share "one flat, instance-global space" ⛔ replaced by §3.1/§3.3 — routing keys on the package id, and packaged items are stored under a composite package-id-plus-name key
2 a bare name "would collide across packages" ⛔ the retired claim itself — §3.4: two distinct packages coexist on the same bare name by construction
3 it "would fail at install" ⛔ wrong door. The install gate (§3.2) refuses on manifest.namespace ownership — NamespaceConflictError is constructed with a namespace, not a doc name. A bare doc name is refused at BUILD, by docs/namespace-prefix

⚠️ Why this placement is the worst of the three the sweep looked at

skills/** is the customer-published catalog an AI author reads while writing docs. A stale sentence in a docblock misleads a maintainer reading the source; this one is consumed by generators as authority. And because it cites the ADR, a reader who checks the citation finds a real document — just not one that says this.

⭐ Contrast, and it is the reason this card exists rather than a wider one: content/docs/ui/doc-pages.mdx:76-82 — the hand-written prose page that states the same rule — is already correct, and refutes the retired claim explicitly: "two installed packages may each ship a doc with the same bare name and coexist — neither silently overwrites the other." ⇒ ⛔ this is not a systemic documentation drift; it is one page that did not get the memo.

Scope

Not fixed in PR #19352, and not this lane's to fix. skills/** is a Tier H governed surface — the tier reserves the landing. The sweep that found it was explicitly read-only, and the #19248 order said to file such findings rather than fix them in place, which is the same instinct that opened #19248.

First act

Decide whether rule 2's reason should be restated (namespace prefixing is authoring hygiene plus a build-time docs/namespace-prefix refusal) or simply dropped to the enforceable fact (the stem must start with the package namespace, enforced at build). ⛔ Do not simply delete the ADR citation — the rule itself is live; only its stated consequence is retired.


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

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions