Skip to content

Commit 2263ca4

Browse files
os-trumpclaude
andauthored
docs(cli): stop naming the out-of-repo apps/objectos as serve.ts's in-repo host-config example (#14812)
`packages/cli/src/commands/serve.ts` named `apps/objectos` at three sites as if it were a path in this repo. It is not: `apps/` holds exactly one entry, `apps/docs`. The app is real but lives in the sibling `objectstack-ai/cloud` repo, split out of this one (CHANGELOG.md, "deleted from this repo ... now lives in `objectstack-ai/cloud/apps/objectos`"; ROADMAP.md says the same). The three sites are not one defect repeated, so they do not take one fix: - `:1921` is a provenance note about where the artifact-first fallback came from. The referent is genuinely out of this repo, so it is marked as such rather than renamed — a reader who wants it can still find it. - `:2791` and `:2965` were worked examples of live branches. Both branches key on a SHAPE (`plugins[]` already holding an `AppPlugin` instance; a config composing several `new AppPlugin(...)` entries), never on an app name, so the shape is stated and no app is named. `examples/app-showcase` is named once, at the one claim that is true of it and checkable: a host config whose `plugins[]` holds instantiated plugins while the stack still carries top-level metadata. Comments only; no behaviour, no exported surface, no authored metadata changes. Claude-Session: https://claude.ai/code/session_016yfqQh2dBgPAymYd7xipza Co-authored-by: Claude <noreply@anthropic.com>
1 parent 5ff5f95 commit 2263ca4

1 file changed

Lines changed: 17 additions & 9 deletions

File tree

packages/cli/src/commands/serve.ts

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1917,10 +1917,11 @@ export default class Serve extends Command {
19171917
// compiled artifact is reachable (explicit OS_ARTIFACT_PATH —
19181918
// including http(s):// URLs — or the canonical
19191919
// `<cwd>/dist/objectstack.json`), boot from that artifact alone.
1920-
// This is the same capability previously hard-coded in
1921-
// `apps/objectos/objectstack.config.ts`, lifted into the framework
1922-
// so any project can `objectstack start` against just a
1923-
// `dist/objectstack.json`.
1920+
// This is the same capability previously hard-coded in the tenant
1921+
// runtime's own `objectstack.config.ts` — that app is `apps/objectos` in
1922+
// the separate `objectstack-ai/cloud` repo, NOT a path in this one — and
1923+
// lifted into the framework so any project can `objectstack start`
1924+
// against just a `dist/objectstack.json`.
19241925
const configMissing = !configExists;
19251926
let useArtifactFallback = false;
19261927
let useEmptyBoot = false;
@@ -2786,10 +2787,17 @@ export default class Serve extends Command {
27862787
// need this wrap when they ALSO carry top-level metadata — otherwise
27872788
// top-level `flows`, `objects`, etc. never reach the ObjectQL registry
27882789
// and downstream services like AutomationServicePlugin start with 0 flows.
2790+
// `examples/app-showcase` is the in-repo worked example of exactly that
2791+
// shape: its `plugins[]` holds instantiated connector plugins while the
2792+
// stack still declares top-level `objects` / `apps` / `flows` / `apis`
2793+
// (`serve-host-config-security-registrar.pin.test.ts` records an `os dev`
2794+
// boot of it).
27892795
//
27902796
// To avoid double-registration when the host already wraps itself with
2791-
// an AppPlugin (e.g. apps/objectos's dev-workspace stack), we skip if
2792-
// any plugin in `plugins[]` is already an AppPlugin instance.
2797+
// an AppPlugin, we skip if any plugin in `plugins[]` is already an
2798+
// AppPlugin instance. That branch keys on the SHAPE — a `plugins[]` that
2799+
// already holds an AppPlugin instance — and never on a named app, so it
2800+
// is checked structurally below.
27932801
const hasAppPluginAlready = plugins.some(isAppPluginLike);
27942802
const configHasMetadata = !!(
27952803
config.objects || config.manifest || config.apps || config.flows || config.apis
@@ -2962,9 +2970,9 @@ export default class Serve extends Command {
29622970
|| p.constructor?.name === 'I18nServicePlugin'
29632971
);
29642972
// Check the top-level config AND any nested AppPlugin bundles in the
2965-
// `plugins` array — host/aggregator configs (e.g. apps/objectos) don't
2966-
// define translations themselves but compose multiple `new AppPlugin(...)`
2967-
// entries, each carrying its own translations.
2973+
// `plugins` array — a host/aggregator config may define no translations
2974+
// of its own and instead compose several `new AppPlugin(...)` entries,
2975+
// each carrying its own. Keyed on that shape, not on a named app.
29682976
const pluginBundleHasTranslations = (bundle: any): boolean => {
29692977
if (!bundle || typeof bundle !== 'object') return false;
29702978
if (Array.isArray(bundle.translations) && bundle.translations.length > 0) return true;

0 commit comments

Comments
 (0)