Uh oh!
There was an error while loading. Please reload this page.
docs(console): README describes the real Console resolution, not a removed npm fallback - #11281
Conversation
…moved npm fallback (#11262) `packages/console/README.md` claimed `resolveConsolePath()` "prefers `@objectstack/console` and falls back to `@object-ui/console` when present — so cloud's Docker overlay (which `cp -r`s its build over `node_modules/@object-ui/console`) keeps working." Both halves are false against `packages/cli/src/utils/console.ts`. Strategies 1 and 2 (`require.resolve('@objectstack/console/package.json')` from the app and from the CLI itself; direct `<cwd>/node_modules/@objectstack/console`) each require the resolved `package.json` to be named `@objectstack/console`, so the legacy npm package is never consulted. `@object-ui/console` survives only in strategy 3, the sibling-repo dev fallback, which matches the `name` field of a checked-out `../objectui/apps/console` source tree — a source-checkout probe, not a package resolution. The corrected text keeps the two apart. The trailing consequence was the load-bearing half: cloud and objectos Docker images overlay into `@objectstack/console`'s `dist/`, so the README told an operator their overlay works by a mechanism that no longer exists. Docs only. The removal of the npm-package fallback was deliberate and is not restored here; `packages/cli/src/utils/console.ts` is unchanged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019siH5jDmk5hrayvfyojUqR
📓 Docs Drift CheckNothing in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 1 changed package(s)), so this run has no opinion about the docs. What this run could not see
Coarse fallback — 8 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
Uh oh!
There was an error while loading. Please reload this page.
⛔ merge queue 构建失败 — 先分诊,再决定要不要重排队列构建 32629872070 红了。队列跑的是全量套件(PR 侧 CI 只跑 affected 子集), 失败的 job(日志抽取,best effort):
跨 PR 相同签名(24h,按失败测试文件聚合):
历史信号:
分诊清单:
Generated by Claude Code · merge-queue-triage workflow (#4859) |
os-zhuang
commented
Aug 23, 2026
Queue ejection triaged — infrastructure, not this diff. Re-queueing once.
⛔ The triage bot's excerpt was misleading, and taking it at face value would have produced the wrong callThe bot reported "failed step: Verify pnpm version" alongside a bare - name: Verify pnpm versionrun: pnpm --version— it contains no assertion at all ( The actual signatureCorepack fetching pnpm 10.31.0 from the npm registry crashed Node's bundled undici HTTP parser on an internal assertion. Confirmed the job never reached the suite — the run's own guard printed "No test log — the test step did not get far enough to produce one." Why this is a legitimate re-queue rather than a fixThree readings, all from the log rather than from judgement:
⇒ Re-queued once, unmodified. ⛔ No commit pushed, ⛔ nothing skipped, disabled or quarantined, ⛔ no empty commit and no close/reopen to kick CI. If it ejects again on this same signature I will not re-queue a second time — that would make it a real blocker needing a fix, not a retry.
|
Fixes#11262
packages/console/README.mdis in this package'sfilesarray, so it is the pagenpm renders for
@objectstack/console. It described a resolution mechanism the CLIno longer performs.
The stale claim
At
origin/main(base1fa05a6),packages/console/README.md:31-35:What the code actually does
Read from
packages/cli/src/utils/console.tsat the same base — unchanged by thisPR, and deliberately so:
require.resolve('@objectstack/console/package.json'), from the app and from the CLI itself:194-204pkg.name === CONSOLE_PACKAGEonly<cwd>/node_modules/@objectstack/console:214-221pkg.name === CONSOLE_PACKAGEonly../objectui/apps/console:233-250CONSOLE_PACKAGEor@object-ui/consoleCONSOLE_PACKAGEis'@objectstack/console'(:48). So:node_modulesfallback to the@object-ui/consolenpm package.Both npm-facing strategies reject any resolved
package.jsonnot named@objectstack/console. The function's own header says the legacy package "is nolonger consulted" (
:28-31).namefield of a checked-out../objectui/apps/consolesource tree — objectuistill names that workspace package
@object-ui/console. It is a source-checkoutdev probe, and flattening it into "the CLI still falls back to
@object-ui/console"would leave the README false in a new way.
images overlay into
@objectstack/console'sdist/—console.ts:19-22statesthis from the framework side, and triage measured the same in the
cloudrepo(its Dockerfiles and
extract-console-assets.mjs). The old sentence told anoperator their overlay works by a mechanism that does not exist.
The change
packages/console/README.md:31-47(was:31-35) — the paragraph is replaced with thereal resolution order, the source-checkout distinction stated explicitly, and the false
overlay consequence replaced by the actual overlay target.
⛔ The npm fallback is not restored in code. Its removal was deliberate; the README
was the stale side.
Deliberately left alone: the
@object-ui/consolerows in the comparison table(
:25-29) and theUpdatingsteps (:41,45,47) describe the objectui package and itsbuild, which genuinely exist and are correctly described.
Changeset, not
skip-changesetA real patch changeset on
@objectstack/console.README.mdis in the package'sfilesarray, so this text ships to npm — and the repo's own practice for apublished-README correction is a changeset, not the label: #10968, #10929 and #10816
were each a README-prose-only PR carrying
.changeset/*.md.Verification
Gate union re-run after the final commit, at
c26f8957. All 13 green, each readfrom the gate's own verdict line:
Family list re-derived at the final head with
node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack(no paths passed —the script takes its own change set from the merge base); it named the same 12 families,
all of which were run.
Repo-wide
pnpm lintnarrowing — measured, not assumed. This diff contributeszero files to eslint's population, so a repo-wide run cannot move:
ESLint#calculateConfigForFilereturnsno
rulesfor either changed file, andlintFilesreportsFile ignored because no matching configuration was supplied.Everyfiles:block ineslint.config.mjsnames only
{ts,tsx,mts,cts,js,jsx,mjs,cjs}.--format json: 2 results, 0 non-ignored, 0 errors.eslint.config.mjsis not in this diff(
git diff --name-only HEAD -- eslint.config.mjs→ 0), and the diff adds no TS/JS,so no untouched file's configuration or program membership changes.
There is no prettier or markdownlint gate in this repo, so no formatter applies to
either file.
Generated by Claude Code