Skip to content

Akmon, a Rust AI coding agent for regulated engineering

AI Coding Tools

A 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

Rust Latest v2.2.1 · 16d ago Security brief →

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 →
Upgrade now
v2.2.1 Breaking risk
Dependencies RCE / SSRF

Security hardening

Review required
v2.2.0 New feature
Auth RBAC Crypto / TLS

Import OTLP, Ed25519 keys, operator attestation

No immediate action
v2.1.0 Mixed

Resume, crash fix, validation

v2.0.0 New feature
⚠ Upgrade required
  • 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.
Notable features
  • `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 --resolve for 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

v1.8.2 New feature
⚠ Upgrade required
  • 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).
Notable features
  • 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

  1. Deterministic ProviderResolutionTrace — structured trace (selected_provider, selected_reason, model_id, ordered candidates[] with eligible, reason, missing_prerequisites, priority_order) matching the real resolver priority. Secrets are never echoed; only named prerequisites.
  2. akmon config explain-provider — print the trace in the terminal or as JSON (--json on config, or global --output json).
  3. akmon doctor providers — includes the same provider_resolution block in text and JSON alongside existing health checks.
  4. Headless --output json — run summary JSON includes additive provider_resolution for 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) with doctor 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.

About

Stars
30
Forks
6
Languages
Rust HTML C++

Install & Platforms

Install via
brew binary cargo
Platforms
linux macos

Beta — feedback welcome: [email protected]