autonomy explain decision

Print a single decision’s full triage block — WAL-first, HTTP runtime as fallback

Synopsis

Reads one decision's audit_id-keyed record and prints a triage block
naming the outcome, reason, policy reference, tool, and the source the
record came from (WAL or live runtime).

Source of truth: the WAL by default. `autonomy run` and `demo openclaw` shut their in-process runtimes down on
subprocess exit, so by the time you type `autonomy explain decision`
after seeing a DENY the HTTP endpoint is usually gone. The WAL is the
durable artifact this command targets first.

Lookup order:
  1. WAL (primary)              read --dir / AUTONOMY_RUN_WAL_DIR / default
                                XDG_CACHE_HOME/autonomyops/telemetry
  2. HTTP runtime (fallback)    --runtime or AUTONOMY_RUNTIME_URL — calls
                                GET /v1/audit/<audit_id> on the live runtime

The WAL primary path makes no HTTP call. Pass --runtime to force the
HTTP fallback (e.g. orchestrator scenarios, long-running runtime from a
second terminal).

Argument:
  <audit_id>   look up the named audit_id
  latest       resolve to the most recent autonomy.decision WAL frame
               (WAL-only; not supported with --runtime)

Exit codes:
  0  decision found + printed
  1  argument / flag misuse
  2  audit_id not found (WAL missed and no runtime fallback configured,
     OR the runtime endpoint returned 404)

Examples:
  autonomy explain decision 2d9bc611-51a7-4c5e-9416-db5bd1fa36ad
  autonomy explain decision latest --dir /tmp/autonomyops-XXXX/telemetry
  autonomy explain decision <audit_id> --runtime --runtime-url http://127.0.0.1:7777
  autonomy explain decision latest --output json | jq .

Usage

autonomy explain decision <audit_id|latest> [flags]

Options

      --dir string           WAL directory (default: $AUTONOMY_RUN_WAL_DIR or XDG_CACHE_HOME/autonomyops/telemetry)
      --output string        output format: text | json (default "text")
      --runtime              force HTTP runtime path (GET /v1/audit/<audit_id>); skip WAL primary
      --runtime-url string   runtime endpoint (default: $AUTONOMY_RUNTIME_URL or http://127.0.0.1:7777)

Options inherited from parent commands

      --require-signed-manifest   Refuse to start if the SHA256SUMS release manifest or its cosign signature is missing/invalid (Tier 2 binary-integrity check; default: build-time compile-in via -ldflags -X, build-hardened artifacts=true, all others=false)

See also