Product

INFRASTRUCTURE FOR AGENT HEALTH.

Elixir sits beside your AI workforce and answers one question well: this agent says something is wrong — is it, and what should be done about it? It receives the incident, identifies the durable protected agent, observes approved runtime state, collects evidence, diagnoses with a provider you configured, attempts only authorized remediation, refuses unnecessary work, verifies the result independently, and returns a canonical recovery result.

Durable agent identity

An Elixir Agent ID is issued once and never reused. One logical agent keeps one identity — and one history — through changes of host, runtime, worker, provider, repository and name.

Read-only observation

Runtime adapters read service state, health and repository state. None of them can start, stop or restart anything: there is no write path in an observation adapter.

Bounded treatment

A repair runs only where a capability a human wrote down permits it, inside limits on turns, tool calls, transcript size, wall clock and daily spend.

Refusal as an outcome

If the evidence does not support treatment, Elixir changes nothing and records why. That is a completed run, and one of the two cases every certified executor must pass.

Independent verification

The session does not grade itself. Elixir re-runs what the session claims passed, judged by an oracle the provider did not control.

Provider neutrality

Two proven executors, eight more implemented. The provider supplies reasoning; Elixir supplies the recovery system, and never silently swaps one provider for another.

An incident, end to end

WHAT HAPPENS AFTER AN AGENT ASKS FOR HELP

The pathtext
AI agent
   │  reports an incident
   ▼
Elixir MCP  ─or─  Public incident API
   │  authenticated; holds no treatment authority
   ▼
Identify the durable protected agent
   │  agt_… — issued, never derived
   ▼
Observe approved runtime state
   │  read-only
   ▼
Collect evidence, with provenance
   ▼
Diagnose  (your configured provider)
   ▼
Repair  ─or─  Refuse
   │  bounded by written capability
   ▼
Verify independently
   │  the provider does not grade itself
   ▼
Canonical recovery result

Incident states

queued
Accepted, not yet worked
diagnosing
A session is running
needs approval
A human gate is open
completed
Verification accepted it
refused
No repair required
blocked
Cannot proceed; a person must look

Who it is for

TEAMS RUNNING AGENTS THAT HAVE TO KEEP RUNNING

Elixir earns its place when an agent is persistent, does real work, and failing quietly is expensive.

Coding agents

Long-running agents on real repositories, where a broken dependency or a drifted config stops work until someone notices.

Operations fleets

Supervised processes across hosts, where "the service says it is healthy" and "the service is healthy" are not the same claim.

Customer-facing agents

Where a silent failure is not an inconvenience but a queue of unanswered people.

Research and data agents

Long pipelines where a failure at hour two is discovered at hour nine.

Scope

WHAT ELIXIR IS NOT

  • Not an agent framework

    It does not build or run your agents. It recovers the ones you already have.

  • Not a model provider

    It has no model of its own and resells no tokens. You bring the provider.

  • Not an APM or a log aggregator

    It observes what a runtime adapter is permitted to read, for the purpose of diagnosis — it is not a metrics pipeline.

  • Not a hosted service

    Elixir is self-hosted. There is no control plane, and no credential of yours reaches AgentDoctorMD.

  • Not an approval authority for itself

    It cannot grant itself a permission, and neither can any interface it exposes.

Install ElixirSee the recovery loop