Repository navigation
Commit 9ebdabb
docs(skills): name pnpm console:build where two internal skills still prescribed the retired objectui:build (#26536)
<!-- claude-projects-attribution: {"github_login":"os-steve"} -->
_Requested by **Steve** · [project
thread](https://claude.ai/code/project/chan_01FdL1XeUyvVNxLreh3F4Qi9?thread=cmsg_01FdL1XeUyvVNxLreh3F4Qi9LdoRL9uaH5B2AKthTwuUWi)_
Fixes #26035
Ruling-ref: 6435329940
Clause-②: no
Metadata-protocol: none
## 维护者速读
- 改了什么:两个仓内技能(checklist-test、dogfood-verification)里仅剩的两处还在教人跑已退役脚本 `pnpm
objectui:build` 的句子,改成仓内流程:在仓库根目录跑 `pnpm console:build`,改 Console 就改
`ui/` 下的源码。两文件行数不变。
- 为什么改:objectui
pin(`.objectui-sha`、`scripts/build-console.sh`、`objectui:*` 脚本)已从 main
退役,这两行让每次 checklist 运行和 dogfood 会话去跑一个不存在的脚本。裁决 6435329940 字母 A。
- 风险与回滚:纯措辞,不动任何代码或门禁;回滚即 revert 本 PR。
- 先看:`.claude/skills/dogfood-verification/SKILL.md` L90–91(一句话跨两行),再看
`.claude/skills/checklist-test/SKILL.md` L69。
- 两分钟验证:`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/main` at `d2ca7079` first; the card's `AGENTS.md`
block and the `lint.yml` comment are already gone there):
- `.claude/skills/checklist-test/SKILL.md` L69: the `browser` / `mixed`
planning bullet now says the Console dist is built with `pnpm
console:build` at the repo root, with the source under `ui/`, instead of
`pnpm objectui:build` from the pinned `.objectui-sha`.
- `.claude/skills/dogfood-verification/SKILL.md` L90–91: the
drift-remedy sentence now names `pnpm console:build` (rebuild from this
workspace's `ui/` Console source; edit the Console under `ui/`). The
`objectui:refresh` clause 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-ratchet` holds
`checklist-test/SKILL.md` at 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/main` has no `.objectui-sha`, no `scripts/build-console.sh`, and
the root manifest's only console script is `console: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:
<details><summary>pnpm console:build, this worktree at 153be45, under
scripts/pm/os-verify-lock.sh</summary>
```
NODE_OPTIONS=--max-old-space-size=4096 pnpm console:build --concurrency=2
@objectstack/console:build:dist: ✓ @objectstack/console dist ready (80844 KB) from ui/apps/console, with the tracked sdui.manifest.json
Tasks: 71 successful, 71 total
Time: 14m7.542s
os-verify-lock: VERDICT command-exit 0 · held the lock 849s (14m09s) · waited 0s
```
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.html` present afterwards.
</details>
## Acceptance notes
- Acceptance as the card's: `git grep -nE
"objectui:(build|refresh|bump|clean)" -- .claude/skills` on the branch
prints nothing (exit 1); on `origin/main` `d2ca7079` it printed exactly
the two lines above.
- Left in place, outside the two named lines (noted, not filed; the seat
decides whether a sibling slice carries them): the surrounding
dogfood-verification bullets (L76–L93) still describe the pin route as
live — the `/_console` UI "is a vendored objectui build pinned by
`.objectui-sha`", `build-console.sh` stamping
`packages/console/dist/.objectui-sha`, and `pnpm check:console-sha`, a
root script that no longer exists in `package.json`. The stamp-drift
refusal and `OS_ALLOW_CONSOLE_DRIFT=1` themselves still exist in
`packages/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 an `objectui:*` script.
- `checklist-test/SKILL.md` L68 still says "vendored console dist";
`pnpm console:build` does copy the built Console into
`packages/console/dist/`, so the phrase stays accurate.
## Verification
Derived gate families: `node scripts/pm/dispatch-gates.mjs --commands
--repo objectstack-ai/objectstack` printed 16 families; each ran from
the printed command with its exit captured before any pipe, all exit 0;
`--ran` reconciliation: 16 derived, 16 run, 0 NOT-MEASURED.
<details><summary>the 16 families and their exits</summary>
```
node scripts/check-closing-keyword-parity.mjs :: exit 0
node scripts/check-closing-keyword-parity.mjs --self-test :: exit 0
node scripts/check-comment-mask-corpus.mjs :: exit 0
node scripts/pm/check-harness-current.mjs --self-test :: exit 0
pnpm --filter @objectstack/lint run check:doc-formula-expressions :: exit 0
pnpm check:agent-test-spelling :: exit 0
pnpm check:cross-package-test-inputs :: exit 0
pnpm check:doc-authoring :: exit 0
pnpm check:driver-memory-census :: exit 0
pnpm check:gitlink-declared :: exit 0
pnpm check:nul-bytes :: exit 0
pnpm check:pm-governed-merges :: exit 0
pnpm check:pm-skill-ratchet :: exit 0
pnpm check:refd-timer-probe :: exit 0
pnpm check:skill-frame-sync :: exit 0
pnpm check:watch-hint-literal :: exit 0
✓ dispatch-gates --ran: 16 derived famil(ies) accounted for — 16 run, 0 NOT-MEASURED
✓ check-skill-line-ratchet: .claude/skills/checklist-test/SKILL.md is 238 lines (ceiling 238; headroom 0).
✓ check-skill-line-ratchet: .claude/skills/dogfood-verification/SKILL.md is 148 lines (ceiling 157; headroom 9).
```
</details>
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-wide `pnpm lint` and the rest of the farm are
CI's run on this PR.
Governance: this diff touches `.claude/**` (Tier H). The ruling's yes
spends the `CONTRACT_REVIEW_TIER` contract 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](https://github.com/objectstack-ai/objectstack/blob/main/CONTRIBUTING.md#human-minimum),
which links the AGENTS.md text that states it.
- [x] 1. Schemas start as Zod; `packages/spec` holds no runtime logic.
(not touched)
- [x] 2. Every name I added uses the casing for its kind. (no names
added)
- [x] 3. No formatter ran; `pnpm lint` passes. (no formatter ran; lint
is CI's run here)
- [x] 4. One issue, one branch off an up-to-date `main`, one pull
request.
- [x] 5. A change that publishes carries a changeset, and both
declaration lines are filled in here and in the changeset. (publishes
nothing; `skip-changeset`)
- [x] 6. `packages/spec` touched: its generated artifacts are
regenerated and committed. (not touched)
- [x] 7. No hand edits to `content/docs/references/`,
`packages/*/CHANGELOG.md` or `content/docs/releases/`.
- [x] 8. Title, body and comments are in English. (the 维护者速读 block is
the maintainer's Chinese digest the dev contract requires)
- [x] The *Before Submitting* list in CONTRIBUTING.md is done.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01ADHkmTQqaSwGFt1FkfF8pF
---
_Generated by [Claude
Code](https://claude.ai/code/session_01ADHkmTQqaSwGFt1FkfF8pF)_
Co-authored-by: os-steve <steve@objectstack.ai>
Co-authored-by: Claude <noreply@anthropic.com>1 parent 9bfd6a6 commit 9ebdabb
2 files changed
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | | - | |
| 69 | + | |
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | | - | |
91 | | - | |
| 90 | + | |
| 91 | + | |
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| |||
0 commit comments