Repository navigation
fix(cli): the Console drift remedy names pnpm console:build, not the retired objectui:build - #26063
Conversation
…e retired `objectui:build` The objectui pin and its `objectui:*` scripts retired with #25745, but the drift warning, the `os dev` refusal and its 503 body still told the reader to run `pnpm objectui:build` (and mentioned `pnpm objectui:refresh`). Both now name `pnpm console:build`; the refresh line is dropped. The drift path itself stays: the framework repo can no longer reach it (no pin, and build-dist.sh writes no stamp), but a tree carrying its own `.objectui-sha` above a stamped dist still can, and that tree is not readable from here. The two tests that pin the remedy string move with it, and the docblocks around the guard (console.ts, serve.ts, the public console.ts face) stop describing the pin as current. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CBGRCbYq9F1ceLwZ2YCbWE
📓 Docs Drift Check3 anchor(s) derived from 1 changed package(s); no hand-written page names any of them. What this run could not see
Coarse fallback — 31 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin 06f2ed3c2e168fc8d591fc3ab4d1729a0e8e3d03 && git checkout 06f2ed3c2e168fc8d591fc3ab4d1729a0e8e3d03
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin bbf70614bdf24ccefef3d8c85baea0638dec0881 9aefb25e8c4b43a7f4fbe868926924e060d18d20 && git checkout -B drift-repro bbf70614bdf24ccefef3d8c85baea0638dec0881 && git merge --no-ff 9aefb25e8c4b43a7f4fbe868926924e060d18d20
node scripts/docs-audit/affected-docs.mjs --json bbf70614bdf24ccefef3d8c85baea0638dec0881 |
席位核对 — ACCEPT at
|
⛔ merge queue 构建失败 — 先分诊,再决定要不要重排队列构建 40316464273 红了。队列跑的是全量套件(PR 侧 CI 只跑 affected 子集), 分类: 失败的 job(日志抽取,best effort):
跨 PR 相同签名(24h,按失败测试文件聚合):
历史信号:
分诊清单:
Generated by Claude Code · merge-queue-triage workflow (#4859) |
|
Merge-queue build 40316464273 failed in Build Core, and the failure is not this PR's.
Generated by Claude Code |
⛔ merge queue 构建失败 — 先分诊,再决定要不要重排队列构建 40316535751 红了。队列跑的是全量套件(PR 侧 CI 只跑 affected 子集), 分类: 失败的 job(日志抽取,best effort):
跨 PR 相同签名(24h,按失败测试文件聚合):
历史信号:
分诊清单:
Generated by Claude Code · merge-queue-triage workflow (#4859) |
|
Seat re-queue (devx seat #6023): the group build that ejected this PR (40316464273) failed on #26056's duplicate Generated by Claude Code |
Requested by Elon · project thread
Part of #26035 (slice 3 only: the CLI stamp-drift remedy). Slice 2, the ungoverned docs, runs on its own branch; slice 1, the governed text, waits for the maintainer.
Clause-②: no
Metadata-protocol: none
What changes
The Console drift warning (
os serve), theos devdrift refusal and the503body at/_console/that the refusal mounts told the reader to runpnpm objectui:build, and the refusal also mentionedpnpm objectui:refresh. Both scripts retired with the objectui pin in #25745. All three texts now namepnpm console:build, the root script that builds@objectstack/consolefromui/apps/console. The refresh line is dropped. The SHAs,OS_ALLOW_CONSOLE_DRIFTand the status codes are unchanged.packages/cli/src/utils/console.ts: the remedy text informatConsoleShaDriftWarninganddescribeConsoleShaDrift; the docblocks of the drift guard,formatConsoleShaDriftRefusalanddecideConsoleMount, and the header's resolution note, stop describing the pin,scripts/build-console.shandpnpm check:console-shaas current.packages/cli/src/utils/console.sha-drift.test.tsandpackages/cli/test/console-resolve.test.ts: the pinned remedy strings move with the code in the same commit. The drift-message case now also asserts that neither message names anyobjectui:(build|refresh|bump|clean)script. No assertion is removed.packages/cli/src/commands/serve.ts(comment only) andpackages/cli/src/console.ts(the L66 reading record, comment only): the pin is described as retired; the dated reading keeps its sha..changeset/26035-console-drift-remedy-console-build.md:@objectstack/clipatch, written for the reader of the message.Re-measure on
main(39ca58787)findObjectuiPinwalks up from the resolved console package for a.objectui-sha; the repo has none since release(ui-merge): one release lane for both scopes — @object-ui joins the fixed group, @objectstack/console builds from ui/apps/console, the objectui pin is deleted (#25711) #25745.packages/console/build-dist.shwrites nodist/.objectui-shastamp and replaces the whole dist (rm -rfthen copy), sodetectConsoleShaDriftreturnsnullfor every framework checkout built withpnpm console:build. A published install carries no pin either.console.tsnames an objectos/cloud Docker overlay that carries its owncloud/.objectui-shaabove the console package, and the published@objectstack/console@18.1.0dist still ships adist/.objectui-shastamp (release(ui-merge): one release lane for both scopes — @object-ui joins the fixed group, @objectstack/console builds from ui/apps/console, the objectui pin is deleted (#25711) #25745's tarball comparison). Such a tree still reaches the guard. That overlay is NOT MEASURED: thecloudrepository is not readable from this seat (the publicsrc/console.tsdocblock records the same gap). Removing the guard would also change the publishedresolveConsolePathoptions type (onDrift, pinned bytest/published-subpath-console.pin.test.ts), which is beyond this slice.scripts/check-console-sha.mjs/check:console-sha. Already deleted by release(ui-merge): one release lane for both scopes — @object-ui joins the fixed group, @objectstack/console builds from ui/apps/console, the objectui pin is deleted (#25711) #25745, with the root alias and thepnpm dev*wiring; no workflow or dev chain runs it. Nothing to change.console:buildscript, the named remedy is the framework's script, not that tree's. The dispatch order set the remedy topnpm console:build; the tree that would see it is the unmeasured one above.File surface
The claim's surface plus
packages/cli/test/console-resolve.test.ts(one line), added to the claim by the seat at 10:02Z: it pins the same warning string this PR re-points.Verification
All on head
9aefb25e8, local, under the verify lock.pnpm turbo run build --filter='@objectstack/cli^...' --concurrency=2→ VERDICT command-exit 0 (60/60 tasks).pnpm --filter @objectstack/cli exec vitest run --project unit src/utils/console.sha-drift.test.ts test/console-resolve.test.ts→ Test Files 2 passed, Tests 29 passed.pnpm --filter @objectstack/cli exec vitest run --project unit→ 331 files passed, 4825 tests passed, 29 skipped; 2 files failed only on their prerequisite (packages/cli is not built (./dist/index.js is absent)). Afterpnpm --filter @objectstack/cli build, those two (test/published-subpath-console.pin.test.ts,test/published-subpath-hook-body.pin.test.ts) → 2 passed, 29 tests passed. The integration layer is declared to CI (no spawn entry or integration file in the diff).pnpm --filter @objectstack/cli typecheck→ exit 0 (check:test-typecheck: OK).dispatch-gates --commands, 71 families): 70 exit 0,check:dual-build-cjs-loadsexit 3 = NOT MEASURED (needs every package's dist; CI owns it). The threecheck:i18n*families first exited 3 and were re-run green after the prerequisite build they print.dispatch-gates --ran→71 derived famil(ies) accounted for — 70 run, 1 NOT-MEASURED.check:commit-card-trailers --range origin/main..HEAD✓;check-nul-bytesexit 0.Acceptance notes
git grep -nE "objectui:(build|refresh|bump|clean)" -- packages/cli ':!*CHANGELOG.md'finds nothing.scripts/check-dev-prereqs.mjs,scripts/check-pnpm-flag-spellings.mjs,scripts/check-sdui-manifest.mjs,scripts/gen-sdui-manifest-node.mjs,packages/client/src/envelope-caller-census.test.tsandpackages/qa/dogfood/test/print-service-render.dogfood.test.tsstill name anobjectui:*script (comments, or the pinned-mode branch of the SDUI manifest tools). Carrier: none; noted here for the seat. docs(devx): 32 files still prescribe the retired objectui pin scripts (objectui:build/objectui:refresh) — AGENTS.md and 3 skills among them #26035 remains open for slices 1, 2 and 4.Generated by Claude Code
🤖 Generated with Claude Code
https://claude.ai/code/session_01CBGRCbYq9F1ceLwZ2YCbWE