@@ -28,7 +28,8 @@ Prove the touched surface first. Do not reflexively run the whole suite.
2828 For maintainer heavy ` pnpm ` gates, that is usually delegated Blacksmith
2929 Testbox through Crabbox, e.g. `node scripts/crabbox-wrapper.mjs run
3030--provider blacksmith-testbox ... -- env OPENCLAW_CHECK_CHANGED_REMOTE_CHILD=1 OPENCLAW_CHANGED_LANES_RAW_SYNC=1 corepack pnpm check: changed `. For direct AWS
31- Crabbox proof, omit ` --provider ` and let ` .crabbox.yaml ` choose AWS.
31+ Crabbox proof, pass ` --provider aws ` ; omitting ` --provider ` follows the
32+ ` .crabbox.yaml ` default (Blacksmith Testbox).
3233 - workflow-only: ` git diff --check ` , workflow syntax/lint (` actionlint ` when available)
3334 - docs-only: ` pnpm docs:list ` , docs formatter/lint only if docs tooling changed or requested
34352 . Reproduce narrowly before fixing.
@@ -87,6 +88,36 @@ node scripts/run-vitest.mjs <path-or-filter>
8788That keeps the test scoped without giving pnpm a chance to run dependency
8889status checks or install reconciliation in a linked worktree.
8990
91+ ## Plugin Package And Live Proof
92+
93+ When validating an external or official plugin package, prove the package shape
94+ and trust shape separately. Do not use raw archive/path installs to prove the
95+ managed dependency path, and do not treat ` npm-pack: ` as proof of catalog-linked
96+ official trust.
97+
98+ - For local release-candidate proof, pack the plugin and install it with
99+ ` openclaw plugins install npm-pack:<path.tgz> --force ` . This uses the managed
100+ per-plugin npm project and is the closest local substitute for the registry
101+ artifact's dependency behavior.
102+ - If the behavior depends on bundled-plugin or trusted official plugin status,
103+ add a second proof through a catalog-backed official install or a published
104+ package path that records official trust. Local ` npm-pack: ` proof alone is
105+ not sufficient for privileged helpers or trusted-official scope handling.
106+ - Treat missing runtime imports as package-manifest bugs first. Runtime code
107+ must depend on packages declared in the plugin package ` dependencies ` or
108+ ` optionalDependencies ` ; do not make a final proof depend on manually running
109+ ` npm install ` inside ` ~/.openclaw/npm/projects/... ` .
110+ - If the plugin ships ` npm-shrinkwrap.json ` , regenerate or check it after
111+ moving dependencies between dev and runtime sections.
112+ - Inspect the packed tarball when dependency ownership or generated ` dist/ `
113+ matters: verify ` package/package.json ` , the expected runtime files, and any
114+ package-local shrinkwrap before installing it on a live host.
115+ - After installing the package, restart the Gateway when the touched surface is
116+ plugin registration, runtime dependency loading, privileged helpers, provider
117+ routing, or generated dist.
118+ - For live provider or channel probes, add only temporary config needed for the
119+ proof, then remove it and verify the cleanup state before closeout.
120+
90121## Command Semantics
91122
92123- ` pnpm check ` and ` pnpm check:changed ` do not run Vitest tests. They are for
0 commit comments