Skip to content

Add gated Claw hosted feed and lifecycle proof - #3092

Merged
Patrick-Erichsen merged 7 commits into
openclaw:mainfrom
giodl73-repo:user/giodl/clawhub-claws-feed
Jul 25, 2026
Merged

Patrick-Erichsen merged 7 commits into
openclaw:mainfrom
giodl73-repo:user/giodl/clawhub-claws-feed

Conversation

@giodl73-repo

@giodl73-repo giodl73-repo commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds a separately gated experimental Claw feed without expanding stable catalog feed v1.
  • Includes only validated, official, non-blocked releases with bounded summaries and exact artifact digests.
  • Serves /v1/feeds/claws only when CLAWHUB_EXPERIMENTAL_CLAWS=1.
  • Adds bounded TGZ/ZIP download and extraction checks.
  • Proves a hosted artifact containing CLAW.md plus profiles/openclaw.yml reaches real OpenClaw claws add --dry-run --json.

This is ClawHub PR 4 of 4 for RFC #27, RFC #48, and OpenClaw #112773.

Stack

  1. Add experimental portable Claw package schema #3089: portable schema and storage
  2. Add gated Claw publication and profile validation #3090: gated publication and profile validation
  3. Add gated Claw discovery and API projection #3091: gated discovery APIs
  4. Add gated Claw hosted feed and lifecycle proof #3092: hosted feed and OpenClaw bridge proof

Real behavior proof

The exact hosted fixture includes portable identity in CLAW.md and restrictive OpenClaw settings in the package-local profile. The bridge downloads exact artifact bytes, verifies feed/artifact integrity, performs safe extraction, resolves scoped package names through the canonical artifact route, and invokes OpenClaw head d255a128a23. OpenClaw validates and loads the sidecar and returns a non-mutating add plan with zero blocked actions.

Validation

  • 40/40 focused feed, API, schema, and preview-config tests pass.
  • 7/7 cross-repository tests pass with the real OpenClaw checkout, including the sidecar dry-run.
  • Schema and ClawHub typechecks pass.
  • Type-aware Oxlint reports zero findings.
  • Formatting and git diff --check pass.
  • Final Codex review reports no actionable defects.
  • Signed head: 0c495a6c968d.

No public ClawHub deployment or production signing key was used.

@vercel

vercel Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

@giodl73-repo is attempting to deploy a commit to the OpenClaw Foundation Team on Vercel.

A member of the Team first needs to authorize it.

@giodl73-repo

giodl73-repo commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

CI follow-up on head 632ab66:

  • all core pr-gates stages passed, including static, unit, packages, types/build, and HTTP E2E
  • the failed publish-new-version Playwright shard passed unchanged on targeted rerun
  • inspector-version failed both runs in shared Convex infrastructure with one-second execution timeouts in users:ensure and touchRateLimitKeyMetadata; no Claw route appears in the traces
  • current main CI run 29457984080 independently failed the same inspector-version shard while its core gates and other browser shards passed

Classifying this as baseline CI noise and leaving the Claws patch unchanged.

@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. feature: ✨ showcase ClawSweeper spotlight: unusually compelling feature idea for maintainer attention. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P2 Normal backlog priority with limited blast radius. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. merge-risk: 🚨 security-boundary 🚨 Merging this PR could weaken sandboxing, authorization, credentials, or sensitive data. labels Jul 16, 2026
@clawsweeper

clawsweeper Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed July 22, 2026, 1:33 AM ET / 05:33 UTC.

Summary
The branch adds a feature-gated experimental Claw package/feed contract, registry and CLI support, bounded archive validation, and an OpenClaw dry-run bridge proof.

Reproducibility: not applicable. This PR adds an experimental capability rather than correcting established broken behavior. Its stated real-run proof provides a concrete validation path for the proposed feature.

Review metrics: 3 noteworthy metrics.

  • Implementation scope: 67 files affected; 6,972 added, 179 removed. The change spans schema, storage, HTTP, CLI, generated distribution files, docs, and cross-repository proof rather than a narrow feed endpoint.
  • Stack depth: 4 dependent PR slices. The hosted-feed behavior relies on unmerged schema, publication, and discovery prerequisites.
  • Observed proof: 34 focused current-head tests; 4 WSL bridge cases. The PR includes after-fix evidence for the feed-to-OpenClaw dry-run path in addition to CI.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🦞 diamond lobster
Patch quality: 🐚 platinum hermit
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:

  • Obtain explicit maintainer sponsorship for the experimental registry/feed contract and its rollout policy.
  • Refresh the dependent stack against current main and present the intended landing order for review.

Risk before merge

  • [P1] Merging introduces a new experimental package family and externally consumable feed/schema/CLI surface; maintainers need to own the compatibility and future gate-removal path before staging it.
  • [P1] This PR is draft, reports a dirty merge state, and depends on three open stacked PRs, so it needs a refreshed stack/rebase and an explicit landing sequence rather than isolated merge review.

Maintainer options:

  1. Sponsor and restack before merge (recommended)
    Confirm the experimental public contract, preserve the gate, and refresh the dependent stack against current main before reviewing it as a merge candidate.
  2. Pause pending product ownership
    Keep the draft open but do not merge until a maintainer accepts responsibility for the registry, feed, and future compatibility policy.

Next step before merge

  • [P2] The remaining blocker is maintainer sponsorship of a broad public registry/feed contract and its staged rollout, not a narrow mechanical repair.

Maintainer decision needed

  • Question: Should ClawHub adopt and stage this gated experimental Claw package and hosted-feed contract as a supported repository direction?
  • Rationale: The implementation adds a new durable registry family, wire contract, CLI behavior, and security-relevant package lifecycle boundary; code review cannot determine the intended long-term public contract or rollout ownership.
  • Likely owner: giodl73-repo — They are the only concrete author connected to all four proposed implementation slices; a repository product owner should make the final sponsorship decision.
  • Options:
    • Sponsor staged experimental rollout (recommended): Keep the gate, assign an owner for the contract, and review/rebase the prerequisite stack before landing these slices in order.
    • Pause the proposal: Leave the stack as draft until maintainers decide whether this registry/feed capability belongs in ClawHub and what compatibility promise it should make.

Security
Cleared: No discrete security or supply-chain defect is evident in the proposed diff; its archive bounds, explicit experiment gate, and non-mutating OpenClaw proof are relevant safeguards, while the new lifecycle boundary still warrants maintainer ownership.

Review details

Best possible solution:

Have a maintainer sponsor or decline the staged experimental Claw contract, then land the prerequisite schema, publication, discovery, and hosted-feed slices in order with the deployment gate retained until compatibility and rollout policy are approved.

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

Not applicable: this PR adds an experimental capability rather than correcting established broken behavior. Its stated real-run proof provides a concrete validation path for the proposed feature.

Is this the best way to solve the issue?

Unclear: the gated, separately versioned feed is a coherent implementation approach, but maintainers must first confirm that this registry and public-contract direction is the intended product boundary.

AGENTS.md: found and applied where relevant.

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

Label changes

Label changes:

  • add rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • remove rating: 🦐 gold shrimp: Current PR rating is rating: 🐚 platinum hermit, so this older rating label is no longer current.

Label justifications:

  • P2: This is a normal-priority but broad experimental platform feature whose public-contract decision is not yet settled.
  • merge-risk: 🚨 compatibility: The branch adds a new public package family, CLI option, feed route, and schema contract that clients may adopt while the experiment is enabled.
  • merge-risk: 🚨 security-boundary: The new registry package contract carries archive validation and lifecycle metadata that can describe local process, MCP, cron, and workspace behavior consumed by OpenClaw.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • feature: ✨ showcase: ClawSweeper spotlight: unusually compelling feature idea for maintainer attention. The proposal connects a discoverable hosted package feed to OpenClaw’s non-mutating lifecycle planner while explicitly preserving a gated experimental boundary, which is an unusually complete end-to-end workflow unlock.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (terminal): The PR body provides after-fix terminal evidence from a real WSL OpenClaw checkout showing four bridge cases pass, including a non-mutating claws add --dry-run --json result; the relevant GitHub checks are also reported successful.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body provides after-fix terminal evidence from a real WSL OpenClaw checkout showing four bridge cases pass, including a non-mutating claws add --dry-run --json result; the relevant GitHub checks are also reported successful.
Evidence reviewed

What I checked:

  • Current-main gap: The supplied PR diff adds a new claw package family, experimental feed route, schema exports, publishing/discovery support, and documentation; the item is open and unmerged, so current main does not yet provide this central capability. (packages/schema/src/claws.ts:1, 7490a7f6bdee)
  • Stack dependency: The PR body and related-item context identify three open prerequisite PRs for schema/storage, gated publication, and discovery APIs. This hosted-feed slice cannot land independently of that reviewed stack. (specs/claws.md:13, 7490a7f6bdee)
  • Feature-history provenance: The branch’s four commits form the complete experimental Claws proposal; the final feed and bridge-proof commit is 7490a7f6bdeeaf8f0d512a219c8b52a194ef67a8, while no matching implementation commit is present on the supplied current-main SHA. (scripts/claws-feed-openclaw-e2e.ts:1, 7490a7f6bdee)
  • Real behavior proof: The PR body records a real WSL OpenClaw run with four passing bridge cases, including claws add --dry-run --json, plus current-head feed/API/archive coverage and successful required GitHub checks. (scripts/claws-feed-openclaw-e2e.test.ts:1, 7490a7f6bdee)
  • Upgrade-sensitive public surface: The diff adds public package-family, API-route, feed-schema, CLI, and dependency surface, guarded by CLAWHUB_EXPERIMENTAL_CLAWS=1; the experimental gate narrows exposure but does not replace a maintainer decision on the contract and rollout. (convex/lib/experimentalClaws.ts:1, 7490a7f6bdee)

Likely related people:

  • giodl73-repo: Authored the four linked Claws proposal commits, including the hosted-feed and OpenClaw bridge-proof slice; no current-main feature owner could be established from the supplied history. (role: stack author and contract implementer; confidence: medium; commits: dd5fef7f8dc5, 0e618871acdb, a5e840893dbc; files: packages/schema/src/claws.ts, convex/catalogFeed.ts, scripts/claws-feed-openclaw-e2e.ts)
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-16T11:47:03.376Z sha 632ab6698733b59f231a103ed2551c119f8cfa9a :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-19T10:05:59.517Z sha 927bd800035cecf7826d2eb447f10497aba374ac :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-20T02:10:53.138Z sha 66fed8fdd10939d273d49f4335653d702f687cae :: needs maintainer review before merge. :: none

@giodl73-repo

Copy link
Copy Markdown
Contributor Author

Restacked the hosted-feed slice onto refreshed #3091 at 927bd80. The real cross-repo proof passes against OpenClaw #106888 head 1b00790e260: it downloads the exact package, verifies metadata and digest, rejects unsafe paths plus link/special archive entries, extracts in isolation, and receives a non-mutating Claw add plan. Added the missing /feeds/claws 308 redirect and regression coverage. Focused suites, ci:types-build, ci:static, and final Codex review are clean.

@giodl73-repo

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
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 user/giodl/clawhub-claws-feed branch from 927bd80 to cf7e473 Compare July 20, 2026 00:39
@giodl73-repo

Copy link
Copy Markdown
Contributor Author

Restacked and consolidated the hosted-feed slice at cf7e4733. The feed uses the exact artifact digest, safe summary only, disabled 404/no-store behavior, archive link/special-file rejection, and the current OpenClaw CLI contract. The real WSL cross-repo proof passes all 3 tests against OpenClaw #106888 head 3df96efbd320; transcript and exact command are now in the PR body.

@giodl73-repo

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@giodl73-repo
giodl73-repo force-pushed the user/giodl/clawhub-claws-feed branch from cf7e473 to 66fed8f Compare July 20, 2026 01:03
@giodl73-repo

Copy link
Copy Markdown
Contributor Author

Final hosted-feed slice is restacked at 66fed8fdd109. Feed entries project exact artifact metadata/digest plus the bounded safe summary, and the lifecycle harness now selects safe extraction by artifact kind for both npm tarballs and legacy ZIP releases. Windows feed/API/unit tests pass (38 passed, 2 expected Linux-only skips), schema/type/lint/format/diff checks pass, and WSL Ubuntu live proof passes 4/4 against OpenClaw #106888 head 3df96efbd320, including real claws add --dry-run --json. The final cumulative Codex review is clean.

@giodl73-repo

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Jul 20, 2026
@giodl73-repo
giodl73-repo force-pushed the user/giodl/clawhub-claws-feed branch 2 times, most recently from 11f6dd3 to 8f25cdd Compare July 20, 2026 04:11
@giodl73-repo

Copy link
Copy Markdown
Contributor Author

Independent three-agent review fixes are applied at 8f25cdd19337: stable RFC 0009 feed v1 remains plugin/skill-only; Claws use a separate gated experimental schema/spec; the ungated redirect is removed; downloads and TGZ/ZIP extraction are bounded and path-safe; legacy ZIPs use the correct archive root; and the E2E is accurately scoped as a ClawHub-to-OpenClaw bridge proof. Current-head proof: 34 focused tests pass with 2 expected Windows skips, the 4 Linux bridge cases passed in WSL, and schema build, root typecheck, type-aware lint, format, and diff checks pass. RFC #27 and its sidecars are updated: openclaw/rfcs#27

@giodl73-repo
giodl73-repo requested a review from a team as a code owner July 22, 2026 21:48
@giodl73-repo
giodl73-repo force-pushed the user/giodl/clawhub-claws-feed branch from 7490a7f to cba388a Compare July 22, 2026 22:09
@giodl73-repo

Copy link
Copy Markdown
Contributor Author

Restacked onto #3091 exact head and refreshed the cross-repository proof. The obsolete #106888 reference is gone: the hosted artifact now passes the real OpenClaw dry-run path against #112773 head b5c2836155b8, which includes current #111391 CLAW.md support and the portable agent-settings slice.

Exact head: cba388a. The focused feed/API/archive suite passes 36/36, including 7/7 bridge cases and a real claws add --dry-run --json invocation; schema build, root typecheck, type-aware lint, format, and diff checks pass. The commit is signed and the PR is mergeable.

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
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 user/giodl/clawhub-claws-feed branch from cba388a to 9e3e5be Compare July 22, 2026 22:30
@giodl73-repo

Copy link
Copy Markdown
Contributor Author

Restacked cleanly on corrected #3091. Exact signed head: 9e3e5be12614f3b0cac4622010dff4910fad5041. The final cumulative bridge proof passes 36/36 tests, including 7/7 cross-repository cases and real OpenClaw claws add --dry-run --json against #112773 head b5c2836155b88bd5a24571142c77a3c147c6b27c. Schema build, typecheck, lint, format, diff checks, and cumulative codex review --base origin/main are clean.

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
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 user/giodl/clawhub-claws-feed branch from 9e3e5be to a7e0b2d Compare July 23, 2026 04:22
@giodl73-repo

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
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 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper status: review started.

I am starting a fresh review of this pull request: Add gated Claw hosted feed and lifecycle proof This is item 1/1 in the current shard. Shard 7/22.

This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking.

Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted.

@giodl73-repo
giodl73-repo force-pushed the user/giodl/clawhub-claws-feed branch from a7e0b2d to 86c9f77 Compare July 23, 2026 21:38
@giodl73-repo

Copy link
Copy Markdown
Contributor Author

Restacked and upgraded the real bridge fixture to include CLAW.md plus profiles/openclaw.yml. The 7/7 cross-repo proof passes against OpenClaw #112773 head 20a3965f053: feed lookup, exact artifact integrity, safe extraction, sidecar validation/loading, and non-mutating add planning all succeed. Signed head 86c9f77f2f92.

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

@giodl73-repo
giodl73-repo force-pushed the user/giodl/clawhub-claws-feed branch from 86c9f77 to 5eb3295 Compare July 23, 2026 21:44
@giodl73-repo

Copy link
Copy Markdown
Contributor Author

Restacked onto current ClawHub main through #3091. This PR is now at signed head 5eb3295447df; 46/46 focused tests pass, including the real package-local profile bridge to OpenClaw #112773. @clawsweeper re-review

@giodl73-repo
giodl73-repo force-pushed the user/giodl/clawhub-claws-feed branch from 5eb3295 to 0c495a6 Compare July 24, 2026 00:01
@giodl73-repo

Copy link
Copy Markdown
Contributor Author

Restacked and revalidated at signed head 0c495a6c968d. The bridge now targets OpenClaw 8f7e1afa6ec8, proves the package-local profile through real claws add --dry-run, and encodes scoped package names as the canonical single artifact-route segment. Validation includes 40/40 focused feed/API/schema tests, 7/7 cross-repository tests, both typechecks, lint, formatting/diff checks, and a clean final Codex review.

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

@Patrick-Erichsen
Patrick-Erichsen force-pushed the user/giodl/clawhub-claws-feed branch from 0c495a6 to 544c781 Compare July 25, 2026 00:20
@Patrick-Erichsen
Patrick-Erichsen merged commit 5a3b050 into openclaw:main Jul 25, 2026
29 of 30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature: ✨ showcase ClawSweeper spotlight: unusually compelling feature idea for maintainer attention. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. merge-risk: 🚨 security-boundary 🚨 Merging this PR could weaken sandboxing, authorization, credentials, or sensitive data. P2 Normal backlog priority with limited blast radius. 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants