Skip to content

RFC addendum: hosted feed trust verification series#25

Merged
giodl73-repo merged 7 commits into
openclaw:mainfrom
giodl73-repo:codex/hosted-feed-trust-addendum
Jul 15, 2026
Merged

RFC addendum: hosted feed trust verification series#25
giodl73-repo merged 7 commits into
openclaw:mainfrom
giodl73-repo:codex/hosted-feed-trust-addendum

Conversation

@giodl73-repo

@giodl73-repo giodl73-repo commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a concise implementer-facing Hosted Feed v1 Core Specification sidecar to RFC 0009.

The RFC remains the design rationale and rollout plan. The sidecar spec gives feed publishers and OpenClaw clients the core v1 contract for feed documents, plugin/skill entries, source references, install candidates, refresh/fallback behavior, validation rules, examples, and conformance checklists.

Spec artifact:

  • rfcs/0009/hosted-feed-v1-spec.md

Scope choice

This was intentionally narrowed to the already-merged core RFC contract.

It does not define signed feed envelopes, publisher public-key config, ClawHub account feeds, account following, notifications, trust rotation, enterprise/MOS3 composition, tenant-admin policy, connector/agent activation, or runtime tool policy. Those should be covered by separate addendum specs once the relevant RFC addenda are accepted.

What this enables now

The core spec is enough for a company, registry, or community publisher to start hosting an OpenClaw-compatible plugin and skill catalog today.

A publisher can generate a v1 feed, host it on an internal or public HTTPS endpoint, point entries at artifacts through sourceRef, resolve those refs through local OpenClaw source profiles, mark entries available/recommended/disabled/blocked/deprecated, and emit a final effective feed generated by its own policy or registry system.

OpenClaw clients can then cache, inspect, search, and install from that feed using existing plugin or skill install paths. The follow-on addenda can standardize signed trust, account feeds, following, enterprise composition, audit, and key management without changing the basic feed contract.

Why this update

A maintainer asked whether we have a concrete spec and examples beyond the RFC text. RFC 0009 already has the concepts, but it is proposal-shaped. The sidecar spec is the shorter document that ClawHub, OpenClaw, and other feed publishers can implement against for the core hosted-feed contract.

The spec also calls out the ecosystem analogy explicitly: APT/Homebrew/npm-style separation between catalog metadata and artifact storage, with OpenClaw-specific source-profile constraints.

Spec review pass

The spec was tightened for implementation and operator concerns:

  • lifecycle-owned refresh, bounded payloads, cached snapshots, and no synchronous remote fetch during search/install rendering;
  • schema evolution rules and source-profile boundaries;
  • clearer examples, negative test payload expectations, and actionable configuration errors;
  • visible blocked/disabled/deprecated/stale states and explanation-friendly source labels/reasons.

Existing addendum scope remains separate

The broader RFC addendum text in this PR still discusses the hosted-feed trust series and ClawHub account-feed direction. The new sidecar spec is intentionally core-only so that trust and account-feed specs can be split into their own addendum artifacts later.

Validation

> git diff --check
PASS

> rg -n "^## Signed|signed feeds should|DSSE|rootKeys|account-backed|Following|trustUrl|public-key" rfcs/0009/hosted-feed-v1-spec.md
PASS no signed-envelope/account-feed normative sections in the core spec

> rg -n "<<<<<<<|=======|>>>>>>>|—|–|\.craft|roles/claws|Role Review" rfcs/0009-hosted-feeds-for-plugins-and-skills.md rfcs/0009/hosted-feed-v1-spec.md
PASS no conflict markers, en/em dash characters, or internal role-review references

@clawsweeper

clawsweeper Bot commented Jun 28, 2026

Copy link
Copy Markdown

Codex review: needs real behavior proof before merge. Reviewed July 8, 2026, 2:14 PM ET / 18:14 UTC.

Summary
The PR updates RFC 0009 with hosted-feed signature verification, ClawHub account-feed/following, public-key bootstrap, and rollout-plan addenda.

Reproducibility: not applicable. This PR changes RFC text rather than reporting a runtime bug.

Review metrics: 1 noteworthy metric.

  • RFC file touched: 1 modified file, 311 additions, 36 deletions. The change is confined to one design document, so merge risk is about specification consistency rather than runtime behavior.

Merge readiness
Overall: 🦐 gold shrimp
Proof: 🌊 off-meta tidepool
Patch quality: 🦐 gold shrimp
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • Reconcile the default feed configuration example with the bundled ClawHub public-key bootstrap model.

Risk before merge

  • [P1] The RFC may accidentally preserve an implementation reading where the default ClawHub feed still needs explicit configured root keys or a same-service trust endpoint, despite the new no-bootstrap-from-feed-host language.

Maintainer options:

  1. Fix the trust example before merge (recommended)
    Update the default feed configuration example so it no longer implies explicit root-key paste or same-host key bootstrap for ordinary ClawHub feeds.
Copy recommended automerge instruction
@clawsweeper automerge

Special instructions:
Update RFC 0009 so the `clawhub-public` example uses the bundled ClawHub platform public key by default, moves explicit `rootKeys` to an override/private-feed example, and describes any `trustUrl` as a signed rotation-document source rather than an initial key bootstrap path.

Next step before merge

  • [P1] The remaining blocker is a narrow RFC text/example reconciliation that an automated repair can attempt.

Security
Needs attention: The diff is documentation-only, but it defines a security-sensitive feed trust boundary and currently leaves the default trust-bootstrap example ambiguous.

Review findings

  • [P2] Align the default feed example with bundled trust — rfcs/0009-hosted-feeds-for-plugins-and-skills.md:214-218
Review details

Best possible solution:

Make the default ClawHub example match the new trust model: bundled key by default, explicit root keys only for override or private deployments, and trust URL only for a signed rotation document.

Do we have a high-confidence way to reproduce the issue?

Not applicable; this PR changes RFC text rather than reporting a runtime bug.

Is this the best way to solve the issue?

No as-is; the addendum direction is maintainable, but the configuration example should be reconciled with the new bundled-key bootstrap rule before merge.

Full review comments:

  • [P2] Align the default feed example with bundled trust — rfcs/0009-hosted-feeds-for-plugins-and-skills.md:214-218
    The new prose says ClawHub feeds should work with a bundled public key and must not bootstrap the initial key from the feed host, but the nearby clawhub-public example still shows explicit rootKeys and a trustUrl for the default feed. That leaves implementers with two incompatible readings of the bootstrap path; please make the example show bundled-key default behavior and reserve explicit roots/trust URLs for override or signed-rotation cases.
    Confidence: 0.86

Overall correctness: patch is incorrect
Overall confidence: 0.82

AGENTS.md: not found in the target repository.

Codex review notes: model internal, reasoning high; reviewed against a8e0ba2701d6.

Label changes

Label changes:

  • add merge-risk: 🚨 security-boundary: The RFC defines feed trust-bootstrap behavior, and ambiguous examples can shape a weaker future verification boundary.
  • add rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🌊 off-meta tidepool and patch quality is 🦐 gold shrimp.
  • add status: ⏳ waiting on author: ClawSweeper has contributor-facing work open and is waiting for author action. Not applicable: This PR changes only RFC documentation in the RFC repository, so after-fix runtime behavior proof is not required.

Label justifications:

  • P3: This is a draft RFC documentation change with no runtime code path changed.
  • merge-risk: 🚨 security-boundary: The RFC defines feed trust-bootstrap behavior, and ambiguous examples can shape a weaker future verification boundary.
  • rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🌊 off-meta tidepool and patch quality is 🦐 gold shrimp.
  • status: ⏳ waiting on author: ClawSweeper has contributor-facing work open and is waiting for author action. Not applicable: This PR changes only RFC documentation in the RFC repository, so after-fix runtime behavior proof is not required.
Evidence reviewed

Security concerns:

  • [medium] Ambiguous feed trust bootstrap — rfcs/0009-hosted-feeds-for-plugins-and-skills.md:214
    The RFC text could be read as allowing the default ClawHub feed to rely on configured root keys or a same-service trust URL even though the addendum says the initial root must be bundled or locally configured.
    Confidence: 0.82

Acceptance criteria:

  • [P1] git diff --check.
  • [P1] rg -n "<<<<<<<|=======|>>>>>>>" rfcs/0009-hosted-feeds-for-plugins-and-skills.md.
  • [P1] rg -n "public-key|trustUrl|rootKeys|bundled ClawHub" rfcs/0009-hosted-feeds-for-plugins-and-skills.md.

What I checked:

Likely related people:

  • giodl73-repo: Git blame and log tie the current RFC 0009 file, the merged telemetry addendum, and this follow-up addendum to Gio's hosted-feeds work on the same file. (role: prior RFC contributor and recent area contributor; confidence: high; commits: 89cf322325b0, a8844eb53a2b, 08b89b020ade; files: rfcs/0009-hosted-feeds-for-plugins-and-skills.md)
  • vincentkoc: The original RFC 0009 merge commit records Vincent as a co-author, and the file frontmatter lists Vincent among the RFC authors for this design surface. (role: prior RFC co-author; confidence: medium; commits: 89cf322325b0; files: rfcs/0009-hosted-feeds-for-plugins-and-skills.md)
  • Patrick-Erichsen: Patrick reviewed the parent hosted-feeds RFC and later cross-referenced the related signed marketplace feed configuration implementation PR. (role: reviewer and adjacent implementation participant; confidence: medium; files: rfcs/0009-hosted-feeds-for-plugins-and-skills.md)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

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
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.
Review history (3 earlier review cycles)
  • reviewed 2026-07-04T01:42:15.471Z sha 0dd2df3 :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-06T22:07:54.337Z sha f6dd24e :: needs maintainer review before merge. :: none
  • reviewed 2026-07-07T21:41:36.382Z sha f6dd24e :: needs maintainer review before merge. :: none

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. merge-risk: 🚨 other 🚨 Merging this PR has meaningful risk outside the owned taxonomy. labels Jun 28, 2026
@giodl73-repo
giodl73-repo force-pushed the codex/hosted-feed-trust-addendum branch from f9904d2 to ef8d497 Compare June 29, 2026 21:41
@giodl73-repo

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jun 29, 2026

Copy link
Copy Markdown

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

@giodl73-repo
giodl73-repo force-pushed the codex/hosted-feed-trust-addendum branch 6 times, most recently from 96cc964 to 926ee82 Compare June 30, 2026 00:11
@clawsweeper clawsweeper Bot added status: 🛠️ actively grinding The PR author has acted after the latest ClawSweeper review and work remains. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. and removed status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. status: 🛠️ actively grinding The PR author has acted after the latest ClawSweeper review and work remains. labels Jun 30, 2026
@giodl73-repo
giodl73-repo force-pushed the codex/hosted-feed-trust-addendum branch from 926ee82 to 8367099 Compare June 30, 2026 13:19
@giodl73-repo

Copy link
Copy Markdown
Contributor Author

Maintainer follow-up for current head 8367099ad038b079a3741dee153e31c2bf8e02aa:

  • Reconciled the diagnostics privacy wording with the merged telemetry/provenance section from RFC 0009 addendum: Feed observability and usage telemetry #24. The RFC now excludes raw URLs, credentials, query strings, signing material, and unbounded identity values, while preserving bounded feed ids, configured source profile names, checksum references, entry ids, package source types, policy states, and outcome categories when diagnostics are enabled.
  • Added copied current-head validation output to the PR body for git diff --check, conflict-marker scan, and en/em dash scan.
  • I am accepting this as draft RFC direction for discussion/review scope: trust verification and ClawHub account-following can remain together in this draft unless another maintainer asks to split them.

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jun 30, 2026

Copy link
Copy Markdown

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Jun 30, 2026
@giodl73-repo
giodl73-repo force-pushed the codex/hosted-feed-trust-addendum branch from 39e986b to 26f4f34 Compare July 3, 2026 14:37
@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. merge-risk: 🚨 other 🚨 Merging this PR has meaningful risk outside the owned taxonomy. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. merge-risk: 🚨 other 🚨 Merging this PR has meaningful risk outside the owned taxonomy. proof: sufficient Contributor real behavior proof is sufficient. labels Jul 3, 2026
@clawsweeper clawsweeper Bot added the proof: sufficient Contributor real behavior proof is sufficient. label Jul 6, 2026
@giodl73-repo
giodl73-repo marked this pull request as ready for review July 7, 2026 21:37
@clawsweeper clawsweeper Bot removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. merge-risk: 🚨 other 🚨 Merging this PR has meaningful risk outside the owned taxonomy. proof: sufficient Contributor real behavior proof is sufficient. labels Jul 8, 2026
@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. merge-risk: 🚨 security-boundary 🚨 Merging this PR could weaken sandboxing, authorization, credentials, or sensitive data. labels Jul 8, 2026
@giodl73-repo
giodl73-repo force-pushed the codex/hosted-feed-trust-addendum branch 3 times, most recently from 39f632b to a5fafcd Compare July 15, 2026 12:59
@giodl73-repo
giodl73-repo force-pushed the codex/hosted-feed-trust-addendum branch from a5fafcd to 3840098 Compare July 15, 2026 13:02
@giodl73-repo
giodl73-repo merged commit f9ac10e into openclaw:main Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 security-boundary 🚨 Merging this PR could weaken sandboxing, authorization, credentials, or sensitive data. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant