Decision Evidence
Structured, tamper-evident records of every AI decision.
Tier: Enterprise Price: $599/year (annual subscription, enterprise add-on) Protocol: AEE (Agent Envelope Exchange) Ledger: VOLT (Verifiable Operations Ledger & Trace)
Overview
Every AI agent makes decisions. Most platforms treat those decisions as opaque — a prompt goes in, a response comes out, and the reasoning disappears. Decision Evidence changes that.
This plugin captures structured records of every decision an agent makes: the context it considered, the tools it called, the confidence it assigned, and the conclusion it reached. Each record is cryptographically linked to the VOLT ledger, producing an append-only chain that cannot be modified after the fact without detection.
The capture is automatic. Agents do not need code changes. The plugin hooks into the AEE protocol layer and intercepts decision points as envelopes pass through the pipeline. You configure the level of detail you want — from minimal metadata to full reasoning traces — and the plugin handles the rest.
Decision Evidence exists because regulators and enterprise customers are starting to ask the same question: "Why did the AI do that?" This plugin gives you a defensible answer, backed by cryptographic proof.
How It Works
Decision Evidence operates at the AEE envelope layer. When an agent processes a request, the plugin intercepts key decision points in the envelope lifecycle:
-
Context capture — The plugin records what information was available to the agent at decision time. This includes the incoming envelope payload, any retrieved memory or context, and the state of referenced entities.
-
Tool invocation logging — Every tool call the agent makes is recorded with its input parameters, output, and duration. Tool calls are sequenced so the order of operations is preserved.
-
Decision recording — When the agent produces a final response or takes an action, the plugin captures the decision itself along with the agent's stated reasoning (if the evidence level includes it).
-
Confidence scoring — Each decision receives a confidence score derived from the agent's own assessment and, where applicable, from tool output signals. Scores are normalised to a 0.0–1.0 range.
-
Hash linking — The evidence record is hashed and appended to the agent's VOLT chain. Each record references the hash of the previous record, forming a tamper-evident sequence.
-
WARD attestation — Optionally, evidence records are submitted to WARD witnesses for external receipts, providing third-party proof of record integrity.
┌──────────────┐ ┌──────────────────┐ ┌────────────┐
│ AEE Envelope │────▶│ Decision Evidence │────▶│ VOLT Chain │
│ (agent I/O) │ │ (capture layer) │ │ (append) │
└──────────────┘ └──────────────────┘ └────────────┘
│
▼
┌────────────────┐
│ WARD Witnesses │
│ (optional) │
└────────────────┘
Evidence Levels
The plugin supports four configurable evidence levels. Set a global default, then override per agent where needed.
| Level | What is captured | Typical use case | Relative token cost |
|---|---|---|---|
none | Nothing. The plugin is bypassed for this agent. | Internal utility agents, batch jobs | 0x |
minimal | Decision outcome, timestamp, agent ID, confidence score, tool names invoked. | High-volume agents where cost matters | 1x |
standard | Everything in minimal, plus tool input/output summaries and context references. | Default for most production agents | 2.5x |
full | Everything in standard, plus complete reasoning trace, raw tool payloads, and full context snapshots. | Regulated environments, incident review | 5–8x |
Per-Agent Overrides
Set a global default in the plugin configuration, then override specific agents:
{
"defaultLevel": "standard",
"agentOverrides": {
"agent-financial-review": "full",
"agent-healthcheck": "none",
"agent-customer-support": "standard",
"agent-data-enrichment": "minimal"
}
}
The override takes effect immediately. No agent restart required.
VOLT Integration
Decision Evidence records are first-class entries in the VOLT ledger. Each evidence record produces a VOLT entry with the following structure:
| Field | Type | Description |
|---|---|---|
entryId | string | Unique identifier for this evidence record |
agentId | string | The agent that produced the decision |
previousHash | string | SHA-256 hash of the preceding entry in this agent's chain |
entryHash | string | SHA-256 hash of the current entry's content |
timestamp | ISO 8601 | When the decision was recorded |
evidenceLevel | enum | none, minimal, standard, or full |
confidence | float | 0.0–1.0 normalised confidence score |
toolsInvoked | string[] | List of tool names called during this decision |
decisionOutcome | string | Summary of the action taken or response produced |
reasoningTrace | string | Full reasoning (only at full level, otherwise null) |
wardReceipts | object[] | WARD witness receipts, if external attestation is enabled |
Chain Integrity
The hash-linked chain means any modification to a past record breaks the chain from that point forward. Verification is straightforward: walk the chain, recompute each hash, and confirm it matches the stored entryHash. The VOLT verification endpoint does this automatically.
WARD Witness Receipts
When WARD attestation is enabled, the plugin submits each evidence hash to one or more WARD witnesses. The witness returns a signed receipt confirming it observed the hash at a given time. These receipts are stored alongside the evidence record and can be independently verified against the witness's public log.
Timeline & Search
The plugin adds an Evidence Timeline view to the QuoxCORE dashboard. This provides:
- Chronological view of all decisions across agents, with colour-coded confidence bands
- Agent filtering to isolate a single agent's decision history
- Confidence threshold filtering to surface low-confidence decisions for review
- Tool filtering to find all decisions that invoked a specific tool
- Full-text search across decision outcomes and reasoning traces
- Drill-down into any record to see the complete evidence chain, including context snapshots and tool payloads (at
standardandfulllevels) - Chain verification indicator showing whether the VOLT chain is intact for each agent
- Export to JSON or CSV for external audit tools
API Reference
All endpoints are under /api/v1/plugins/decision-evidence. Authentication is via the standard QuoxCORE bearer token.
List Evidence Records
GET /api/v1/plugins/decision-evidence/records
Query parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
agentId | string | — | Filter by agent ID |
level | enum | — | Filter by evidence level |
from | string | — | ISO 8601 start time |
to | string | — | ISO 8601 end time |
minConfidence | float | 0.0 | Minimum confidence score |
tool | string | — | Filter by tool name |
search | string | — | Full-text search across outcomes and traces |
page | int | 1 | Page number |
limit | int | 50 | Records per page (max 200) |
Response: 200 OK with paginated array of evidence records.
Get Single Record
GET /api/v1/plugins/decision-evidence/records/:entryId
Returns the full evidence record including context snapshots and tool payloads (if captured at the configured level).
Verify Agent Chain
GET /api/v1/plugins/decision-evidence/verify/:agentId
Walks the agent's VOLT chain and verifies hash integrity. Returns:
{
"agentId": "agent-financial-review",
"chainLength": 4821,
"verified": true,
"lastEntryHash": "a3f8c1...",
"checkedAt": "2026-03-10T14:22:00Z"
}
If a break is detected, verified is false and a breakpoint object indicates the first inconsistent entry.
Export Evidence Chain
GET /api/v1/plugins/decision-evidence/export/:agentId
Query parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
format | enum | json | json or csv |
from | string | — | ISO 8601 start time |
to | string | — | ISO 8601 end time |
Returns the full evidence chain for the specified agent in the requested format. Useful for handing records to external auditors or importing into third-party compliance tools.
Get Token Analytics
GET /api/v1/plugins/decision-evidence/analytics/tokens
Query parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
agentId | string | — | Filter by agent (omit for all) |
level | enum | — | Filter by evidence level |
period | enum | 7d | 24h, 7d, 30d, or 90d |
Returns token consumption broken down by agent and evidence level, so you can monitor the cost of evidence capture and adjust levels accordingly.
Update Configuration
PUT /api/v1/plugins/decision-evidence/config
Request body:
{
"defaultLevel": "standard",
"agentOverrides": {
"agent-financial-review": "full"
},
"wardEnabled": true,
"wardWitnesses": ["https://witness.example.com/v1"]
}
Configuration changes take effect immediately without agent restarts.
Configuration
Plugin Settings
| Setting | Type | Default | Description |
|---|---|---|---|
defaultLevel | enum | standard | Global evidence level: none, minimal, standard, full |
agentOverrides | object | {} | Map of agent ID to evidence level |
wardEnabled | boolean | false | Submit evidence hashes to WARD witnesses |
wardWitnesses | string[] | [] | URLs of WARD witness endpoints |
retentionDays | int | 365 | How long to keep evidence records before archival |
hashAlgorithm | string | sha256 | Hash algorithm for chain linking (sha256 or sha384) |
confidenceMethod | string | auto | auto (derived from agent output) or manual (agent-supplied) |
batchFlush | int | 10 | Number of records to buffer before flushing to VOLT |
batchTimeout | int | 5000 | Maximum milliseconds to wait before flushing a partial batch |
Environment Variables
| Variable | Description |
|---|---|
DECISION_EVIDENCE_DEFAULT_LEVEL | Overrides defaultLevel from config |
DECISION_EVIDENCE_WARD_ENABLED | Overrides wardEnabled (true or false) |
DECISION_EVIDENCE_RETENTION | Overrides retentionDays |
Compliance
Decision Evidence is designed to satisfy record-keeping and transparency requirements across multiple regulatory frameworks.
EU AI Act — Article 12
Article 12 requires that high-risk AI systems support automatic recording of events (logging) to enable traceability of the system's functioning. Decision Evidence addresses this by:
- Recording every decision with timestamps, inputs, and outputs
- Maintaining tamper-evident chains that prove logs have not been altered
- Supporting
fullevidence level for complete reasoning traces - Providing export capabilities for regulatory inspection
NIST AI Risk Management Framework
The NIST AI RMF calls for documentation of AI system behaviour, decisions, and outcomes. Decision Evidence supports the Govern, Map, Measure, and Manage functions by providing:
- Continuous monitoring of agent decision quality via confidence scores
- Traceable records linking decisions to their inputs and context
- Analytics on decision patterns and tool usage
- Export paths for risk assessment workflows
Colorado SB 21-169
Colorado's algorithmic discrimination legislation requires developers and deployers of high-risk AI to perform impact assessments and maintain records. Decision Evidence provides the underlying data for these assessments:
- Complete decision histories per agent
- Confidence distributions that surface potential bias patterns
- Tool invocation records showing what data sources influenced decisions
- Chain-verified exports suitable for compliance reporting
General Audit Readiness
For organisations not yet subject to specific AI regulation, Decision Evidence provides a forward-looking compliance posture. Records captured now will be available when regulations take effect, without needing to retrofit logging into existing agent deployments.