Found while implementing #9152 (re-deriving the Support Desk transcripts on this same page). Deliberately not fixed there — see below. Filed unassigned.
Measured on origin/main
content/docs/getting-started/build-with-claude-code.mdx carries this callout immediately below the step-3 listings:
Every example on this page was authored against @objectstack/spec 16.x and
passes os validate verbatim in a freshly scaffolded project.
packages/spec/package.json is at 17.0.0, and the blank template the page scaffolds declares engines: { protocol: '^17' }.
What is and is not verified
The second half of the claim is true and was measured while implementing #9152: the page's listings were extracted verbatim, dropped into a project scaffolded from the blank template, and validated against the spec built at origin/main (17.0.0). They pass. So the examples do work on 17 — this card is about the stated version, not about broken examples.
Why it was not fixed as a rider on #9152
#9152's PR holds a bounded in-place-fix exemption only for mechanical fixes whose correct form is already pinned by existing evidence, and the right form here is a judgement call rather than a substitution:
16.x → 17.x re-pins the claim to today's major and re-acquires the same staleness on the next bump.- Dropping the version makes the sentence durable but weakens a claim readers use to decide whether the page applies to them.
- A stamped/synced value would be the durable fix, but there is no existing mechanism stamping prose in
content/docs/** — inventing one is its own card.
Choosing among those silently, inside a card about transcript fidelity, is the kind of scope drift #9152's own rulings warn against.
For triage
Generated by Claude Code
Found while implementing #9152 (re-deriving the Support Desk transcripts on this same page). Deliberately not fixed there — see below. Filed unassigned.
Measured on
origin/maincontent/docs/getting-started/build-with-claude-code.mdxcarries this callout immediately below the step-3 listings:packages/spec/package.jsonis at17.0.0, and theblanktemplate the page scaffolds declaresengines: { protocol: '^17' }.What is and is not verified
The second half of the claim is true and was measured while implementing #9152: the page's listings were extracted verbatim, dropped into a project scaffolded from the
blanktemplate, and validated against the spec built atorigin/main(17.0.0). They pass. So the examples do work on 17 — this card is about the stated version, not about broken examples.Why it was not fixed as a rider on #9152
#9152's PR holds a bounded in-place-fix exemption only for mechanical fixes whose correct form is already pinned by existing evidence, and the right form here is a judgement call rather than a substitution:
16.x→17.xre-pins the claim to today's major and re-acquires the same staleness on the next bump.content/docs/**— inventing one is its own card.Choosing among those silently, inside a card about transcript fidelity, is the kind of scope drift #9152's own rulings warn against.
For triage
content/docs/**pages carry hand-written@objectstack/spec <major>.xclaims — if several do, the durable option gets much more attractive and this becomes one card rather than a page-by-page sweep. I did not run that scan; it is cheap (grepforspec\[0-9]*.x`).content/docs/releases/**out of scope as always.Generated by Claude Code