Repository navigation
docs(skills): name the installation-wide uniques stop for a self-hosted os deploy - #31428
Conversation
…ed 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 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FEkQ5oBgusQkTutB9LsDed
|
domain:server#5 · os-project-manager · session_01FEkQ5o8PE7ZtVjcor51wBZ Contract-review-claim: session_01FEkQ5o8PE7ZtVjcor51wBZ · head da7c715 · 2026-11-08T07:29Z |
|
domain:server#5 · os-project-manager · session_01FEkQ5o8PE7ZtVjcor51wBZ Contract reviewServed-tier: Inputs read: card #31338 (body, 3 comments: triage 6716400526, claim 6716849304, os-dev-report 6717349738); PR #31428 body and file list (3 files: the changeset, the ratchet row, operations.md); the net diff against ① Derived judgmentsWhat an agent following the head's paragraph does at the
② Semver level
③ Boundary flagsThe dev's 5 NOT MEASURED gate families against the head's check-runs (read 2026-11-08 ~07:31Z; 36 check-runs, 0 failed, 14 in_progress):
The record file holds 62 rows, 57 × exit 0 and 5 × exit 3, the five above — matches the PR body's account. Complete and green at read: The ratchet raise 3375 → 3394, against ruling record 6513306068 (letter B, part 2): the ruling makes the 2026-10-27 standing ruling 「A:先削重复,余额按实测提高」 the gate-recognised path for hand-authored
④ Design judgment
Could an AI follow it into confirming by reflex? The clause makes confirmation conditional on the constraints being "meant platform-wide" and gives the per-organization rewrite as the else-branch, and at the moment of action the agent is reading the stop itself, which prints Findings, graded:
Implementing file in the diff — Read, not reviewed: Implemented-by: VERDICT: PASS Generated by Claude Code |
|
domain:server#5 · os-project-manager · session_01FEkQ5o8PE7ZtVjcor51wBZ 席位意见:接受。平台技能的运维参考里, 席位核对 — ACCEPT ·
|
Requested by Leehom · project thread
Part of #31338
Clause-②: no
Metadata-protocol: none
维护者速读
operations.md中use-runtime目标的退出码 1 段,在「安装被拒」一项里补上全局唯一约束停止:约束确属全平台时用--confirm-global-uniques重跑,否则改成unique: 'organization'。os deploystopped on installation-wide uniques printsos deploy --confirm-global-uniques, a flagos deploydoes not declare #31338)已让os deploy在自托管运行时接受--confirm-global-uniques,但技能只教了两个升级确认,agent 读技能时不知道这个停止和开关。@objectstack/skillspatch;回滚即 revert。node scripts/check-skills-token-ratchet.mjs(3394 / 3394);对照packages/cli/src/commands/package/install.tsL445-L456 的停止文案。skills/**),合并前需席位契约复核与os-zhuang或hotlong批准。What changes
skills/objectstack-platform/references/operations.md, theuse-runtimetarget paragraph (added by #31335, merged). Its install-refusal clause listed the access and schema upgrade confirmations only. It now also names the installation-wide uniques stop (UNIQUE_SCOPE_CONFIRMATION_REQUIRED, ADR-0120 D5e), whose printed retry isos deploy --confirm-global-uniques, and the stop's other way on:Source on
main(405a78ea):packages/cli/src/commands/package/install.tsL445-L456 (the stop prints${retry} --confirm-global-uniquesand "…or edit the app's metadata tounique: 'organization'and rebuild");packages/cli/src/commands/deploy.tsL100 (CONFIRMATION_FLAGS) and L160 (the flag, self-hosted target only).os deployrebuilds, so "and rebuild" is the deploy itself.Why
PR #31369's acceptance notes left this line to the skills lane ("Not edited here … the line it needs is in the report's
out_of_scope_findings"). Without it, an agent reading the platform skill meets the stop with no taught way on.Token readings (
scripts/check-skills-token-ratchet.mjs, tokens = ceil(bytes / 4))maine6a0b72a90skills/objectstack-platform/references/operations.mdDeletions, each with its surviving home (-67 bytes):
new ObjectKernel({ logger: { level: 'info', format: 'json' } })becomes "(new ObjectKernel({ logger }))" (-36 B). Home of the shape:references/plugin-development.md§ ObjectKernel Configuration (logger: { level: 'info', format: 'json' }). The bullet's own fact (a kernel construction option, not adefineStackkey) stays.references/plugin-development.md§ Health Monitoring,kernel.getPluginMetrics(); // Map<name, startup ms>.No eval pins either (
skills/objectstack-platform/evals/*.jsonswept forgetPluginMetrics,logger,format).Added: +141 B. Net +74 B → 3394 tokens; headroom was 0, so the remainder, +19 measured, raises that one row, pinned at the measurement, under the standing maintainer ruling 2026-10-27, verbatim and untranslated: 「A:先削重复,余额按实测提高」 (ruling record 6513306068 on #27847). No rewrap: every untouched line is byte-identical.
Not edited
skills/objectstack-platform/evals/config-plugins-ops.jsoncase 21 names only--confirm-access-upgrade(already listed in docs: teach os mcp connect and the use-runtime deploy target in the remaining pages #31335's "Other sites found").Verification
Head
da7c715974(one commit onmaine6a0b72a90).node scripts/pm/dispatch-gates.mjs --commandsderived 62 commands for the 3 paths: 57 × exit 0; 5 NOT MEASURED (exit 3, prerequisite: a build):check:dts-closure,check:dual-build-cjs-loads,check:lean-entry-closure,check:sourcemap-no-sources-contentread every package's dist, and no package is touched;@objectstack/lint check:doc-formula-expressionsneeds the formula and lint builds and this diff adds no formula. Those go to CI. Per-command record: project filepm-orders/server/31338-skills-gates-ran.txt.node scripts/check-skills-token-ratchet.mjs: exit 0, 3394 / 3394;--self-testexit 0.node scripts/check-empty-changeset.mjs --base origin/main,check-changeset-no-major.mjs: exit 0.node scripts/check-commit-card-trailers.mjs --range origin/main..HEAD: exit 0.Changeset
.changeset/31338-platform-skill-global-uniques-stop.md:@objectstack/skillspatch, both declaration lines.Human Minimum
packages/specholds no runtime logic. (not touched)pnpm lintpasses. (no lintable source touched; CI)main, one pull request.packages/spectouched: n/a.content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.Generated by Claude Code