Skip to content

feat(yoagent-rutis): move to rutis 0.6 - #240

Open
yuanhao wants to merge 2 commits into
mainfrom
feat/rutis-0.6
Open

yuanhao wants to merge 2 commits into
mainfrom
feat/rutis-0.6

Conversation

@yuanhao

@yuanhao yuanhao commented Oct 6, 2026

Copy link
Copy Markdown
Collaborator

Moves the unpublished yoagent-rutis bridge from rutis 0.5 to 0.6 (rutis = "0.6", resolved to 0.6.1).

What changed upstream:

  • 0.5 → 0.6: public types became #[non_exhaustive]. "Services, events and plugin interfaces unchanged."
  • 0.6.0 → 0.6.1: no breaking change to the core. It adds optional APIs: boxed plugins, Ctx::dispose_self, FiberView::set_config, and a ServiceChanged bus event. The plugin control plane (rutis-loader) ships as a separate crate.

What changed here:

  • No source change in the bridge.
  • One test builds EventOptions with EventOptions::default().prepend(true) instead of a struct literal.
  • Version references are updated in Cargo.toml, lib.rs, the README, the CI comment, CLAUDE.md and the CHANGELOG.
  • The bridge's liveness checks before and after dispatch (host::closed) stay. I diffed rutis's waterfall dispatch between 0.5.0 and 0.6.1: it's byte-identical and still doesn't check liveness. The comments now say "0.5 and 0.6".

Checked locally:

  • fmt, clippy -Dwarnings, docs -Dwarnings;
  • all 7 test binaries;
  • the policy_plugin example (the rate cap and deny rule behave the same);
  • the MSRV 1.86 check, mirroring CI's job including its yoke-derive pin.

A fresh review of the whole integration, and an assessment of rutis for native and Workers, are running separately. Their findings will come in follow-ups.

🤖 Generated with Claude Code

https://claude.ai/code/session_01T7iq5hpndSiHQcnAsywKuG

yuanhao and others added 2 commits October 6, 2026 10:20
rutis 0.6 only marks public types #[non_exhaustive]; 0.6.1 adds optional
APIs (boxed plugins, dispose_self, set_config, ServiceChanged). The bridge
needs no source change: one test builds EventOptions with
EventOptions::default().prepend(true). Waterfall dispatch is byte-identical
in 0.6.1 and still has no liveness preflight, so host::closed stays.
Version references updated (0.5 and 0.6 where behaviour is shared).
Checked: clippy, docs, tests (7 binaries), the example, and MSRV 1.86 with
CI's yoke-derive pin.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T7iq5hpndSiHQcnAsywKuG
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T7iq5hpndSiHQcnAsywKuG

This branch has not been deployed

No deployments
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