Akmon, a Rust AI coding agent for regulated engineering
AI Coding ToolsA tamper‑evident evidence and verification layer for AI agents that turns OpenTelemetry sessions into portable, cryptographically signed records verifiable offline with standard tools like openssl
Features
- Converts OpenTelemetry traces from any AI agent into immutable, content‑addressed session bundles
- Provides Ed25519 signing and attestation commands to bind a session to an accountable operator
- Includes a tiny standalone verifier (agef‑verify) and an openssl‑based proof generator for auditors who cannot install the full CLI
- Supports key generation, bundle export/import, inspection, diffing, redaction, auditing, policy checking, and self‑diagnosis utilities
Recent releases
View all 22 releases →Import OTLP, Ed25519 keys, operator attestation
- v2.0.0 can read sessions written by v1.8.x, but sessions created by v2.0.0 use the AGEF v0.1.1 schema and must not be downgraded to v1.8.x without verification.
- No CLI flag breaks; existing scripts using `akmon run`, `audit`, `evidence`, `slo`, and `doctor` continue unchanged.
- `akmon diff` – structural and field‑level comparison between recorded sessions with optional byte‑level `--resolve` diff
- `akmon replay` – deterministic re‑execution of sessions against playback providers in strict or default modes
- `akmon bundle` – portable AGEF v0.1.1 session archives for evidence sharing
Full changelog
Release notes: v2.0.0
Why this release
Akmon v2.0.0 is the production-ready release positioning Akmon as the review-aware AI coding agent for regulated engineering. Every session is now a tamper-evident, content-addressed, replayable artifact suitable for audit, compliance evidence, and post-incident review.
Top user-facing wins
akmon diff: structural and field-level comparison between two recorded sessions, with optional--resolvefor byte-level content diffs.akmon replay: deterministic re-execution of recorded sessions against playback providers and tools, with strict and default comparison modes.akmon bundle: portable AGEF v0.1.1 session archives for evidence sharing across environments.akmon redact: compliance-driven content removal producing derivative bundles with sentinel objects.- AGEF v0.1.1: Akmon is the reference implementation. Bundle format and session evidence structure are now spec-stable for downstream tooling.
Upgrade notes
v2.0.0 reads sessions written by v1.8.x. Sessions written by v2.0.0 may use the AGEF v0.1.1 schema and should not be downgraded to v1.8.x without verification.
No CLI flag breaks; existing scripts targeting akmon run, akmon audit, akmon evidence, akmon slo, and akmon doctor continue to work unchanged.
Verification checklist
# Confirm install
akmon --version # should report 2.0.0
# Verify a clean session round-trip
akmon --yes --task "echo hello" --output json | tee run.json
akmon audit verify .akmon/audit/<session-id>.jsonl
akmon evidence verify .akmon/evidence/<session-id>.json
# Try the new diff command
akmon diff <session-a> <session-b>
Docs links
Full Changelog: https://github.com/radotsvetkov/akmon/compare/v1.8.2...v2.0.0
- No routing or CLI semantics changes; this release adds diagnostics only.
- Pair `config explain-provider` (why a branch won) with `doctor providers` (keys, endpoints, reachability).
- Deterministic `ProviderResolutionTrace` structured output (`selected_provider`, `selected_reason`, `model_id`, ordered `candidates[]` with eligibility, reasons, missing prerequisites, priority order).
- `akmon config explain-provider` command to print the trace in terminal or JSON.
- `akmon doctor providers` now includes the same `provider_resolution` block in text and JSON.
Full changelog
Release notes: v1.8.2
Why this release
v1.8.2 is an operability and trust release: provider routing is fully explainable and diagnosable without changing resolver behavior. Introspection mirrors LlmConnectConfig::resolve() deterministically; no routing algorithm changes.
Top user-facing wins
- Deterministic
ProviderResolutionTrace— structured trace (selected_provider,selected_reason,model_id, orderedcandidates[]witheligible,reason,missing_prerequisites,priority_order) matching the real resolver priority. Secrets are never echoed; only named prerequisites. akmon config explain-provider— print the trace in the terminal or as JSON (--jsononconfig, or global--output json).akmon doctor providers— includes the sameprovider_resolutionblock in text and JSON alongside existing health checks.- Headless
--output json— run summary JSON includes additiveprovider_resolutionfor automation (same schema as above).
Upgrade notes
- No routing or CLI semantics changes for provider selection; this release adds diagnostics only.
- Pair
config explain-provider(why this branch won) withdoctor providers(keys, endpoints, reachability).
Verification checklist
akmon config explain-provider
akmon config explain-provider --json
akmon doctor providers
akmon --output json doctor providers
# After a headless run with --output json, inspect provider_resolution on stdout
Docs links
Full Changelog: https://github.com/radotsvetkov/akmon/compare/v1.8.1...v1.8.2
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.