feat: publish provider setup metadata in the plugin feed - #3573
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Codex review: needs real behavior proof before merge. Reviewed September 12, 2026, 7:30 AM ET / 11:30 UTC (Revision 32). ClawSweeper reviewWhat this changesThe PR adds release-derived provider setup hints and bounded model previews to ClawHub’s official plugin feed, with schema updates, tests, and contract documentation. Regression provenancePossible regression — suspected (reviewed change). No predecessor PR is attributed. Merge readiness⛔ Blocked before merge - 6 items remain The contribution remains distinct from current main. The previously reported publication regression is still present, and the supplied evidence does not yet demonstrate the changed producer working with a real backend and consumer. Priority: P2 Review scores
Verification
How this fits togetherClawHub’s catalog publisher selects eligible official releases and stores a snapshot served to OpenClaw clients. The new metadata describes provider setup before installation while existing package, version, and digest pins continue to identify the installable artifact. flowchart LR
A[Official package releases] --> B[Eligibility checks]
B --> C[Read and verify release manifest]
C --> D[Project bounded setup hints]
D --> E[Store catalog snapshot]
E --> F[Public feed endpoint]
F --> G[OpenClaw provider discovery]
Before merge
Findings
Agent review detailsSecurityNone. Review metrics
Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Keep release-bound projection, preserve ordinary install entries when optional metadata exceeds its processing budget, retain corruption checks, and establish producer-to-reader compatibility for existing releases. Do we have a high-confidence way to reproduce the issue? Yes, source establishes the introduced failure: select an otherwise eligible npm-pack release whose valid plugin manifest exceeds 10 MiB, and publication throws before refreshing feeds. This path was not executed during the read-only review. Is this the best way to solve the issue? The release-derived projection is an appropriate layer and avoids another provider registry. The current patch is not yet the best solution because optional metadata extraction can invalidate an already accepted release’s publication path. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 8c2de6c506bb. LabelsLabel justifications:
EvidenceWhat I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (31 earlier review cycles; latest 8 shown)
|
|
This pull request has been automatically marked as stale due to inactivity. |
What Problem This Solves
OpenClaw can discover installable plugins from ClawHub, but cannot offer a new provider during setup without separately maintained core metadata. This adds provider setup hints and small model previews to the existing plugin feed, generated from each eligible release rather than another provider registry.
Companion consumer change: openclaw/openclaw#135997.
Why This Change Was Made
Publication reads the selected release's original
openclaw.plugin.json, verifies its stored size and SHA-256, and projects only declared provider identities, explicit auth choices, environment-variable names, and display-only model fields. The extracted manifest is deliberately not used: its object-key rewriting and depth limit can misattribute or lose model declarations.Install authority remains the existing exact package/version/artifact-digest candidate. No credentials, endpoint configuration, executable discovery flags, or vendor-authored install coordinates are copied. The v1 feed and route stay unchanged; its optional
openclawnamespace is accepted by shipped OpenClaw readers. The strict schema package is private, and ClawHub's CLI does not consume this feed.Whole provider metadata is capped at 64 KiB per entry, with model previews capped at 16 KiB inside that budget. Normalized URLs are bounded after encoding. A publication-size check leaves room within Convex's document limit and rejects oversize output before replacing the last snapshot. No database schema, configuration, or dependency changes.
User Impact
Eligible official provider plugins can become discoverable through the normal feed publication process once the companion OpenClaw consumer lands. This does not change official-publisher admission or make advertised models runnable before installation. Existing plugin/skill/Claws publication behavior and install pins are preserved.
A nearby test fixture now accepts npm 12's keyed
pack --jsonresult, matching the production CLI's existing parser; otherwise the full test gate failed before exercising its scenario.Evidence
bun run ci:static,bun run ci:unit,bun run ci:types-build,bun run ci:packages, andbun run ci:e2e-httppassed. Full unit suite: 6,327 passed, three existing opt-in skips. Package checks include built CLI/admin artifacts; HTTP checks include public reads and unauthenticated protected-write rejection.Production delta: +417 lines; tests/test support: +590; generated schema: +260. The growth implements release-bound publication, bounded projection, and validation. This PR does not deploy or publish a release.