Reading an Approval Trail
Every action in the Surface that changes a resource, moves work, or applies an effect generates an approval trail entry. This note explains what those entries contain, how to read them, and why their structure matters for compliance and client assurance.
What each entry captures
A trail entry is not a simple log line. It captures the full event context at the moment of execution, so the record is self-contained regardless of how the surrounding data changes later.
- trail_id — a unique, immutable identifier for this specific entry
- resource_id — the entity this action was applied to
- actor — human user or agent identifier that executed the action
- action_type — the class of change: create, update, transition, delete, commit
- proposed_at — ISO 8601 timestamp when the proposal was surfaced for review
- committed_at — ISO 8601 timestamp when the approver committed the change
- delta — the full before/after diff of affected fields
A sample entry
Below is a representative trail entry from a task status transition.
{
"trail_id": "trl_9Kx7mQ4p2n",
"resource_id": "task_intake-review-hd",
"actor": {
"type": "agent",
"id": "arc-qa-v2",
"display_name": "ArcQA"
},
"action_type": "transition",
"proposed_at": "2026-08-18T14:22:07Z",
"committed_at": "2026-08-18T14:23:41Z",
"delta": {
"status": {
"before": "in-review",
"after": "complete"
},
"assignee": {
"before": "usr_charles",
"after": "usr_charles"
}
}
}
The proposed_at and committed_at gap is meaningful. In this example, 94 seconds elapsed between proposal and commit. That is the review window: the time a human had the change visible before approving it.
Compliance use cases
Approval trails are structured for auditability, not just logging. The fields above were chosen to satisfy specific compliance queries without requiring reconstruction or inference.
- Who approved this change, and when did they approve it?
- Was this change proposed by a human or an agent?
- How long was the change available for review before it was committed?
- What was the exact before/after state at the moment of execution?
- Which tasks transitioned status in a given date range?
Client assurance
Clients with delegated work packs can request a trail export covering any time period. The export is available in JSON (full fidelity) and CSV (tabular summary). Clients can verify independently that the trail content matches what they observed during the engagement.
Trail entries are write-once. Once committed, a trail entry cannot be modified, merged, redacted, or deleted by any party, including ArcGrid. What the trail records is what happened.