Found while fixing #10921 (in a file that card edits, but a different defect class — left alone deliberately, see the bottom).
Two documents in this repo make contradictory claims about how the Console SPA resolves, and one of them is a published README.
packages/console/README.md:27-31 (published to npm):
The framework CLI's resolveConsolePath() (in packages/cli/src/utils/console.ts) prefers @objectstack/console and falls back to @object-ui/console when present — so cloud's Docker overlay (which cp -rs its build over node_modules/@object-ui/console) keeps working.
packages/cli/src/utils/console.ts:26-31, the header of the very function the README cites:
NOTE: the legacy @object-ui/console npm package was the upstream source-of-truth before the framework started vendoring its own copy. It is no longer consulted — cloud's Docker overlay and self-hosted installs both target @objectstack/console exclusively now.
What the code actually does
Measured on 98ea344. @object-ui/console survives in exactly one place in resolveConsolePath() — step 3, the sibling-repo dev fallback (console.ts:227-250), which matches a package.jsonname inside a checked-out ../objectui/apps/console directory:
// 3: sibling-repo dev fallback. … The objectui repo still names its workspace// package `@object-ui/console` (that npm name is now upstream-only — the// framework no longer consumes it as a dep) …if((pkg.name===CONSOLE_PACKAGE||pkg.name==='@object-ui/console')&&…)
That is a source-checkout probe, not a node_modules resolution. There is no path in resolveConsolePath() that resolves the @object-ui/consolenpm package from node_modules. So the README's sentence is wrong as written, and the consequence it promises ("so cloud's Docker overlay … keeps working") does not follow from the code.
Why this needs a decision rather than an edit
Which side is stale is not decidable from this repo:
- If cloud's Docker overlay really has moved to
@objectstack/console (what console.ts asserts), the README is stale and should be corrected. - If cloud still
cp -rs over node_modules/@object-ui/console (what the README asserts), then the code is the defect and an overlay is silently landing in a directory the CLI never reads — a broken Console in a cloud image, with nothing failing loudly.
The cloud repo is not in this session's authorization surface, so the deciding fact could not be taken here. Whoever picks this up should establish cloud's actual overlay target first, then fix whichever side is wrong.
Why #10921 did not fix it
packages/console/README.mdis in #10921's declared file surface, so the bounded in-place exemption was considered and declined on the "mechanical, correct form already pinned by evidence" criterion: the correct form depends on cloud's behaviour, which is exactly the fact that cannot be read from here. #10921's own defect class is package names that cannot be installed; this is a resolution mechanism described wrongly, and papering over it by picking a side would have been a guess.
Refs: #10921 and its PR.
Found while fixing #10921 (in a file that card edits, but a different defect class — left alone deliberately, see the bottom).
Two documents in this repo make contradictory claims about how the Console SPA resolves, and one of them is a published README.
packages/console/README.md:27-31(published to npm):packages/cli/src/utils/console.ts:26-31, the header of the very function the README cites:What the code actually does
Measured on
98ea344.@object-ui/consolesurvives in exactly one place inresolveConsolePath()— step 3, the sibling-repo dev fallback (console.ts:227-250), which matches apackage.jsonname inside a checked-out../objectui/apps/consoledirectory:That is a source-checkout probe, not a
node_modulesresolution. There is no path inresolveConsolePath()that resolves the@object-ui/consolenpm package fromnode_modules. So the README's sentence is wrong as written, and the consequence it promises ("so cloud's Docker overlay … keeps working") does not follow from the code.Why this needs a decision rather than an edit
Which side is stale is not decidable from this repo:
@objectstack/console(whatconsole.tsasserts), the README is stale and should be corrected.cp -rs overnode_modules/@object-ui/console(what the README asserts), then the code is the defect and an overlay is silently landing in a directory the CLI never reads — a broken Console in a cloud image, with nothing failing loudly.The
cloudrepo is not in this session's authorization surface, so the deciding fact could not be taken here. Whoever picks this up should establish cloud's actual overlay target first, then fix whichever side is wrong.Why #10921 did not fix it
packages/console/README.mdis in #10921's declared file surface, so the bounded in-place exemption was considered and declined on the "mechanical, correct form already pinned by evidence" criterion: the correct form depends on cloud's behaviour, which is exactly the fact that cannot be read from here. #10921's own defect class is package names that cannot be installed; this is a resolution mechanism described wrongly, and papering over it by picking a side would have been a guess.Refs: #10921 and its PR.