Documentation Index
Fetch the complete documentation index at: https://docs.altheia.xyz/llms.txt
Use this file to discover all available pages before exploring further.
guard() calls report() for you. You only call it directly when you do the check yourself with check() and execute separately.
When you’d use it directly
audit_event_id from the check() decision so the report attaches to the same row instead of creating a new one.
Parameters
| Field | Type | Notes |
|---|---|---|
action | ActionDescriptor | Same shape you used in check(). |
outcome | "success" | "failure" | Whether the action ran. |
audit_event_id | string | UUID from the check() decision. Optional. |
detail | string | Free-form notes. Surfaced in the chronicle. |
tx_signature | string | Solana signature. Surfaced as a Solscan link in the chronicle. |
Best-effort
report() will not throw. If the network is unreachable, it logs a warning and resolves. Audit completeness is backstopped by the backend’s reconciliation cron, which sweeps recent transactions on the agent’s session key and fills in missing reports.
Don’t double-report
guard() already reports. Calling report() after guard() for the same action will create a duplicate row.