Skip to content
Projects

unicity-aos/capsule-react has 5,036 GitHub stars and 13 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-08 13:48 UTC. Last push 2026-07-09.

How these counts are measured

ReAct loop coordinator. Stateless state machine for reasoning-and-action cycle. Part of Unicity AOS.

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

astrid-capsule-react

License: MIT OR Apache-2.0 MSRV: 1.94

The ReAct loop coordinator for Astrid OS.

In the OS model, this capsule is the shell. It drives the reasoning-and-action cycle that makes an agent an agent: fetch context, think, act, observe, repeat.

State machine

Idle -> AwaitingIdentity -> AwaitingPromptBuild -> Streaming -> AwaitingTools -> Streaming -> ... -> Idle

The react loop contains no inference logic. It is pure control flow that coordinates five other capsules over the IPC event bus:

  1. Session - fetch conversation history, persist turn results
  2. Identity - build the system prompt from workspace config
  3. Prompt Builder - merge plugin contributions into the final prompt
  4. Provider (e.g. Anthropic) - stream LLM responses
  5. Tool Router - dispatch tool calls and collect results

What it does not do

This capsule does not call LLMs, execute tools, build prompts, or store messages. It orchestrates the capsules that do. Replacing this capsule with a different orchestration strategy (debate, MCTS, chain-of-verification) changes the agent's behaviour without touching any other capsule.

Persistence

Ephemeral per-turn state is stored in the capsule KV store:

  • react.turn.{session_id} - current turn state
  • react.req2sess.{request_id} - request-to-session correlation
  • react.call2sess.{call_id} - tool call-to-session correlation

This is control flow state, not conversation history. History lives in the session capsule.

Development

rustup target add wasm32-unknown-unknown
cargo build --target wasm32-unknown-unknown --release

License

Dual-licensed under MIT and Apache 2.0.

Copyright (c) 2025-2026 Joshua J. Bouw and Unicity Labs.

Explore related projects