Records
Records connect authority, proposals, decisions, approvals, and execution outcomes over time.
Grantline needs a record of how authority was used, not only a decision made in isolation. Records connect the proposal, the authority behind it, the conditions considered, any approval, and the eventual execution outcome.
Traceability
The current contracts emit durable onchain events for authority changes, approvals, custody changes, and successful execution. These records make it possible to follow the path from a granted boundary to the action that used it.
The event stream is evidence, not a complete human-readable receipt. Events show what committed, while the transaction receipt shows whether the enclosing transaction succeeded.
State transitions
Every authority lifecycle change produces a committed event:
MandateCreatedrecords the initial rules, Preflight rules, and validity window.MandateUpdatedrecords replacement rules and window.MandatePaused/MandateUnpausedrecord temporary suspension and resumption.MandateRevokedrecords permanent termination.NonceCancelledrecords permanent invalidation of an unused nonce.
These events accumulate over time. An observer can reconstruct what authority existed, when it changed, and when it stopped being usable.
The current contracts also expose scoped onchain indexes for Vaults, Mandates, and Escalations. A controller can enumerate its current Vaults, then read the Mandates attached to those Vaults; agents and creators can use their corresponding Mandate indexes, while Escalation indexes retain records across pending, approved, denied, and executed states. These views make direct contract inspection possible without scanning every record or relying on an offchain service.
Decisions and failed paths
A read-only evaluation can return DENY without creating a state change. A submitted execution can also fail before completion, so the absence of a successful execution record does not mean no proposal was evaluated.
Records distinguish an authorisation result from an execution outcome. A failed transaction may leave a receipt with status 0 but no committed events from that transaction.
Decision Receipts
Future offchain indexing could assemble the proposal, authority lineage, checks, approval, transaction, and outcome into a human-readable Decision Receipt. That receipt would be an evidence bundle built from committed contract data, contract-side indexes, and indexed transaction context, not an event emitted by the current contracts. Grantline does not currently run that offchain indexer or publish those receipts.
See Decisions for the distinction between authorisation and execution.
Last updated on