A Minimum Decision Trace Schema for Trading Agents

By DX Research Group · · Trace evaluation

A proposed schema that joins agent intent, policy checks, execution and reconciliation without treating a rationale as an execution receipt.

A trading-agent trace earns its value when an engineer can reconstruct where a decision changed. A readable explanation beside a trade supplies only part of that record. We need an identifier that joins the instruction the agent received to the action the venue ultimately accepted, including turns that end before submission.

Start with the join, then choose fields

Our operating-layer controls paper companion describes invocation-level records connecting mandate, rendered prompt, reasoning, tool call, validation, portfolio snapshot and chain outcome. That historical architecture motivates the following proposed minimum schema. It is a design contract for evaluation, rather than a claim that every current product field is publicly available.

Use one turn identifier and separate event identifiers for model output, validation, submission and reconciliation. Every event records its own timestamp and refers to its predecessor. The turn header carries agent identifier, mandate version, runtime version and state-snapshot identifier. The model event points to exact rendered input, tool manifest and typed proposed action. The validation event contains the result and applicable policy version. Submission records the venue request identifier; reconciliation records accepted order, fill or explicit terminal status.

Separate a decision to observe from a failed attempt to act. A no-trade turn should carry a terminal decision status, while a rejected action retains both the original proposal and the policy rejection. Collapsing those two outcomes makes policy intervention look like model restraint.

A broken join is an observable result

Consider an illustrative turn T17. The model proposes a purchase, policy accepts it, and submission returns request R91. The venue receipt exists, but the reconciler never attaches it to T17. An analyst looking only at the agent table could classify the turn as unexecuted. An analyst looking only at venue history could classify it as successful. The correct trace status is an unresolved reconciliation, with the venue receipt retained as independent evidence.

This fixture tests a practical requirement: a trace reader should retrieve the partial chain and name the missing stage. A schema that requires all stages before persisting anything loses the most informative failures. Persist each stage as it happens, preserve event ordering, and allow terminal records to say that completion remains unknown.

A second fixture should resend R91 after a timeout. The record needs to distinguish another transport attempt from another economic order. Store the stable submission identity alongside the attempt identity. Readers can then count decisions, attempts and executed orders separately.

What this makes comparable

The continuous record joins two historical systems through a shared measurement discipline while retaining venue and execution differences. A minimum schema makes that discipline explicit: comparable stages can share definitions, while venue-specific receipts remain typed evidence.

DXAP publicly describes a recorded proposal, policy and execution loop. The research opportunity is to make the boundaries between those stages testable. Before extending a schema, run the missing-receipt and duplicate-attempt fixtures against its reader. A successful reader preserves the same economic action count, exposes the unresolved join and tells an engineer exactly which stage needs repair.

Sources

Related field notes