Identity and versioning (spec)¶
A trace is only useful if a consumer can identify what produced it.
Required identifiers¶
Traces and/or artifacts MUST record:
trace_schema_version— compatibility gate forrun_trace.jsonruntime_version— the package/runtime version producing the artifactmodel_metadata— provider, model name, temperature, max tokens
Trace entries and replay metadata MAY record:
contract_version— system contract versionagent_contract_version— agent output contract versionmodel_id/ hashes — stable identifiers for deterministic classification- a run fingerprint capturing pipeline definition + config snapshot
Schema upgrade rule¶
When reading a trace:
- If the schema version is older and an upgrade path exists, tooling SHOULD upgrade in-memory.
- If an upgrade path does not exist, tooling MUST reject the trace as incompatible.
Replayability rule¶
- If
model_metadata.temperature > 0, the trace MUST be markedNON_REPLAYABLE. - Consumers MUST treat replayability as a property of the trace, not a guess about the model.
See also: docs/spec/invariants/determinism.md.