Skip to content

v2.0.0 - The Steward Architecture

Choose a tag to compare

@cargopete cargopete released this 18 Mar 14:48
· 25 commits to main since this release

The Steward Architecture

v2.0.0 introduces agents as stewards of long-lived systems — autonomous agents that own a domain, maintain it over time, react to change, coordinate with other stewards, and survive crashes.

Highlights

  • Persistent Beliefs: @persistent annotation for agent fields that survive restarts
  • Supervision Trees: OTP-style restart strategies (OneForOne, OneForAll, RestForOne)
  • Session Types: Compile-time verified communication protocols
  • Effect Handlers: Per-agent LLM configuration
  • Observability: trace() and span blocks with OTLP export
  • Built-in Tools: HTTP, Database, Filesystem, Shell with capability-based access

Example

agent Counter {
    @persistent count: Int

    on waking {
        trace("Restored at {self.count.get()}");
    }

    on start {
        self.count.set(self.count.get() + 1);
        yield(self.count.get());
    }
}

supervisor App {
    strategy: OneForOne
    children {
        Counter { restart: Permanent, count: 0 }
    }
}

run App;

Performance

Metric Target Measured
Startup (check) < 100ms ~10ms
Checkpoint latency < 10ms < 1ms
Restart latency < 50ms ~1ms

Documentation

See the full changelog for details.