Repository navigation
docs: where extensions run — local machine, VM, Cloudflare Worker - #325
Merged
Merged
Conversation
The extensions page gains a "Where extensions run" section: Rust extensions (yours, Budget) and decision models run everywhere the loop does, Workers included (tests/wasm32.rs runs an extension over a whole run); built-in tools, stdio MCP and yoagent-rutis plugins need an operating system (a plugin runtime is a process a Worker cannot start). A VM is a local machine as far as yoagent is concerned. The Workers guide's availability table gains the same row and links to it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T7iq5hpndSiHQcnAsywKuG
yuanhao
added a commit
that referenced
this pull request
Oct 16, 2026
Not because a Worker cannot start a plugin process — yoagent-rutis can reach remote runtimes over wss (its websocket feature) without starting one — but because the crate does not build for wasm32 (rutis's host needs Tokio's networking: mio refuses the target), remote runtimes included. Found by the fact-check of #325. Claude-Session: https://claude.ai/code/session_01T7iq5hpndSiHQcnAsywKuG Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The docs explained the
Extensioncontract and, separately, what builds for wasm32. They never said which extensions survive the move to a Cloudflare Worker. A reader could not tell that Rust extensions and decision models work there while yoagent-rutis plugins do not.What
docs/concepts/extensions.mdgains a section, "Where extensions run". It compares a local machine or VM with a Cloudflare Worker for:Extensions written in Rust (your own,Budget): both;ToolGate,InputGuard, the advisor): both, over HTTP or theyoagent-workersbinding;It says a VM is a local machine as far as yoagent is concerned, and how to build an agent meant for a Worker.
docs/guides/wasm-workers.md's "What is available" table gains the same row, extensions in the left column and yoagent-rutis plugins in the right, and links to the new section.Evidence for "extensions work in a Worker":
tests/wasm32.rsruns an extension that gates and observes a whole run, in the wasm32 CI job.Not included, on purpose: the capability and registry design for apps (which extension provides a capability per target, with a run kept all local or all cloud). That design is in the private yo repo and is not built; these docs describe what exists.
🤖 Generated with Claude Code
https://claude.ai/code/session_01T7iq5hpndSiHQcnAsywKuG