Skip to content

Handoff agent: README with the stack, plugins by ecosystem, and measured performance - #296

Merged
yuanhao merged 1 commit into
mainfrom
docs/handoff-readme
Oct 11, 2026
Merged

yuanhao merged 1 commit into
mainfrom
docs/handoff-readme

Conversation

@yuanhao

@yuanhao yuanhao commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator

A README for the handoff agent example, integrations/yoagent-frontend/examples/README.md, linked from the frontend README:

  • The idea: questions that wait, a gate for the owner's files, a checked report plus host facts, a page that replays.
  • The stack: one Rust process (yoagent loop, yoagent-rutis bridge, yoagent-frontend session and web server) and three rutis Node runtimes (ui, pi, dsh), with a diagram.
  • Plugins by ecosystem: pi's @juicesharp/rpiv-todo and DSH's dsh-free-search (with DSH's core packages) are used unchanged from npm. Ours are the pi-format approval gate, the UI plugin, the adapters, and the Rust tool and extension.
  • How a tool call travels through the bridge and the pi policy.
  • Measured performance and memory, and the cost model.

The example now prints plugins ready in … at start, and in --demo the time of each tool call, so anyone can re-measure.

Measured (2026-10-11, Apple M2 16 GB, release build, DeepSeek)

Startup to plugins ready 1.7–2.3 s with 3 Node runtimes; 1.5–1.7 s with --no-dsh; ~9 s on the first run after boot
A tool call through the loop, including the trip to the pi policy in Node write_file 0.7 ms · todo 1.3–6 ms · ask_owner 2–2.5 ms · list_files ~10 ms (spawns find)
Live research run 30.5 s wall: model 15.7 s over 6 requests, web searches 2.7–6.7 s each, the agent's own tool calls 1.7–3.6 ms
Memory Rust process 21 MB; each Node runtime 137–244 MB

The loop's cost is milliseconds per call, against seconds per model request or web search: about 0.1% of that run. Most memory is the Node runtimes, which are the cost of running other ecosystems' plugins unchanged.

🤖 Generated with Claude Code

https://claude.ai/code/session_01T7iq5hpndSiHQcnAsywKuG

…ured performance

examples/README.md:
- The idea: questions that wait, a gate for the owner's files, a report
  checked and completed with facts, a page that replays.
- The stack: one Rust process (yoagent loop, yoagent-rutis bridge,
  yoagent-frontend session and web server) and three rutis Node runtimes
  (ui, pi, dsh).
- The plugins by ecosystem: pi's @juicesharp/rpiv-todo and DSH's
  dsh-free-search unchanged from npm; our pi-format approval gate, UI
  plugin and adapters; the Rust tool and extension.
- How a tool call travels, and measured performance (M2, release build):
  startup 1.5–2.3 s warm, a tool call 0.7–6 ms including the trip to the
  pi policy in Node, a live research run 30.5 s of which the model 15.7 s
  and web searches 2.7–6.7 s each, the Rust process 21 MB and each Node
  runtime 137–244 MB.

The example prints "plugins ready in …" at start, and each tool call's
time in --demo, so anyone can re-measure.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T7iq5hpndSiHQcnAsywKuG
@yuanhao
yuanhao merged commit fbfc99e into main Oct 11, 2026
17 checks passed
@yuanhao
yuanhao deleted the docs/handoff-readme branch October 11, 2026 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant