An agent trajectory should be a recoverable workflow history, not just a chat transcript.
Every non-deterministic agent operation belongs behind a durable boundary: model call, tool call, memory read, memory write, clock, random choice,...
Model calls are side effects for replay purposes. Record the prompt, model identity, parameters, returned text, tool-call JSON, usage, and errors...
Idempotency keys are required anywhere the agent can charge money, send mail, create files, open tickets, mutate databases, or call external services.