# Converge Core
A correctness-first, context-driven multi-agent runtime library.
## Overview
Converge Core provides the foundational runtime for building systems where:
- **Context is the API** — Agents collaborate through shared data, not direct calls
- **Convergence is mandatory** — Execution proceeds until a fixed point is reached
- **Correctness over availability** — Wrong answers are worse than no answers
## Core Concepts
### Context
The shared, typed, evolving state of a job. Context is append-only in meaning and provides the only communication channel between agents.
### Agents
Capabilities that read context and emit effects. Agents never call each other directly—all communication happens through context.
### Engine
The convergence loop that coordinates agents, merges effects, and detects when execution has reached a fixed point.
### Convergence
Execution halts when the context reaches a stable state (no new facts are added in a cycle).
## Quick Start
```rust
use converge_core::{Engine, Context, ContextKey};
use converge_core::agents::{SeedAgent, ReactOnceAgent};
// Create engine and register agents
let mut engine = Engine::new();
engine.register(SeedAgent::new("seed-1", "initial data"));
engine.register(ReactOnceAgent::new("hyp-1", "derived insight"));
// Run until convergence
let result = engine.run(Context::new()).expect("should converge");
// Inspect results
assert!(result.converged);
assert!(result.context.has(ContextKey::Seeds));
println!("Converged in {} cycles", result.cycles);
```
## Public API
### Core Types
- [`Engine`] — The convergence runtime
- [`Context`] — Shared job state
- [`Agent`] — Agent trait for implementing capabilities
- [`AgentEffect`] — Buffered output from agents
- [`Fact`] — Typed facts added to context
- [`ProposedFact`] — LLM suggestions requiring validation
### Guarantees
- **Determinism**: Same input → same output
- **Termination**: Budgets prevent infinite loops
- **Isolation**: Agents never call each other
- **Auditability**: All changes are traceable
## Documentation
For detailed API documentation, see [docs.rs/converge-core](https://docs.rs/converge-core).
For high-level architecture and design principles, see the [public documentation](../docs/public/).
## License
MIT