Repository navigation
docs(platform-objects): sys_trusted_key docblock names install's verifier and the shipped boot-time loader - #27905
Merged
objectstack-fleet[bot] merged 2 commits intoOct 30, 2026
Conversation
…fier and the shipped boot-time loader `os plugin install` verifies with `verifyPublisherSignature` (which `verifyPluginArtifact` wraps), and ADR-0025 M1's boot-time loader is built: name it and what it reads from the table. Comment only. Claude-Session: https://claude.ai/code/session_01L6bhgUCizoYWQVJWjhdR6F Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L6bhgUCizoYWQVJWjhdR6F Co-authored-by: Claude <noreply@anthropic.com>
Contributor
📓 Docs Drift Check
What this run could not see
Coarse fallback — 2 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
Contributor
Author
|
domain:server#2 · os-sales · session_01L6bhgUCizoYWQVJWjhdR6F 维护者速读(席位终稿)
席位意见: ACCEPT。注释与代码一致,逐处有出处。 席位核对ACCEPT · head
|
objectstack-fleet
Bot
deleted the
claude/issue-27840-trusted-key-docblock
branch
October 30, 2026 04:11
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
domain:server#2 · os-sales · session_01L6bhgUCizoYWQVJWjhdR6F
Requested by Sales · project thread
Fixes #27840
Clause-②: no
Metadata-protocol: none
Skills-docs: none — a comment-only change in
packages/platform-objects; noskills/**text names this docblock维护者速读
sys_trusted_key对象文件顶部的注释两处,不动任何代码与对象定义。verifyPluginArtifact,实际调用的是verifyPublisherSignature;还说启动时的加载器"建好之后"才读这张表,其实它已经上线并在每次启动时复核密钥。packages/platform-objects/src/system/sys-trusted-key.object.ts第 10–14 行与第 40–48 行。git grep -n "verifyPublisherSignature" packages/cli/src/commands/plugin/install.ts应命中第 65 行与第 259 行;git grep -n "verifyPluginArtifact" packages/runtime/src/installed-plugin-loader.ts应命中加载器的调用。What changes
packages/platform-objects/src/system/sys-trusted-key.object.ts, docblock only:os plugin installcallsverifyPublisherSignaturefrom@objectstack/core(packages/cli/src/commands/plugin/install.ts:65import,:259call). The docblock now names that function and saysverifyPluginArtifactwraps it and adds the platform counter-signature chain (packages/core/src/security/plugin-artifact-signature.ts:264, which callsverifyPublisherSignaturefirst).packages/runtime/src/installed-plugin-loader.ts;os serveruns it throughpackages/cli/src/utils/installed-plugins-boot.tsbefore the kernel bootstraps). The docblock now names it and states what it reads from this table: the row for the install's key id must beactiveand carry thefingerprintthe install recorded, and itspublic_keymust verify the kept bytes (verifyPluginArtifactwithrequirePlatform: false, so only the publisher chain). So a key revoked after install refuses that plugin at its next boot (loader check 3, refusalssignature_key_untrusted/signature_key_revoked/trusted_key_invalid/trusted_key_changed/signature_invalid).The object's
descriptionstring does not repeat either sentence, and no translation bundle carries the docblock (git grepofverifyPluginArtifact/once it is builtunderpackages/platform-objectshits only this file), so no generator run is needed.Tests
No behaviour change, so no new test and no ablation.
pnpm --filter @objectstack/platform-objects typecheck && pnpm --filter @objectstack/platform-objects testunder the verify lock:VERDICT command-exit 0,Test Files 99 passed (99),Tests 1400 passed (1400).pnpm exec eslint --no-inline-config packages/platform-objects: exit 0.Acceptance notes
skip-changesetlabel. A comment-only edit is in os-dev's no-publish fast lane. Measured for the record: the docblock text does reachdist/system/index.d.ts(JSDoc in the emitted declarations), so the corrected wording ships with the next release of the package anyway, in a file nothing parses.Verification
Local readings on head
41af415b(the branch merged withorigin/mainc91a004fonce).Derived gate families — 44 derived, 44 run, every exit 0
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackderived 44 commands from the one changed path. Each ran with its exit code captured before any pipe: 44 of 44 exited 0.--ranreconciliation:44 derived famil(ies) accounted for — 44 run, 0 NOT-MEASURED.Three first answered exit 3 (PREREQUISITE NOT MET:
check:i18n,check:lean-entry-closure,check:dual-build-cjs-loads), so they were read as NOT MEASURED, not as passes. After building their prerequisite closures under the verify lock, all three re-ran green:check-i18n-bundles: OK (10 package(s) — all bundles in sync, no undeclared authoring keys).Package checks
pnpm --filter '@objectstack/platform-objects...' build:VERDICT command-exit 0.pnpm --filter @objectstack/platform-objects typecheck && … test:VERDICT command-exit 0, 99/99 files, 1400/1400 tests.pnpm exec eslint --no-inline-config packages/platform-objects: exit 0.sys-trusted-key.object.ts(files of all 24 open PRs read).CI-owned families (artifact rosters, wide-population families, Build Core, type-check lanes) are left to this PR's check-runs.
Generated by Claude Code
🤖 Generated with Claude Code
https://claude.ai/code/session_01L6bhgUCizoYWQVJWjhdR6F