Skip to content

feat: add the experimental native ECS runtime (rig-ecs) - #2198

Open
gold-silver-copper wants to merge 1 commit into
split/core-agentfrom
split/ecs-runtime
Open

feat: add the experimental native ECS runtime (rig-ecs)#2198
gold-silver-copper wants to merge 1 commit into
split/core-agentfrom
split/ecs-runtime

Conversation

@gold-silver-copper

Copy link
Copy Markdown
Contributor

Summary

Adds rig-ecs, an experimental, native-only ECS-based agent runtime built
on the third-party bevy_ecs engine. Opt in with the ecs feature and use it
through rig::ecs; the classic runtime remains the default.

Stacked PR. This targets split/core-agent (#2197), not main. Merge
after #2197. The diff shown here is only the ECS layer.

Design

  • The ECS world is authoritative for agent topology and run progression;
    provider/tool/memory work is modeled as owned effects that re-enter through
    validated ingress (generation + correlation + authorization checks).
  • Construction uses EcsClientExt::ecs_agent, distinct from the classic
    CompletionClient::agent, so both runtimes can be used together without
    method collisions.
  • rig-ecs depends only on rig-core (never rig-agent); the dependency-graph
    guard enforces it. The shared rig-runtime-conformance ledger holds both
    runtimes to the same observable behavior.

Notes

  • Native-only: it compile_error!s on wasm and is absent from the facade wasm
    feature; it is not in default features.

Stacked on the rig-core/rig-agent split. Adds `rig-ecs`, an experimental,
native-only ECS-based agent runtime built on the third-party `bevy_ecs` engine.
Opt in with the `ecs` feature and use it through `rig::ecs`; the classic runtime
remains the default.

The ECS world is authoritative for agent topology and run progression;
provider, tool, and memory work is modeled as owned effects that re-enter
through validated ingress. Construction uses `EcsClientExt::ecs_agent`, distinct
from the classic `CompletionClient::agent`, so both runtimes can be used
together without method collisions. The shared `rig-runtime-conformance` ledger
holds both runtimes to the same observable behavior.

This runtime depends only on `rig-core`, not on `rig-agent`, so the classic and
ECS runtimes stay independent.
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