You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
skills: objectstack-platform/references/bootstrap.md still teaches ^17.0.0 for every @objectstack/* dependency, while the scaffolders now write the exact version (the governed half of #25510) #25666
Filing gate ②: a defect a seat read on main. Relayed from the domain:devx seat, which left it because skills/** is governed; filed by domain:skills seat 2 (seat post #19287). Grade suggested S, p3; triage may regrade.
Business rationale
Who benefits: anyone who builds a project from the published objectstack-platform skill instead of npm create objectstack. The skill ships to customer projects inside @objectstack/skills.
Cost of not doing it: the 〈Complete Working Example〉 package.json in skills/objectstack-platform/references/bootstrap.md L147–L153 gives ^17.0.0 for all five @objectstack/* packages. That is a major behind the release line (18.1.0) and a caret range, which the v18 docs say not to use (content/docs/protocol/backward-compatibility.mdx L206 「Pin exact versions instead of caret ranges」; content/docs/deployment/self-hosting.mdx L64 「Pin the exact version in production」). A reader who copies it installs 17.x.
git grep '\^17' skills/ hits only these five lines for package versions; engines: { protocol: '^17' } in objectstack-platform/SKILL.md L142 is the protocol handshake range, a different value, and is out of scope here.
Wanted
The five @objectstack/* entries pin one exact version (the current release, 18.1.0), and one prose line says the scaffolder writes its own version exactly and every @objectstack/* package stays on the same one. typescript keeps its range.
Reader (who acts)
The domain:skills seat, in-seat. skills/** is Tier H: the PR lands by the maintainer's hand.
Acceptance
git grep -n '"\^1[0-9]\.' skills/ finds no @objectstack/* caret range.
Claim: PM loop round 1 (in-seat) · 2026-10-24T14:11Z · p3 S, domain:skills. Pins the five @objectstack/* entries of the 〈Complete Working Example〉 package.json in skills/objectstack-platform/references/bootstrap.md to one exact version and says the scaffolder writes its own version exactly, per this card.
Session: session_01REMuzhz6MWRjg8uohedMnM (the domain:skills seat 2 itself; S card done in-seat)
Account: os-elon-musk (the seat's linked user; always the card's assignee)
Branch: claude/project-thread-r6oa8t (the seat thread's own push branch, free since PR #25658 merged)
Worktree: the seat's checkout
Domain: domain:skills
Seat: domain:skills#2 (seat post #19287)
File surface: skills/objectstack-platform/references/bootstrap.md L147–L153 and one prose line after the block. (stop on breach; explain in the report)
⛔ Not in scope: engines: { protocol: '^17' } in objectstack-platform/SKILL.md L142 (the protocol handshake range, a different value); the template baseline and sync-template-versions.mjs (PR #25665, domain:devx); the stale ^<own version> comment at packages/create-objectstack/src/index.ts L175–L178 (domain:devx, reported to that seat).
Writes: PR only through the relay's pr_create (node scripts/pm/fleet-write/dispatch.mjs); comments, labels and body edits only through post-stamped.mjs, label-write.mjs and the relay; ⛔ every GitHub MCP write tool (create_pull_request, update_pull_request, issue_write, add_issue_comment, …).
Container & model: S, in-seat, model: CONTRACT_REVIEW_TIER (dispatch-gates --tier: 「Model tier — MANDATORY: claude-fable-5-1 (derived from the file surface, not recalled)」; edit and review both by at-tier subagents), effort: medium. Tier H: lands by the maintainer's hand after a CONTRACT_REVIEW_TIER PASS record and all-green checks.
Clause-②: no
Metadata-protocol: none
Responsibility: n/a — stale documentation example
Thread-read: none
Serial constraints cleared: start from main2c523d0100; no open PR touches this file (PR #25665 touches no skills/** path).
Activity
objectstack-fleet commentedon Oct 24, 2026
Claim: PM loop round 1 (in-seat) · 2026-10-24T14:11Z · p3 S,
domain:skills. Pins the five@objectstack/*entries of the 〈Complete Working Example〉package.jsoninskills/objectstack-platform/references/bootstrap.mdto one exact version and says the scaffolder writes its own version exactly, per this card.Session:
session_01REMuzhz6MWRjg8uohedMnM(thedomain:skillsseat 2 itself; S card done in-seat)Account:
os-elon-musk(the seat's linked user; always the card's assignee)Branch:
claude/project-thread-r6oa8t(the seat thread's own push branch, free since PR #25658 merged)Worktree: the seat's checkout
Domain:
domain:skillsSeat:
domain:skills#2(seat post #19287)File surface:
skills/objectstack-platform/references/bootstrap.mdL147–L153 and one prose line after the block. (stop on breach; explain in the report)⛔ Not in scope:
engines: { protocol: '^17' }inobjectstack-platform/SKILL.mdL142 (the protocol handshake range, a different value); the template baseline andsync-template-versions.mjs(PR #25665,domain:devx); the stale^<own version>comment atpackages/create-objectstack/src/index.tsL175–L178 (domain:devx, reported to that seat).Writes: PR only through the relay's
pr_create(node scripts/pm/fleet-write/dispatch.mjs); comments, labels and body edits only throughpost-stamped.mjs,label-write.mjsand the relay; ⛔ every GitHub MCP write tool (create_pull_request,update_pull_request,issue_write,add_issue_comment, …).Container & model:
S, in-seat,model: CONTRACT_REVIEW_TIER(dispatch-gates --tier: 「Model tier — MANDATORY: claude-fable-5-1 (derived from the file surface, not recalled)」; edit and review both by at-tier subagents),effort: medium. Tier H: lands by the maintainer's hand after aCONTRACT_REVIEW_TIERPASS record and all-green checks.Clause-②: no
Metadata-protocol: none
Responsibility: n/a — stale documentation example
Thread-read: none
Serial constraints cleared: start from
main2c523d0100; no open PR touches this file (PR #25665 touches noskills/**path).Generated by Claude Code