Repository navigation
docs(skills): name pnpm console:build where two internal skills still prescribed the retired objectui:build - #26536
Conversation
… prescribed the retired objectui:build The objectui pin and its scripts are gone from main; the Console builds in this workspace from ui/apps/console with `pnpm console:build`. The two playbook lines that still told a checklist run or a dogfood session to run `pnpm objectui:build` from the pinned .objectui-sha now name the in-workspace flow: run `pnpm console:build` at the repo root, and edit the Console under ui/. Line counts are unchanged (the checklist-test ceiling sits at 0 headroom). Claude-Session: https://claude.ai/code/session_01ADHkmTQqaSwGFt1FkfF8pF Co-authored-by: Claude <noreply@anthropic.com>
Contract reviewServed-tier: Inputs: card #26035 body and all 9 comments (ruling 6435329940 letter A, claim 6435602582, os-dev-report 6435948225); PR #26536 body, file list and Check-runs on 153be45 at read time: every completed run is ① Derived judgments
② Semver level
③ Boundary flags
④ Design judgmentPer hits file, read against the cited code on .claude/skills/checklist-test/SKILL.md L69 — "在仓库根目录跑 .claude/skills/dogfood-verification/SKILL.md L90–91 — remedy sentence "跑
Both files: no rule was added, removed or narrowed; the two instructions now point at a script that exists and at the source tree that the build reads. The card's acceptance holds on the head; no gate is skipped. Implemented-by: VERDICT: PASS |
席位核对 · ACCEPT · devx seat 2 · 2026-10-27T07:16ZSeat
Landing: the PR stays a draft with auto-merge off. This seat does not ready or arm a governed PR; it waits for a maintainer (GOVERNED_APPROVERS) to approve and land it. The card stays open for its later slices. |
Conflicts in three skill files main also edited (#26536, #26569): kept main's root-run console:build wording and its ninth required context (Test UI), kept this branch's removal of the objectui-only lines and the retired SHA-stamp drift bullet (no .objectui-sha pin or build-console.sh exists any more). Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L9qibvE77Ed7MKdzPxJTQQ
Requested by Steve · project thread
Fixes #26035
Ruling-ref: 6435329940
Clause-②: no
Metadata-protocol: none
维护者速读
pnpm objectui:build的句子,改成仓内流程:在仓库根目录跑pnpm console:build,改 Console 就改ui/下的源码。两文件行数不变。.objectui-sha、scripts/build-console.sh、objectui:*脚本)已从 main 退役,这两行让每次 checklist 运行和 dogfood 会话去跑一个不存在的脚本。裁决 6435329940 字母 A。.claude/skills/dogfood-verification/SKILL.mdL90–91(一句话跨两行),再看.claude/skills/checklist-test/SKILL.mdL69。git grep -nE "objectui:(build|refresh|bump|clean)" -- .claude/skills预期零命中;pnpm console:build预期以@objectstack/console dist ready结束。.claude/**,Tier H):由 GOVERNED_APPROVERS 批准后落地;本 PR 保持 draft,不开 auto-merge。What changes
Slice 1 of the card, exactly the two lines the ruling names (both re-read on
origin/mainatd2ca7079first; the card'sAGENTS.mdblock and thelint.ymlcomment are already gone there):.claude/skills/checklist-test/SKILL.mdL69: thebrowser/mixedplanning bullet now says the Console dist is built withpnpm console:buildat the repo root, with the source underui/, instead ofpnpm objectui:buildfrom the pinned.objectui-sha..claude/skills/dogfood-verification/SKILL.mdL90–91: the drift-remedy sentence now namespnpm console:build(rebuild from this workspace'sui/Console source; edit the Console underui/). Theobjectui:refreshclause is gone. The sentence spans two physical lines, so L91 carries the second half of the same rewritten parenthetical; nothing else on it changed.Line counts are unchanged (238 and 148):
check:pm-skill-ratchetholdschecklist-test/SKILL.mdat ceiling 238 with headroom 0, so the rewrite had to fit the same line.Why
The objectui pin was retired when the Console moved into this workspace:
origin/mainhas no.objectui-sha, noscripts/build-console.sh, and the root manifest's only console script isconsole:build(turbo run build:dist --filter=@objectstack/console). Every checklist run and dogfood session reads these two lines and was told to run a script that no longer exists, loud only as a pnpm "command not found" after the agent had already planned around it. Slices 2 and 3 of the card (PR #26052, PR #26063) rewrote the ungoverned docs and the CLI remedy strings; this is the governed remainder.Tests
No code changed; no test file is touched. The two skills' examples still run:
pnpm console:build, this worktree at 153be45, under scripts/pm/os-verify-lock.sh
Cold worktree (fresh
pnpm install --frozen-lockfile, 58.7 s), shared 4-core box; the wall figure is a shared-box reading, not an idle-box one.packages/console/dist/index.htmlpresent afterwards.Acceptance notes
git grep -nE "objectui:(build|refresh|bump|clean)" -- .claude/skillson the branch prints nothing (exit 1); onorigin/maind2ca7079it printed exactly the two lines above./_consoleUI "is a vendored objectui build pinned by.objectui-sha",build-console.shstampingpackages/console/dist/.objectui-sha, andpnpm check:console-sha, a root script that no longer exists inpackage.json. The stamp-drift refusal andOS_ALLOW_CONSOLE_DRIFT=1themselves still exist inpackages/cli/src/utils/console.ts(slice 3 kept that path and re-pointed its remedy), so those two sentences are not wrong, only the pin-as-live framing around them. The grep acceptance does not reach any of this because none of it names anobjectui:*script.checklist-test/SKILL.mdL68 still says "vendored console dist";pnpm console:builddoes copy the built Console intopackages/console/dist/, so the phrase stays accurate.Verification
Derived gate families:
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackprinted 16 families; each ran from the printed command with its exit captured before any pipe, all exit 0;--ranreconciliation: 16 derived, 16 run, 0 NOT-MEASURED.the 16 families and their exits
Also run:
node scripts/check-commit-card-trailers.mjs --range origin/main..HEAD(1 commit, no card relation, no model identifier in the trailer pair). Repo-widepnpm lintand the rest of the farm are CI's run on this PR.Governance: this diff touches
.claude/**(Tier H). The ruling's yes spends theCONTRACT_REVIEW_TIERcontract review the card asked for; the PR stays draft with no auto-merge and lands by a GOVERNED_APPROVERS approval.skip-changeset:.claude/**publishes nothing.Human Minimum
Each item is one rule from
CONTRIBUTING.md › Human Minimum,
which links the AGENTS.md text that states it.
packages/specholds no runtime logic. (not touched)pnpm lintpasses. (no formatter ran; lint is CI's run here)main, one pull request.skip-changeset)packages/spectouched: its generated artifacts are regenerated and committed. (not touched)content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.🤖 Generated with Claude Code
https://claude.ai/code/session_01ADHkmTQqaSwGFt1FkfF8pF
Generated by Claude Code