From da7c7159749060ad848c610c97cfadaf637c1a3a Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 8 Nov 2026 06:44:56 +0000 Subject: [PATCH] docs(skills): name the installation-wide uniques stop for a self-hosted os deploy The platform skill's use-runtime exit-1 paragraph listed the access and schema upgrade confirmations but not the installation-wide `unique` constraints stop, whose printed retry is `os deploy --confirm-global-uniques` (a flag os deploy now accepts). The install refusal clause now names it and the alternative (`unique: 'organization'`). Paid by cutting two restatements homed in references/plugin-development.md; the +19-token remainder raises the operations.md ratchet row under the standing ruling 6513306068. Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01FEkQ5oBgusQkTutB9LsDed --- .../31338-platform-skill-global-uniques-stop.md | 10 ++++++++++ scripts/check-skills-token-ratchet.mjs | 15 ++++++++++++++- .../objectstack-platform/references/operations.md | 7 +++---- 3 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 .changeset/31338-platform-skill-global-uniques-stop.md diff --git a/.changeset/31338-platform-skill-global-uniques-stop.md b/.changeset/31338-platform-skill-global-uniques-stop.md new file mode 100644 index 00000000000..247dd91060d --- /dev/null +++ b/.changeset/31338-platform-skill-global-uniques-stop.md @@ -0,0 +1,10 @@ +--- +'@objectstack/skills': patch +--- + +docs(skills): the platform skill names the installation-wide uniques stop on a self-hosted `os deploy` + +Clause-②: no +Metadata-protocol: none + +`objectstack-platform`'s operations reference: a `use-runtime` target's install refusal now also covers the installation-wide `unique` constraints stop, with its two ways on: rerun with `--confirm-global-uniques` when those constraints are meant platform-wide, else set them `unique: 'organization'`. `os deploy` already accepts the flag; this release only teaches it. Two logger and metrics restatements whose home is `references/plugin-development.md` are cut. diff --git a/scripts/check-skills-token-ratchet.mjs b/scripts/check-skills-token-ratchet.mjs index c12b41bc9d8..3c7aaa42117 100644 --- a/scripts/check-skills-token-ratchet.mjs +++ b/scripts/check-skills-token-ratchet.mjs @@ -1144,7 +1144,20 @@ export const CEILINGS = new Map([ // the remainder, +35 measured, raises the row, pinned at the measurement. // Same maintainer ruling, verbatim and untranslated: // 「A:先削重复,余额按实测提高」 (ruling record 6513306068 on #27847). - ['skills/objectstack-platform/references/operations.md', 3375], + // 3375 -> 3394: the `use-runtime` paragraph's install refusal also names the + // installation-wide uniques stop: rerun with `--confirm-global-uniques` when + // those `unique` constraints are meant platform-wide, else set them + // `unique: 'organization'`. Paid first by deleting restatement in the same + // file (-67 bytes): the Logs bullet's `{ level: 'info', format: 'json' }` + // example (home: references/plugin-development.md § ObjectKernel + // Configuration) and the Metrics bullet's "(per-plugin startup durations)" + // (home: the same file's § Health Monitoring, `Map`). + // 13500 -> 13574 bytes (+74 net: -67 cut, +141 added) -> ceil(13574 / 4) = + // 3394; headroom was 0, so the remainder, +19 measured, raises the row, + // pinned at the measurement. Same maintainer ruling, verbatim and + // untranslated: 「A:先削重复,余额按实测提高」 (ruling record 6513306068 on + // #27847). + ['skills/objectstack-platform/references/operations.md', 3394], ['skills/objectstack-platform/references/plugin-development.md', 3137], ['skills/objectstack-upgrade/references/examples-upgrade.md', 1197], diff --git a/skills/objectstack-platform/references/operations.md b/skills/objectstack-platform/references/operations.md index c877361a7c6..eb9110a04f7 100644 --- a/skills/objectstack-platform/references/operations.md +++ b/skills/objectstack-platform/references/operations.md @@ -99,7 +99,7 @@ Port resolution is the same for `os dev` and `os start` (both spawn `os serve`): **`os deploy` exit 1, cloud:** a refusal before any write publishes nothing: log in (`os cloud login`), pick an environment (`--env`; none: create one in the ObjectOS Cloud console), or fix the local build or `manifest.version`. `could not build …: `: the environment's build failed, it keeps serving the previous one; fix and deploy again. `Timed out after …`: the install is recorded and a failing build reads as pending for minutes; deploy again with a longer `--wait-timeout`, or see the build in the ObjectOS Cloud console. -**A `use-runtime` target** (no `--env`) asks for no cloud login: build, dry-run plan, install, live on `hotLoaded`. Exit 1: a failed build; a dry run refused, unserved (no install-local) or ignored (an older runtime installed: upgrade it); an install refusal (rerun with the `--confirm-access-upgrade` / `--confirm-upgrade ` it printed); installed but not loaded (live after a restart). +**A `use-runtime` target** (no `--env`) asks for no cloud login: build, dry-run plan, install, live on `hotLoaded`. Exit 1: a failed build; a dry run refused, unserved (no install-local) or ignored (an older runtime installed: upgrade it); an install refusal (rerun with the `--confirm-access-upgrade` / `--confirm-upgrade ` it printed, or `--confirm-global-uniques` if its installation-wide `unique` constraints are meant platform-wide, else set them `unique: 'organization'`); installed but not loaded (live after a restart). > **Cloud connection & marketplace (`@objectstack/cloud-connection`, ADR-0008/0009):** > the open runtime-side cloud client; its `MarketplaceInstallLocalPlugin` serves the @@ -161,10 +161,9 @@ the other imports: [Using Plugins](./plugin-development.md#using-plugins). - **Health endpoints:** the HTTP dispatcher exposes `GET /health` and `GET /ready` under the API prefix. - **Logs:** plugins log via `ctx.logger`. Logger config is a **kernel - construction** option, not a `defineStack` key: - `new ObjectKernel({ logger: { level: 'info', format: 'json' } })`. + construction** option (`new ObjectKernel({ logger })`), not a `defineStack` key. - **Metrics:** use the kernel's built-ins — `kernel.getPluginMetrics()` - (per-plugin startup durations) and `await kernel.checkAllPluginsHealth()`. + and `await kernel.checkAllPluginsHealth()`. There is no `metrics` service and no `@objectstack/plugin-prometheus`. ## Common ops pitfalls