RFC: Hosted feeds for plugins and skills#19
Conversation
b866392 to
3db25b9
Compare
3db25b9 to
5812835
Compare
|
Codex review: needs real behavior proof before merge. Reviewed June 22, 2026, 4:19 PM ET / 20:19 UTC. Summary Reproducibility: not applicable. this is a design RFC for a new hosted feed model, not a current behavior bug. The concrete checks are the proposed Markdown file, README lifecycle rules, and the open RFC numbering state. Review metrics: 2 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Keep the RFC open as a draft, have maintainers decide whether hosted feeds should be sponsored, assign or reserve a non-conflicting RFC number, and update acceptance metadata only if the direction is accepted. Do we have a high-confidence way to reproduce the issue? Not applicable: this is a design RFC for a new hosted feed model, not a current behavior bug. The concrete checks are the proposed Markdown file, README lifecycle rules, and the open RFC numbering state. Is this the best way to solve the issue? Unclear as-is: an RFC is the right vehicle and the latest revision addresses many review themes, but merge still needs maintainer acceptance, a unique RFC number, and accepted lifecycle metadata. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: not found in the target repository. Codex review notes: model internal, reasoning high; reviewed against bab3348050f7. Label changesLabel justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
| ## Summary | ||
|
|
||
| Define a hosted feed model for OpenClaw plugins and skills. A feed is a JSON | ||
| catalog document that describes available packages, named local package sources, |
There was a problem hiding this comment.
Could you clarify what a , named local package sources is?
| uses. External plugins can continue to install from npm or ClawHub, with Git | ||
| available for immutable source installs. The feed provides package selection, | ||
| version, and checksum data; local configuration supplies the source endpoint, | ||
| credentials, and trust policy. ClawHub can publish the default public feed. |
There was a problem hiding this comment.
Eventually this should be only official packages, but for now, everything.
| marketplace experiences. A feed is fetched from an HTTP endpoint or loaded from a | ||
| local file. The client validates the document shape, verifies a configured | ||
| signature policy when present, and uses entry-level package metadata to drive | ||
| search, recommendation, install, update notices, and feed-level allow/block |
There was a problem hiding this comment.
I'm not certain about the search piece. I think we want to preserve ClawHub's ability to own it's search algo.
Perhaps ClawHub (or any registry) supplies the results, but the client is responsible for filtering out results based on the feed?
For example, if I search "Microsoft", ClawHub determines the right set of packages to return as results, but then OpenClaw client verifies that all of the results are present in at least a single feed.
| "entries": [ | ||
| { | ||
| "type": "plugin", | ||
| "id": "acpx", |
There was a problem hiding this comment.
Would this be the slug? Slugs are not necessarily stable, a user can alter them.
What happens in that case? All users are unable to install that plugin until a new feed document is generated? Is that acceptable if so?
|
|
||
| A feed document should be a deterministic JSON document with a schema version, | ||
| feed id, generated timestamp, monotonic sequence number, expiry, and entries. | ||
| Entry ids must be stable. Entries select a configured local source by name rather |
There was a problem hiding this comment.
Entries select a configured local source by name rather than embedding a registry domain, credentials, or trust roots.
Could you explain this more?
| a combination? | ||
| - What user-facing noun should OpenClaw use: feed, marketplace, registry, or | ||
| another term? | ||
| - Should a signed public feed be required from the first release, or should |
There was a problem hiding this comment.
I think signed first? Not sure tbh.
| another term? | ||
| - Should a signed public feed be required from the first release, or should | ||
| unsigned HTTPS feeds remain an explicit opt-in for self-hosted deployments? | ||
| - When should the optional trust envelope be introduced, and do public feeds need |
There was a problem hiding this comment.
What is the "optional trust envelope"?
There was a problem hiding this comment.
Also not sure what the "offline root key" is.
| unsigned HTTPS feeds remain an explicit opt-in for self-hosted deployments? | ||
| - When should the optional trust envelope be introduced, and do public feeds need | ||
| separate offline root keys from online publisher keys from day one? | ||
| - Which runtime policy metadata should feed entries be allowed to reference |
There was a problem hiding this comment.
Don't understand.
| separate offline root keys from online publisher keys from day one? | ||
| - Which runtime policy metadata should feed entries be allowed to reference | ||
| without turning the feed into a policy engine? | ||
| - How many stable OpenClaw releases should ship hosted feed fallback before |
There was a problem hiding this comment.
This feels like a question for @kevinslin , maybe once we have our first LTS?
| without turning the feed into a policy engine? | ||
| - How many stable OpenClaw releases should ship hosted feed fallback before | ||
| Scout, Microsoft, and other clients depend on the contract? | ||
| - How should ClawHub represent trusted, verified, official, and reviewed |
There was a problem hiding this comment.
This is just a binary "Official" or not. We don't have any other labels for publishers.
|
Updated the RFC to address the review themes from Patrick's comments:
I also removed the |
Summary
Draft RFC for hosted feeds as the OpenClaw plugin and skill registry primitive.
This is a rewrite of the older feeds direction based on the June 17 OpenClaw discussion. It is plugin-first, anchored on the existing external plugin catalog, and leaves room for skills after the hosted plugin feed path is stable.
What it covers
ETag,Last-Modified, and locally computed feed payload checksum persistenceRequested review
ClawHub maintainers: please supplement or correct the ClawHub publishing, trust, review, private/team feed, and regional mirror details.
OpenClaw plugin/onboarding maintainers: please sanity-check the hosted-feed fallback and manifest refactor direction against the current plugin catalog and onboarding install path.
Validation
git diff --check origin/main...HEAD