feat: add the experimental native ECS runtime (rig-ecs) - #2198
Open
gold-silver-copper wants to merge 1 commit into
Open
feat: add the experimental native ECS runtime (rig-ecs)#2198gold-silver-copper wants to merge 1 commit into
gold-silver-copper wants to merge 1 commit into
Conversation
gold-silver-copper
force-pushed
the
split/core-agent
branch
from
July 21, 2026 21:46
5d948df to
eb01afb
Compare
gold-silver-copper
force-pushed
the
split/ecs-runtime
branch
from
July 21, 2026 21:46
fe3a46e to
ee70a89
Compare
gold-silver-copper
force-pushed
the
split/core-agent
branch
from
July 21, 2026 22:22
eb01afb to
3e267f0
Compare
gold-silver-copper
force-pushed
the
split/ecs-runtime
branch
from
July 21, 2026 22:28
ee70a89 to
5e0b1d0
Compare
gold-silver-copper
force-pushed
the
split/core-agent
branch
from
July 22, 2026 02:40
3e267f0 to
a21c53c
Compare
gold-silver-copper
force-pushed
the
split/ecs-runtime
branch
from
July 22, 2026 02:46
5e0b1d0 to
5838945
Compare
gold-silver-copper
force-pushed
the
split/core-agent
branch
2 times, most recently
from
July 22, 2026 15:04
22423f0 to
94b07b2
Compare
gold-silver-copper
force-pushed
the
split/ecs-runtime
branch
from
July 22, 2026 15:05
5838945 to
0a97b3f
Compare
gold-silver-copper
force-pushed
the
split/core-agent
branch
from
July 22, 2026 17:03
94b07b2 to
d1c0d5d
Compare
gold-silver-copper
force-pushed
the
split/ecs-runtime
branch
4 times, most recently
from
July 22, 2026 22:13
5162980 to
6a56d3d
Compare
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.
gold-silver-copper
force-pushed
the
split/ecs-runtime
branch
from
July 23, 2026 00:39
6a56d3d to
c0e2252
Compare
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.
Summary
Adds
rig-ecs, an experimental, native-only ECS-based agent runtime builton the third-party
bevy_ecsengine. Opt in with theecsfeature and use itthrough
rig::ecs; the classic runtime remains the default.Design
provider/tool/memory work is modeled as owned effects that re-enter through
validated ingress (generation + correlation + authorization checks).
EcsClientExt::ecs_agent, distinct from the classicCompletionClient::agent, so both runtimes can be used together withoutmethod collisions.
rig-ecsdepends only onrig-core(neverrig-agent); the dependency-graphguard enforces it. The shared
rig-runtime-conformanceledger holds bothruntimes to the same observable behavior.
Notes
compile_error!s on wasm and is absent from the facadewasmfeature; it is not in
defaultfeatures.