Skip to content

Commit af13616

Browse files
fix(spec,service-settings): name the hosted product "ObjectOS Cloud" in the AI 501 remedy, settings hints, docs and READMEs (#26342)
<!-- claude-projects-attribution: {"github_login":"os-steve"} --> _Requested by **Steve** · [project thread](https://claude.ai/code/project/chan_01FdL1XeUyvVNxLreh3F4Qi9?thread=cmsg_01FdL1XeUyvVNxLreh3F4Qi9HSbaezN5sJxczqPerA1G27)_ Fixes #26228 Clause-②: no Metadata-protocol: none ## What changes The residue of the ObjectOS product-name ruling (model 2: ObjectOS is the product, in Community / Cloud / Enterprise editions; ObjectStack is the protocol, SDK, CLI and framework). Every remaining user-read "ObjectStack Cloud" now reads "ObjectOS Cloud". Where a sentence means the hosted control plane as a system, the same sentence says "the ObjectOS Cloud control plane". Five commits: 1. **The AI 501 remedy, with all its pins, in one commit.** `REMEDY_DETAIL['ai']` in `packages/spec/src/system/core-services.zod.ts` now reads "Provided by @objectstack/service-ai in ObjectOS Cloud/Enterprise — no implementation ships in the open framework". This is the message every `/ai/*` 501 body carries and the one `/discovery` reports as `services.ai.message`. Moving with it: the exact-string pin in `packages/runtime/src/domains/ai-anonymous-deny-ordering.test.ts`; the two `docs/qa/platform-checklist/areas/ai.json` clauses, with revisions bumped (open-edition-honest-degradation 1 to 2, console-ai-surface-gating 6 to 7) and history rows appended; the `http-protocol.mdx` discovery example; and the `services-checklist.mdx` quotation. 2. **Settings hints.** `service-settings` `ai.manifest.ts` ("realized only by an ObjectOS Cloud tier") and `knowledge.manifest.ts` (the turso "Test connection" hint, "built in the ObjectOS Cloud monorepo"), plus the `knowledge.manifest.test.ts` property pin. 3. **Docs and READMEs.** `content/docs/deployment/{cloud-connection,index,publish-and-preview}.mdx`, `protocol/objectql/schema.mdx`, `protocol/kernel/metadata-service.mdx`, `ui/setup-app.mdx`, `ROADMAP.md`, and the READMEs of `adapters/hono`, `drivers/driver-memory`, `services/service-package` and `services/service-cluster-redis`. 4. **Developer comments only.** `packages/cli/src/**` and `packages/cli/test/**` headers and measurement notes, `packages/cloud-connection/src/{marketplace-proxy-plugin,marketplace-public-url,runtime-config-plugin}.ts`, and `packages/runtime/src/http-dispatcher.ts`. Four lines were re-wrapped where the longer "the ObjectOS Cloud control plane" pushed them past their paragraph's width. 5. **Changeset** `.changeset/26228-objectos-cloud-residue.md`: `patch` on `@objectstack/spec`, `@objectstack/runtime` and `@objectstack/service-settings`. Unchanged: identifiers, env vars (`OS_CLOUD_*`), paths (`~/.objectstack/cloud.json`) and `os cloud …` commands; every `CHANGELOG.md`; `content/docs/releases/**`; `.changeset/26136-objectos-cloud-naming.md`; and every `ui/` path. ## Acceptance Ran the card's grep, with `.changeset/26136-objectos-cloud-naming.md` also excluded as history: `git grep -n "ObjectStack Cloud" -- ':!**/CHANGELOG.md' ':!content/docs/releases/**' ':!ui/AGENTS.md' ':!ui/docs/adr/**' ':!.changeset/26136-objectos-cloud-naming.md'` - **Before**, at `origin/main` `61ba04f6`: 52 lines. - **After**, at head `40119430`: 3 lines, each kept on purpose. - `CHANGELOG.md:737`, the root changelog. The pathspec `**/CHANGELOG.md` does not match the root file, and this is history, so it is left alone. - `packages/cli/test/cloud-product-name.test.ts:48,51`. This guard asserts the retired name appears in no cloud-command help string, so the literal is the thing it checks for. Kept as-is. Tests and pins, all at head `40119430`: - `pnpm --filter @objectstack/service-settings test`: Test Files 60 passed (60), Tests 1000 passed (1000). - `pnpm --filter @objectstack/runtime exec vitest run src/domains/ai-anonymous-deny-ordering.test.ts`: 13/13. - `pnpm --filter @objectstack/spec exec vitest run src/system/core-service-provider.test.ts`: 9/9. Its `/Cloud\/Enterprise/` regex still holds. - `node scripts/check-platform-checklist.mjs`: OK, 16 areas, 329 items. - **Ablation** of the 501 string. With `scripts/ablation-replace.mjs`, `core-services.zod.ts` was put back to the old product name (anchor 1 to 0, blob `d9d79d6a` to `f3a93587`). The deny-ordering suite then went red: 1 failed, 12 passed, on "keeps the 501 body string-identical to /discovery's services.ai message". After restoring (blob equals HEAD, `git diff HEAD` empty) and rebuilding, it was 13/13 again. The dist pre-flight's marker reading does not apply here, for two reasons: the runtime suite aliases `@objectstack/spec` to source, and the spec dist spells the em dash as a `—` escape. The red/green pair is the evidence. - Gate families: `dispatch-gates --commands` derived 121 commands, and all 121 were run locally with exit 0 at `40119430`. `--ran` reconciliation: 121 run, 0 NOT-MEASURED, a DERIVED zero. - Link check: no link target changed, only link text. The card's `check:docs-links` exists as no `package.json` script; link checking is the `check-links.yml` CI job on this PR. ## Acceptance notes - **"Cloud/Enterprise" spelling.** The card suggested "ObjectOS Cloud / Enterprise", with spaces. I kept the existing slash form, "ObjectOS Cloud/Enterprise", because `core-service-provider.test.ts` pins `/Cloud\/Enterprise/` and that file is outside the claimed file surface. Both spellings name the same two paid editions. Changing the spacing is a one-line follow-up in that test if wanted. - **Not in this PR.** `ui/AGENTS.md` and `ui/docs/adr/0060-*` still carry the retired name. Both are governed (Tier H) and are out of this card's scope by its own item 5. --- _Generated by [Claude Code](https://claude.ai/code/session_01KCszQFMjfcrW4p59RTTn8q)_ 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01KCszQFMjfcrW4p59RTTn8q --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 1a298dd commit af13616

38 files changed

Lines changed: 80 additions & 58 deletions
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
'@objectstack/spec': patch
3+
'@objectstack/runtime': patch
4+
'@objectstack/service-settings': patch
5+
---
6+
7+
fix(spec,service-settings): the AI 501 remedy and the AI / knowledge settings hints name the hosted product "ObjectOS Cloud"
8+
9+
Clause-②: no
10+
Metadata-protocol: none
11+
12+
ObjectOS is the product, in Community, Cloud and Enterprise editions; ObjectStack is the protocol, SDK, CLI and framework. Three runtime sentences still named the hosted product by its retired name:
13+
14+
- **`@objectstack/spec`.** `REMEDY_DETAIL['ai']` — the message every `/ai/*` route's 501 body carries and `/discovery` reports as `services.ai.message` on an open-edition boot — now reads "Provided by @objectstack/service-ai in ObjectOS Cloud/Enterprise — no implementation ships in the open framework".
15+
- **`@objectstack/service-settings`.** The AI live-call hint ("realized only by an ObjectOS Cloud tier") and the knowledge `turso` adapter's "Test connection" hint ("built in the ObjectOS Cloud monorepo") on Settings → AI & Embedder.
16+
- **`@objectstack/runtime`.** A doc comment on the kernel-resolver seam; no behaviour change.
17+
18+
What to do: a client that string-matches the old 501 / discovery message updates the product name in its expected text. Nothing else changes: package names, `OS_CLOUD_*` env vars, `~/.objectstack/cloud.json` and the `os cloud …` commands keep their names.

‎ROADMAP.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ docs, adapters, services, plugins, and the bundled console integration.
2626
`../objectui`.
2727
- **Cloud publishing:** CLI publish/rollback target
2828
`/api/v1/cloud/environments/:environment/...` endpoints when pointed at an
29-
ObjectStack Cloud control plane.
29+
ObjectOS Cloud control plane.
3030
- **Generated references:** `content/docs/references/` is generated from Zod
3131
descriptions. Update `packages/spec/src/**/*.zod.ts`, then regenerate.
3232

‎content/docs/deployment/cloud-connection.mdx‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
2-
title: Cloud Connection — connect a self-hosted server to ObjectStack Cloud
2+
title: Cloud Connection — connect a self-hosted server to ObjectOS Cloud
33
navTitle: Cloud Connection
4-
description: Connect your own ObjectStack server to an ObjectStack Cloud account from Setup → Cloud Connection with a one-time code, then rename or disconnect it. What the server stores, and what disconnecting removes.
4+
description: Connect your own ObjectStack server to an ObjectOS Cloud account from Setup → Cloud Connection with a one-time code, then rename or disconnect it. What the server stores, and what disconnecting removes.
55
---
66

7-
A self-hosted ObjectStack server can be connected to an ObjectStack Cloud
7+
A self-hosted ObjectStack server can be connected to an ObjectOS Cloud
88
account. You start the connection on your own server, in **Setup →
99
Integrations → Cloud Connection**, and approve it in the cloud account with a
1010
one-time code. Nothing is typed into the server: no id, no key, no password. Under the hood

‎content/docs/deployment/index.mdx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ platform. Most deployment questions are really the question *which of these am I
2121
doing* — so this section is ordered that way, and so is the sidebar.
2222

2323
**Where it runs — Docker, Compose, Kubernetes, a bare Node.js host, or an
24-
ObjectStack Cloud environment — is a detail inside the first of those two, not a
24+
ObjectOS Cloud environment — is a detail inside the first of those two, not a
2525
third thing alongside them.** Pick which job you are doing first; the venue is a
2626
choice you make inside it.
2727

@@ -52,7 +52,7 @@ move it deliberately.
5252
is the minority path, for hosts where a container runtime is not available.
5353
See [Docker (official
5454
image)](/docs/deployment/self-hosting#docker-official-image--the-standard-path).
55-
- **ObjectStack Cloud.** The control plane provisions environments and operates
55+
- **ObjectOS Cloud.** The control plane provisions environments and operates
5656
the runtime for you, and apps arrive by installing a package version from your
5757
organization's catalog. Cloud hosts, database provisioning, billing, and
5858
public SaaS distribution live outside this repository; the framework runtime

‎content/docs/deployment/publish-and-preview.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ Common flags:
165165
| `--server`, `-s` | `OS_CLOUD_URL` | Cloud control-plane URL |
166166
| `--token`, `-t` | `OS_CLOUD_API_KEY` | Bearer token (service mode) |
167167
| `--version`, `-v` | — | Semver version (default: `artifact.manifest.version`) |
168-
| `--visibility` | — | `org` · `private` · `marketplace`. Omitted: the control plane decides — an existing package keeps its visibility, a new one gets its default (`org` on ObjectStack Cloud) |
168+
| `--visibility` | — | `org` · `private` · `marketplace`. Omitted: the control plane decides — an existing package keeps its visibility, a new one gets its default (`org` on ObjectOS Cloud) |
169169
| `--org` | `OS_ORG_ID` | Owner org id (service mode) |
170170
| `--env` | `OS_ENVIRONMENT_ID` | Environment to install the new version into. Defaults to the environment `os environments switch` (or `os environments create --activate`) recorded for this control plane in `~/.objectstack/cloud.json` |
171171
| `--install` | — | Auto-install the new version into `--env` after publishing |

‎content/docs/kernel/services-checklist.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ Two slots therefore override the generic line with a hand-written
103103
`REMEDY_DETAIL` sentence: `ui`, because the package named does not fill the
104104
slot (`Served by the protocol service — register MetadataPlugin
105105
(@objectstack/metadata-protocol) to enable`), and `ai` (`Provided by
106-
@objectstack/service-ai in ObjectStack Cloud/Enterprise — no implementation
106+
@objectstack/service-ai in ObjectOS Cloud/Enterprise — no implementation
107107
ships in the open framework`). `scripts/check-service-providers.mjs` fails CI
108108
if a name in the table is not a real workspace package, or if a
109109
`CoreServiceName` slot other than `data`/`metadata` is missing from it.

‎content/docs/protocol/kernel/http-protocol.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ Host: api.acme.com
5959
"metadata": { "enabled": true, "status": "available", "handlerReady": true, "route": "/api/v1/meta", "provider": "objectql" },
6060
"data": { "enabled": true, "status": "available", "handlerReady": true, "route": "/api/v1/data", "provider": "objectql" },
6161
"search": { "enabled": false, "status": "unavailable", "message": "No implementation ships for the 'search' slot — register a service under it to enable" },
62-
"ai": { "enabled": false, "status": "unavailable", "message": "Provided by @objectstack/service-ai in ObjectStack Cloud/Enterprise — no implementation ships in the open framework" }
62+
"ai": { "enabled": false, "status": "unavailable", "message": "Provided by @objectstack/service-ai in ObjectOS Cloud/Enterprise — no implementation ships in the open framework" }
6363
},
6464
"capabilities": {
6565
"cron": { "enabled": false },

‎content/docs/protocol/kernel/metadata-service.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ instance goes through `@objectstack/cloud-connection` (`os package install`).
228228
A still-configured `artifact-api` source fails loudly at `start()` rather
229229
than silently falling back to the filesystem scan.
230230

231-
Connecting a self-hosted instance to an ObjectStack Cloud account is covered in [Cloud Connection](/docs/deployment/cloud-connection).
231+
Connecting a self-hosted instance to an ObjectOS Cloud account is covered in [Cloud Connection](/docs/deployment/cloud-connection).
232232

233233
### 2. Persistence Write Gate
234234

‎content/docs/protocol/objectql/schema.mdx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -788,7 +788,7 @@ organization A cannot see organization B's records. See
788788

789789
Schema changes flow through the `os` CLI: validate the config against the protocol
790790
schema, compile it to a JSON artifact, compare it against the previously deployed
791-
config to surface breaking changes, then publish the artifact to ObjectStack Cloud.
791+
config to surface breaking changes, then publish the artifact to ObjectOS Cloud.
792792

793793
```bash
794794
# 1. Validate the config against the protocol schema
@@ -800,7 +800,7 @@ os build
800800
# 3. Compare two configs to detect breaking changes
801801
os diff ./before.json ./after.json
802802
803-
# 4. Publish the compiled artifact as a versioned package to ObjectStack Cloud
803+
# 4. Publish the compiled artifact as a versioned package to ObjectOS Cloud
804804
os package publish
805805
806806
# 5. Roll back / forward by installing a prior package version

‎content/docs/ui/setup-app.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,4 +155,4 @@ project — Setup is reserved for platform-level administration.
155155

156156
- [App Metadata](/docs/ui/apps) — `App` schema reference
157157
- [Authentication](/docs/permissions/authentication) — where `setup.access` is granted
158-
- [Deployment Overview](/docs/deployment) — the platform-runtime lifecycle that serves Setup; ObjectStack Cloud is one venue inside it
158+
- [Deployment Overview](/docs/deployment) — the platform-runtime lifecycle that serves Setup; ObjectOS Cloud is one venue inside it

0 commit comments

Comments
 (0)