A Atenea orchestration core
GitHub

Atenea documentation

Recovery pilot

On this page

Recovery pilot#

atenea recovery pilot --fixture --root PATH --sentinel PATH --json runs the deterministic P10 harness. It requires a pre-existing sentinel outside the disposable root, records every attempt before a possible retry, and reports the requested and observed model, route, backend, budget, duration and retry reason. Fixture evidence is never presented as a real provider result.

Automatic recovery is deliberately narrow. It retries at most 1 + MaxRetries attempts, only for unavailable or timeout, and reuses the exact route, backend and model. Invalid input, permission, budget, unknown cost, writes, external effects, operations and cancellation stop without a model fallback. The pilot is read-only and does not start a real provider. Its fixture starts the existing supervisor stdio seam and invokes the existing Kivgraph index --full --json adapter against disposable fake processes. A zero index count is rejected and never reported as success.

Kivgraph rebuilds remain full rebuilds and require explicit or standing authorization. recoverypilot.RebuildCoordinator supplies the provider-neutral lock: concurrent requests for one generation coalesce, a different generation cannot write while it is active, and only a positive index count publishes the generation. The fixture also proves unauthorized, duplicate/coalesced and canceled index calls do not write. This is fixture evidence for the seams, not certification of a live supervisor or Kivgraph installation. No real recovery gate is run by the ordinary Go test suite.