Skip to main content
Every action that goes through Invoke is recorded in your workspace’s ledger as it happens: who asked, what each check decided, what the tool returned, and who looked at it afterwards. A trace reads that record back as one run.

Reading a run

This is a real run from production, exactly as Invoke reported it:
The Policy stage is flagged: nothing in the workspace governed this read, so it ran on the default allow. A trace shows gaps like that as plainly as passes.

The stages

Each stage has a label, a value, a detail and a state (ok, warn, fail, skip or pending): run.events holds the ledger events behind the stages, in order. Among them: admission.denied (a check refused the action), budget.reserved, policy.matched, approval.requested, effect.committed, effect.failed with budget.released, effect.unknown, and effect.replayed (a repeat answered with the original receipt).

Where to read traces

  • The SDK. invoke.trace(result), or invoke.trace(effectId) for any earlier action.
  • The console. Every run, with the same stages.
  • The CLI. invoke inspect last shows a run’s pipeline, cost and ledger slice.

Next steps