Converge: Semantic Governance & Alignment
Converge is a vision for semantic governance. We move from fragmented intent to unified, converged states through a deterministic alignment engine. Our mission is to provide a stable foundation for complex decision-making where human authority and AI agency coexist in a transparent, explainable ecosystem.
Converge Remote
Converge Remote is a gRPC client that connects to converge-runtime for multi-actor, collaborative convergence. It implements the Converge Protocol for streaming facts and control messages.
Architecture
┌─────────────────────┐ ┌─────────────────────┐
│ converge-remote │ gRPC │ converge-runtime │
│ (this project) │◄───────►│ (server) │
└─────────────────────┘ Stream └─────────────────────┘
When to use converge-remote vs converge:
| App | Engine Location | Use Case |
|---|---|---|
converge |
In-process | Local dev, testing, single-user, offline |
converge-remote |
Server | Multi-actor, collaboration, persistence |
Installation
Or build from source:
Usage
Run a Job
# Connect to runtime and run a convergence job
# With seeds
# Stream facts as they arrive
# JSON output
Watch a Running Job
# Subscribe to job status updates
Inject Facts (Human-in-the-Loop)
# Add a fact to a running job
Control Commands
# Approve a pending proposal
# Reject with reason
# Pause/resume convergence
# Cancel a job
Query Capabilities
# Get server capabilities
Configuration
Set the server address via environment variable:
Or use a .env file:
CONVERGE_SERVER=grpc://production.converge.zone:50051
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Converged successfully |
| 1 | Halted (invariant violated) |
| 2 | Budget exhausted |
| 3 | Error (connection, system failure) |
Documentation
- Knowledgebase: See converge-business/knowledgebase/
- Cross-Platform Contract: See converge-business/knowledgebase/android-CROSS_PLATFORM_CONTRACT.md (Shared contract)
- Collaboration: See COLLABORATION.md
- For LLMs: See AGENTS.md
Proto Definitions
The gRPC services are defined in proto/converge.proto:
ContextService- Watch facts, append entries, control jobsJobService- Create, list, cancel jobsCapabilityService- Query server capabilities
Development
Running Tests
# Run all tests
# Run with verbose output
# Run integration tests (requires live runtime)
Code Coverage
# Install coverage tools
# Generate coverage report
# Generate and open in browser
Code Quality
# Format code
# Run linter
# Security audit
CI Pipeline
The CI pipeline runs automatically on push and PR:
| Check | Description |
|---|---|
| Code Quality | Clippy lints + Rustfmt formatting |
| Build | Debug + Release builds (stable + beta) |
| Tests + Coverage | 186+ tests with llvm-cov coverage |
| Documentation | rustdoc build with warnings as errors |
| Security Audit | cargo-audit for vulnerability scanning |
| Cross-platform | Build verification on Linux, macOS, Windows |
Related Projects
| Project | Purpose |
|---|---|
| converge-runtime | Server that runs the convergence engine |
| converge-application | Standalone CLI/TUI (in-process engine) |
| converge-core | Core convergence engine |
| converge-ios | iOS mobile client |
License
MIT License - see LICENSE for details.
Contributing
See CONTRIBUTING.md for guidelines.
Development Tools
This project is built with the help of modern AI-assisted development tools:
Agent Tooling (Examples)
This project supports a tool-agnostic agent workflow. Claude, Codex, Gemini, Cursor, and similar tools are optional frontends; the shared contract is visible task state, scoped changes, validation, and explicit handoffs.
- Claude Code - Example interactive coding agent
- Cursor - Example AI-powered IDE workflow
- Antigravity - Example AI pair-programming tool
- Frontier models (Claude / Gemini / others) - Use any provider that fits the task and team policy
Version Control & Task Tracking
- Jujutsu (jj) - Use jj on top of Git for day-to-day version control (commit/diff/rebase/undo)
- Task tracking (tool-agnostic) - Use GitHub Issues, Jira, Linear, or a repo-local
TASKS.md
# Quick workflow (agent-friendly)
# Update tracker or TASKS.md with status + handoff
Key Rust Crates
| Crate | Purpose |
|---|---|
tokio |
Async runtime |
axum |
HTTP framework |
serde / serde_json |
Serialization |
thiserror |
Error handling |
tracing |
Structured logging |
rayon |
Parallel computation |
proptest |
Property-based testing |
burn |
ML/deep learning (converge-llm) |
tonic / prost |
gRPC support |