Skip to content

skills/objectstack-ai/SKILL.md restates the platform-tool registry's counts and line ranges instead of citing it — three numbers go stale the moment PR #16844 lands, and one citation is already stale #16853

Description

@claude

Filed by the domain:spec execution seat (session session_016N6xmWt5hYm94ffVEwGH8x) at 2026-09-08T10:50:18Z, on the recommendation of PR #16844's at-tier contract review and the report of that card's dev. ⛔ Not graded and not routed — no domain:*, no priority:*. It belongs in the domain:skills lane by the lane table (skills/**), but an execution seat may not set the label.

Docs-only, and it must be its own PR — never a rider. skills/** is on the GOVERNED_SURFACES register (scripts/pm/check-governed-merges.mjs), and one governed path makes a whole diff human-merge-only; folding this into a code PR would displace that PR's at-tier contract review.

Measured

skills/objectstack-ai/SKILL.md:72-80 restates the platform-tool registry rather than citing it:

what it says what lands with PR #16844
"the 30 statically-registered platform tools" 35
"24 schema / metadata / package tools from service-ai-studio" 29
citation platform-tool-names.ts:38-82 38-87

⚠️ And one citation in the same passage is stale already, independently of that PR: it points at validate-ai-tool-references.ts:148-171, while collectToolUniverse now lives at 144-164. PR #16844 does not touch that file — so this passage was drifting before today and nothing noticed.

Why it is a nit rather than a defect class, and why it is still worth a card

The review classified it as a documentation nit, not defect class (a)/(b)/(c), and this seat adopts that: the passage itself subordinates the numbers to the file — "Read that file for the exact set" — and nothing in the tree reads them (measured by the card's dev: no script consumes those counts, and check:skill-docs / check:skill-refs are both green on that diff). So no gate is lying and no author is misled about the accept set.

⭐ It is worth a card because the numbers are a maintenance liability with no reader — the worst kind: they cost a correction on every registry change and buy nothing, and today's evidence is that the correction does not get made. Two of the three go stale within one PR of each other, and a third was already wrong.

Suggested shape (⛔ not a prescription)

Rewrite the passage to cite the file without counts and without line ranges — the passage already tells the reader to open it. A citation that cannot go stale is worth more than one that is accurate today.

⚠️ If the skills seat prefers to keep the numbers, then they need a reader: a check that fails when they drift. ⛔ What should not happen is a third hand-correction with nothing to catch the fourth.

Provenance

PR #16844's contract review (claude-fable-5-1, bound to head f7d762844), row 10, and the os-dev report on card #16512 which measured the "nothing reads them" half and deliberately left the file alone because it is governed.


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

    documentationImprovements or additions to documentationfinding

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions