Skip to content

docs(skills): os package install takes -u/--url and -t/--token in the platform skill's operations reference - #30821

Merged
os-zhuang merged 2 commits into
mainfrom
claude/project-thread-6vyhw9
Nov 6, 2026
Merged

os-zhuang merged 2 commits into
mainfrom
claude/project-thread-6vyhw9

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Requested by Elon · project thread

domain:skills#1 · os-elon-musk · session_016WV4czuE7FD4NhcJptgwre

Fixes #30772

Clause-②: no
Metadata-protocol: none

维护者速读

  • 改了什么:objectstack-platform 技能运维参考页里 os package install 那一行,服务器参数从 --runtime 改成 -u/--url,凭据补上新的 -t/--token(环境变量 OS_RUNTIME_TOKEN),与 --email/--password 并列。
  • 为什么改:PR fix(cli,rest)!: os package install takes -u/--url and -t/--token; the /meta permission refusal is localized #30792(Console and CLI polish from the real-user walkthrough #30126 第 13 行,裁决 A)已把 -r/--runtime 改名为 -u/--url 且不留别名,并新增 -t/--token;技能还写旧参数,AI 照抄会被 CLI 当作未知参数拒绝。
  • 风险与回滚:只改技能文案一行;删掉该行里与下方引用块重复的「via its install-local endpoint」来付 token 额度(3119/3119,未抬上限)。回滚即撤这个 PR。
  • 先看:skills/objectstack-platform/references/operations.md 第 106 行。
  • 两分钟验证:对照 packages/cli/src/commands/package/install.ts 的 static override flags(url 为 -u、OS_RUNTIME_URL、默认 http://localhost:3000;token 为 -t、OS_RUNTIME_TOKEN),应与第 106 行一致。
  • 需要你做的:批准这个 Tier H PR(skills/** 需受管审批人 os-zhuang 或 hotlong 批准),之后席位落地。

What changes

  • skills/objectstack-platform/references/operations.md L106, the os package install row: the synopsis now reads [--version │ -u/--url http://localhost:3000] in place of [--version │ --runtime http://localhost:3000], and the credential sentence names -t/--token beside --email/--password, with the env names OS_RUNTIME_TOKEN or OS_RUNTIME_EMAIL/OS_RUNTIME_PASSWORD. "Auths with the target runtime's session" becomes "Auths as a target runtime user", since a token is not a session sign-in. The row keeps its shape and still says the credential is not the cloud login.
  • Same row: "via its install-local endpoint" is removed. The blockquote under the table (L108-113) already says the cloud-connection plugins "expose the install-local endpoint that os package install targets". Removing the restatement pays for the token flag inside the ceiling.
  • .changeset/30772-platform-skill-package-install-url.md: '@objectstack/skills': patch.

Why

Ruling A on #30126 row 13 (record 6674432613). PR #30792 landed it on main at 2fbddd4c, and this PR was merged with origin/main 7da99b79 before the gates. On that tree, packages/cli/src/commands/package/install.ts declares url (char: 'u', env: 'OS_RUNTIME_URL', default http://localhost:3000) and token (char: 't', env: 'OS_RUNTIME_TOKEN'). There is no runtime flag left. -v/--version and --email / --password (OS_RUNTIME_EMAIL / OS_RUNTIME_PASSWORD) are unchanged, and a token together with --email / --password is refused. content/docs/deployment/cli.mdx (L3261-3279) says the same.

Tests

This PR changes skill prose only. No eval case names os package install (git grep 'package install' skills/ hits only L106 and the blockquote's L112), so no eval was edited. No package code changed. After the change, git grep -- '--runtime' over skills/** and .claude/** returns nothing.

Acceptance notes

Verification

dispatch-gates on head b2d0f91: 43 derived, 43 run, all exit 0; pnpm lint exit 0

node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack derived 43 commands for the two changed paths (merge base 7da99b79). All 43 exited 0 on head b2d0f914, after a whole-tree pnpm build --concurrency=2 under os-verify-lock (118 tasks, VERDICT command-exit 0), which clears the five dist-reading prerequisites (check:doc-formula-expressions, check:dts-closure, check:dual-build-cjs-loads, check:lean-entry-closure, check:sourcemap-no-sources-content). check-skills-token-ratchet: operations.md 3119 / 3119.

node scripts/pm/dispatch-gates.mjs --ran FILE --repo objectstack-ai/objectstack: "43 derived famil(ies) accounted for — 43 run, 0 NOT-MEASURED", exit 0. pnpm lint: exit 0.

# head b2d0f914
node scripts/check-adr-0087-registration.mjs --base origin/main :: exit 0
node scripts/check-adr-0087-registration.mjs --self-test :: exit 0
node scripts/check-changeset-no-major.mjs --base origin/main :: exit 0
node scripts/check-closing-keyword-parity.mjs :: exit 0
node scripts/check-closing-keyword-parity.mjs --self-test :: exit 0
node scripts/check-comment-mask-corpus.mjs :: exit 0
node scripts/check-doc-route-spelling.mjs --advisory :: exit 0
node scripts/check-doc-route-spelling.mjs --self-test :: exit 0
node scripts/check-dts-emitted.mjs --self-test :: exit 0
node scripts/check-empty-changeset.mjs --base origin/main :: exit 0
node scripts/check-empty-changeset.mjs --self-test :: exit 0
node scripts/check-skills-token-ratchet.mjs :: exit 0
node scripts/check-skills-token-ratchet.mjs --self-test :: exit 0
node scripts/ci/assert-turbo-remote-cache.mjs --self-test :: exit 0
node scripts/ci/plan-test-core-shards.mjs --self-test :: exit 0
node scripts/ci/prune-turbo-cache.mjs --self-test :: exit 0
node scripts/pm/release-rehearsal-clone.mjs --self-test :: exit 0
node scripts/release-pending-publish.mjs --self-test :: exit 0
pnpm --filter @objectstack/lint run check:doc-formula-expressions :: exit 0
pnpm --filter @objectstack/spec run check:skill-refs :: exit 0
pnpm check:agent-test-spelling :: exit 0
pnpm check:changeset-gate-self-tests :: exit 0
pnpm check:ci-filter-parity :: exit 0
pnpm check:closed-ceremony-text :: exit 0
pnpm check:corpus-claim-drift :: exit 0
pnpm check:cross-package-test-inputs :: exit 0
pnpm check:doc-authoring :: exit 0
pnpm check:driver-memory-census :: exit 0
pnpm check:dts-closure :: exit 0
pnpm check:dual-build-cjs-loads :: exit 0
pnpm check:gitlink-declared :: exit 0
pnpm check:lean-entry-closure :: exit 0
pnpm check:nul-bytes :: exit 0
pnpm check:pm-governed-merges :: exit 0
pnpm check:pm-skill-id-lint :: exit 0
pnpm check:published-files :: exit 0
pnpm check:refd-timer-probe :: exit 0
pnpm check:role-word :: exit 0
pnpm check:skill-compatibility :: exit 0
pnpm check:skill-frame-sync :: exit 0
pnpm check:skill-identifier-liveness :: exit 0
pnpm check:sourcemap-no-sources-content :: exit 0
pnpm check:watch-hint-literal :: exit 0
pnpm lint :: exit 0

🤖 Generated with Claude Code

https://claude.ai/code/session_016WV4czuE7FD4NhcJptgwre


Generated by Claude Code

… platform skill's operations reference

The `os package install` row named `--runtime` for the target server and
listed only `--email/--password` as its credential. The CLI now spells the
server `-u/--url` (no alias for `-r/--runtime`) and adds `-t/--token`
(env `OS_RUNTIME_TOKEN`), so the row says that. The restated "via its
install-local endpoint" goes; the blockquote below the table already
names that endpoint, which pays the token ratchet.

Claude-Session: https://claude.ai/code/session_016WV4czuE7FD4NhcJptgwre
Co-authored-by: Claude <noreply@anthropic.com>
@github-actions github-actions Bot added size/s documentation Improvements or additions to documentation tooling Fix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface labels Nov 6, 2026
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

domain:skills#1 · os-elon-musk · session_016WV4d1mkgEris4MHHLjtnk

Contract-review-claim: session_016WV4d1mkgEris4MHHLjtnk · head b2d0f91 · 2026-11-06T05:02Z

@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

domain:skills#1 · os-elon-musk · session_016WV4d1mkgEris4MHHLjtnk

Contract review

Served-tier: CONTRACT_REVIEW_TIER
Head-sha: b2d0f91411c858ecbdea586d8e70c6cc5978cfa8
Local-runs: probe — node scripts/check-skills-token-ratchet.mjs on a detached scratch worktree of the head (the CI lint shard carrying it was still in_progress at read time); worktree removed afterwards, checked-out tree untouched
Scope: (hits: skills/objectstack-platform/references/operations.md) + (cited: packages/cli/src/commands/package/install.ts on origin/main 3da9a4c1, packages/cli/test/package-install-url-token-flags.test.ts, content/docs/deployment/cli.mdx L3261-3279, scripts/check-skills-token-ratchet.mjs L1017, .changeset/30772-platform-skill-package-install-url.md)

① Derived judgments

  • Diff = 2 files: operations.md +1/−1 (the L106 row only) and one new changeset; PR files list agrees (added .changeset/..., modified skills/.../operations.md). No packages/**, no content/docs/**. Surface held. Correct.
  • fix(cli,rest)!: os package install takes -u/--url and -t/--token; the /meta permission refusal is localized #30792 is on main: 2fbddd4c is an ancestor of origin/main, and the PR's merge base 7da99b79 is an ancestor of the head, so the row was written against the landed code. Correct.
  • -u/--url http://localhost:3000: install.ts L113-117 declares url with char: 'u', env: 'OS_RUNTIME_URL', default: 'http://localhost:3000'. Correct.
  • -t/--token, env OS_RUNTIME_TOKEN: install.ts L119-122 (token, char: 't', env: 'OS_RUNTIME_TOKEN'). Correct.
  • --email/--password and OS_RUNTIME_EMAIL/OS_RUNTIME_PASSWORD survive: install.ts L129-135. The row keeping them is correct; nothing stale.
  • No runtime flag remains: the static override flags block L112-180 has none; the header comment L53-55 says -r/--runtime is retired with no alias; package-install-url-token-flags.test.ts L82-88 asserts --runtime and -r are refused as unknown flags. The row dropping --runtime with no alias matches ruling A.
  • Auth sentence "-t/--token or --email/--password … not the cloud login": install.ts L190-191 refuses token together with email/password (one credential per call); L243-253 token path vs email sign-in path. cli.mdx L3261-3266 says the same ("one or the other, not both … os cloud login credentials do not apply"). The row's "or" is accurate; the "not both" refusal is not stated but nothing in the row contradicts it. Correct.
  • "Auths with the target runtime's session" → "Auths as a target runtime user": a token is an API key, not a session (install.ts L121, L130), so the reword is more accurate, not less.
  • Deleted "via its install-local endpoint": still carried by the blockquote at L108-113 on the head: L111-112 MarketplaceInstallLocalPlugin, RuntimeConfigPlugin — expose the install-local / endpoint that os package install targets. The endpoint name is preserved one paragraph below the row; install.tsL271 still POSTs to/api/v1/marketplace/install-local`. Meaning not lost. Correct.
  • Skills-wide grep on the head (git grep over skills/** and .claude/**): --runtime → zero hits; install-local → only the blockquote L111 (intended); package install → only L106 and L112; no -r near package install anywhere (the -r hits in .claude/hooks/*.sh are jq -r/read -r, unrelated). No eval under skills/*/evals/ names package install. Dev's "L106 was the only hit" holds.
  • Changeset: '@objectstack/skills': patch (changeset L2), not skip-changeset; body names the FROM → TO flag and the token. Correct.
  • Ratchet: scripts/check-skills-token-ratchet.mjs L1017 pins operations.md at 3119; probe on the head measures 3119 / 3119 (+0), headroom 0, exit 0, no ✗ rows. Ceiling not raised. Dev's 3119/3119 holds.

② Semver level

patch on @objectstack/skills — prose-only correction of a skill reference to match the already-landed CLI; no schema, no governed rule semantics changed. Matches the changeset. The BREAKING arm belongs to @objectstack/cli in #30792's changeset, not here.

③ Boundary flags

  • PR author login: objectstack-fleet[bot] (no non-bot login to name).
  • PR body has Fixes #30772, Clause-②: no, Metadata-protocol: none; changeset carries the same two lines (L7-8). Re-derived: skills prose only, no published schema or narrowing → Clause-②: no; no metadata protocol touched → Metadata-protocol: none. Both hold.
  • Dev deviations: [], open_questions: [] (report 6677357200): nothing to answer. The out-of-scope note on PR docs(skills): teach the stack's push block — direct transport, credentialRef only, relay not yet served #30764 (other hunks of the same file; whichever lands second re-runs the ratchet) is a correct observation; with headroom 0 on this head, the second lander must re-measure.
  • Serial constraint (push after fix(cli,rest)!: os package install takes -u/--url and -t/--token; the /meta permission refusal is localized #30792 merged, merge origin/main first): satisfied (2fbddd4c and 7da99b79 ancestry above).
  • Check-runs on the head: green so far (Check Changeset, Governed Surface Queue Guard, PR-body guards, Lint · PM dispatch-gates, Build Core, Type Check · workspace, etc., latest completed 2026-11-06T05:03Z); still in_progress at read time: Test Core (1/8), Test Core (2/8), Type Check · source gates, Type Check · consumer gates, Lint · CI, release & engine gates, Lint · docs & code guards, Lint · ESLint, Lint · repo & tooling gates. No red. Landing still needs the full-green check (contract-review.md ②); PR is Tier H draft awaiting a governed approver.

④ Design judgment

skills/objectstack-platform/references/operations.md (L106): the row now teaches exactly the flag set, short aliases, env names, default and credential model that install.ts on main implements and that cli.mdx L3261-3279 documents; the row's shape and the "not the cloud login" guard are kept, and the removed endpoint phrase remains in the adjoining blockquote. An AI following this row produces a command the CLI accepts. No invented, stale or wrong flag.

  • should-fix 1 (non-blocking): the row names no env for the server (OS_RUNTIME_URL, install.ts L116), while it does name the credential envs. With headroom 0 it cannot be added without paying elsewhere; acceptable to leave as is, since the default http://localhost:3000 is shown and the credential envs are the ones a script reader needs most.

Implemented-by: claude/project-thread-6vyhw9
Reviewed-by: session_016WV4d1mkgEris4MHHLjtnk

VERDICT: PASS

@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

domain:skills#1 · os-elon-musk · session_016WV4d1mkgEris4MHHLjtnk

维护者速读

  • 改了什么:objectstack-platform 的 references/operations.md L106,os package install 一行改成 -u/--url(默认 http://localhost:3000)和新增的 -t/--token,去掉已废弃的 --runtime;--email/--password 照旧。
  • 为什么改:裁决 A(Console and CLI polish from the real-user walkthrough #30126 第 13 行,记录 6674432613)已由 PR fix(cli,rest)!: os package install takes -u/--url and -t/--token; the /meta permission refusal is localized #30792 落地,-r/--runtime 不留别名;技能还教旧旗,AI 照抄会被 CLI 拒成未知旗。
  • 风险与回滚:技能文档一行 + changeset,不动代码;回滚即 revert 本 PR。
  • 先看:L106 新行,以及为付 token 删掉的 "via its install-local endpoint"(复核核过,L111-112 的说明块仍写着 install-local 端点)。
  • 两分钟验证:node scripts/check-skills-token-ratchet.mjs | grep operations,预期 3119(上限 3119,未抬)。
  • 需要你做的:批准并合并(skills/** 为 Tier H)。契约复核 PASS 评论 6677429348,Head-sha b2d0f91411c858ecbdea586d8e70c6cc5978cfa8。
  • 席位意见:可合。可选建议(行内补 OS_RUNTIME_URL 环境变量)没做,余量为 0,默认值已写明,不值得再推一次。

席位核对 — ACCEPT · head b2d0f91


Generated by Claude Code

@objectstack-fleet objectstack-fleet Bot added the pm:awaiting-merge PR only: landing waits on the maintainer's own review and merge (SKILL.md 复核 ②); never on an issue label Nov 6, 2026
@os-zhuang
os-zhuang marked this pull request as ready for review November 6, 2026 05:35
@os-zhuang
os-zhuang enabled auto-merge November 6, 2026 05:35
@os-zhuang
os-zhuang added this pull request to the merge queue Nov 6, 2026
Merged via the queue into main with commit 1120389 Nov 6, 2026
47 checks passed
@os-zhuang
os-zhuang deleted the claude/project-thread-6vyhw9 branch November 6, 2026 06:01
@objectstack-fleet objectstack-fleet Bot removed the pm:awaiting-merge PR only: landing waits on the maintainer's own review and merge (SKILL.md 复核 ②); never on an issue label Nov 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/s tooling Fix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface

Projects

None yet

Development

Successfully merging this pull request may close these issues.

skills: operations.md still names --runtime for os package install after #30126 row 13 renames it to -u/--url

3 participants