Multi-agent verification orchestration -- LLMs propose, formal tools prove, every change is machine-checked
Project description
kairos
Multi-agent verification orchestration for hardware and software.
LLMs can propose RTL optimizations, but they cannot prove those optimizations are correct. A single model call that claims "area reduced by 12%" has no way to guarantee functional equivalence with the original design. Kairos closes that gap: it orchestrates specialized agents (proposer, reviewer, counterexample analyst) through formal verification tools (EBMC, yosys, Lean) in a closed loop where every proposed change is machine-checked before acceptance.
kairos optimize block.sv runs a multi-agent loop: the proposer generates candidates, EBMC k-induction proves functional equivalence, yosys measures the real area delta, and the reviewer challenges the result. What ships is not what the LLM said works -- it is what the formal tools proved correct.
Kairos is a CLI and MCP server. Connect it to Claude Code, Kiro, or Cursor, and your agent gets 40+ verification tools that return machine-checked results, not LLM opinions.
Why agents need guardrails
Every agent in the kairos loop has a different role and a different incentive. The proposer optimizes, the reviewer challenges, the counterexample analyst actively tries to break the proposal. Only changes that survive all three reach formal verification. And formal verification is not simulation or testing -- it is mathematical proof over all possible inputs.
The guardrail stack:
- Pre-verification gates reject bad proposals before they reach formal tools: structural gate (cell count must decrease), toggle power gate (no >20% power regression)
- Bounded model checking (EBMC) proves properties hold for all states up to depth k
- Equivalence checking (yosys) proves the optimized netlist matches the original
- Counterexample generation refutes invalid proposals with concrete failing traces
- Trust boundary separates LLM-touching code from certificate generation (AST-lint enforced)
- Block memory tracks refuted approaches so agents cannot re-propose known failures
- Certificate chain with sha256 provenance from source through proof to output
Focus areas
| Domain | Verification engine | What kairos checks |
|---|---|---|
| General software | mypy, hypothesis, CrossHair, mutmut | Types, properties, symbolic contracts, mutation testing |
| Chip design (RTL) | EBMC, yosys | Equivalence, safety properties, area/power optimization |
| Accelerator kernels | NKI runtime, Lean 4 | Custom kernel correctness, formal proof gate |
| Networking protocols | EBMC, z3 | Congestion control properties (BBR, CUBIC, Reno convergence) |
| Theorem proving | Lean 4 | Proof verification, sorry closure, axiom auditing |
| Authorization policy | Cedar | permit/forbid policy correctness |
Kairos is built by kairos. We use our own verification and anti-hallucination tools to develop, test, and ship kairos itself. Every bug found by kairos repair --review on our own codebase makes the tool stronger.
Quick start
pip install
pip install athanor-sdk # imports as: kairos
pip install athanor-sdk[types] # adds mypy for Python type checking
kairos setup # zero-config wizard
kairos doctor # verify your environment
# Verify any codebase
kairos verify block.sv # chip design (RTL)
kairos verify kernel.py # accelerator kernel
kairos verify src/ # Python (types + properties + mutation)
kairos repair --review . # find bugs across the whole project
Docker (includes all verification engines)
docker pull ghcr.io/athanor-ai/kairos:latest
docker run --rm -v $PWD:/work ghcr.io/athanor-ai/kairos:latest verify /work/block.sv
docker run --rm -v $PWD:/work ghcr.io/athanor-ai/kairos:latest verify /work/train.py
docker run --rm -e ANTHROPIC_API_KEY -v $PWD:/work ghcr.io/athanor-ai/kairos:latest optimize /work/block.sv
The Docker image includes yosys, EBMC, verilator, and all other engines. No additional installs needed.
Commands
design -- create RTL from natural language
kairos design "8-entry FIFO with sync reset" # spec + architecture + RTL
kairos design --spec fifo_spec.sv # skip spec-gen, start from SVA
kairos design "pipelined ALU" --output ./alu/ # custom output directory
optimize -- area/power reduction with formal proof
kairos optimize block.sv # propose + verify + measure
kairos optimize block.sv --estimate-only # preview strategies + cost, no LLM
kairos optimize block.sv --compound 5 # 5 iterative rounds
kairos optimize block.sv --liberty cells.lib # technology-mapped cell counts
kairos optimize block.sv --local-only # zero network except LLM API
kairos optimize kernel.py # auto-detects NKI kernels
verify -- auto-detect domain, multi-layer checking
kairos verify block.sv # RTL: yosys + EBMC bounded model check
kairos verify src/ # directory: walks all files
kairos verify my_cca.py # Python CCA: telos + types + mutation (auto-detected)
kairos verify proof.lean # Lean: lake build + sorry check
Auto-detects the verification domain from file content, not just extension. A Python file with networking patterns (cwnd, ssthresh, pacing_rate) gets telos protocol verification THEN Python type checking and mutation testing -- stacked, not either/or.
repair -- find + fix + verify
kairos repair block.sv # detect issues, propose fixes, verify
kairos repair --review block.sv # diagnose only, no changes
kairos repair --focus security src/ # focus on security findings
explore -- fork and compare design variants
kairos explore block.sv # architecture exploration
kairos explore block.sv --fork area timing power # parallel variant comparison
doctor -- environment health check
kairos doctor # check deps, license, engines, models
kairos doctor --json # machine-readable output
setup -- first-run configuration
kairos setup # interactive wizard
How it works
- Propose: LLM generates optimization candidates (local or cloud)
- Verify: EBMC k-induction proves functional equivalence
- Measure: yosys synthesis confirms real area reduction
- Report: honest verdict with claim verification
Every measurement from a tool, not an LLM estimate. Area from yosys synthesis, equivalence from EBMC, timing from OpenSTA (when .lib provided).
Configuration (kairos.yaml)
Drop a kairos.yaml in your project root:
model: claude-sonnet-4-6
methodology:
verification:
require_equivalence_proof: true
minimum_bound_k: 10
certificate:
require_all_properties_proved: true
agents:
reviewer:
enabled: true
severity_threshold: medium
Precedence: CLI flags > kairos.yaml > environment variables > defaults.
Agent integration (MCP)
{
"mcpServers": {
"kairos": {
"command": "kairos",
"args": ["mcp", "serve"]
}
}
}
Works with Claude Code, Kiro, Cursor, and any MCP-compatible IDE. 41 tools available including kairos_optimize, kairos_verify, kairos_repair, kairos_explore, and kairos_doctor.
Local-only mode
kairos optimize block.sv --local-only
kairos optimize block.sv --proposer-backend local # RTL never leaves machine
No trace upload, no telemetry. Only the LLM API call leaves your machine.
Use --proposer-backend local with ollama/vLLM for full air-gapped operation.
Requirements
- Python 3.10+
kairos setupinstalls everything else
Optional extras:
pip install athanor-sdk[types]: mypy for Python type checking layerpip install athanor-sdk[verify]: CrossHair for symbolic contract checkingpip install athanor-sdk[mcp]: MCP server for IDE integration
Optional engines (for full verification):
- yosys + EBMC (hardware equivalence)
- Lean 4 (theorem proving)
- OpenSTA (timing analysis, requires Liberty .lib)
Run kairos doctor to check your setup.
Documentation
In Docker: see /opt/kairos-docs/ for bundled guides.
- Getting Started (
getting-started.md) - Installation Guide (
installation.md) - Enterprise RTL Quickstart (
enterprise-rtl-quickstart.md)
License
Commercial license required for production use. Free evaluation available. Visit athanor-ai.com for access.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file athanor_sdk-0.8.7.tar.gz.
File metadata
- Download URL: athanor_sdk-0.8.7.tar.gz
- Upload date:
- Size: 1.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbb2b41a3765e40d4b817d88b282838c7a29512ef479a72b4e965d15ef8bf71f
|
|
| MD5 |
4b4dcd65520b0b52cd1ab68fe3a981b2
|
|
| BLAKE2b-256 |
0d9516cc9f2de8866167d2a2f51e11d8d9219c104b86c605dadabd0fe965f6e8
|
File details
Details for the file athanor_sdk-0.8.7-py3-none-any.whl.
File metadata
- Download URL: athanor_sdk-0.8.7-py3-none-any.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bca1d6e21b37779ed963dfae4091c1a98e9737a1f1ef044b444edcec6adc4e19
|
|
| MD5 |
0c1251db53af7a2db789948aa67fcf18
|
|
| BLAKE2b-256 |
45d6e7188d8ab1ffc01d5365a31e9244ea093e9a65ec915d779816a4bb9183ee
|