Skip to main content

Schema models for the opentraces.ai agent trace JSONL format

Project description

opentraces-schema

Pydantic v2 models for the opentraces.ai JSONL trace format.

Install

pip install opentraces-schema

Usage

from opentraces_schema import TraceRecord, SCHEMA_VERSION

record = TraceRecord(
    trace_id="abc-123",
    session_id="sess-456",
    agent={"name": "claude-code", "version": "1.0.32"},
)
line = record.to_jsonl_line()

Version

The schema version (0.9.0) lives in src/opentraces_schema/version.py as the single source of truth. See VERSION-POLICY.md for semver semantics and the bump checklist.

0.9.0 adds the additive schema home for dataset-run metadata scope facets (issue #212, external-review fix for PR #218): DatasetCandidateQuery.facets (dict[str, str], default empty) and DatasetRunRecord.facet_resolution (dict[str, Any] | None, default absent). Both fields are optional and this bump only touches the local dataset-lifecycle models; the TraceRecord wire shape is untouched entirely. See RATIONALE-0.9.0.md for the design notes.

0.8.0 adds the additive schema home for exact dependency pins plus interpreter/CPU identity on Environment (issue #200, seal-family M3): the PinRecord and Interpreter nested models, and Environment.resolved_dependencies / .interpreter / .arch / .platform / .abi_tag, all optional and absent by default. This is a home for pins, not a resolver or a trust lift, see RATIONALE-0.8.0.md for the honesty boundary.

0.7.0 adds the additive dataset security policy contract (WorkflowSecurityContract, DatasetSecurityPolicy, DatasetManifest.security); the TraceRecord wire shape is unchanged from 0.6.0.

0.6.0 makes TraceRecord.patches[] the authoritative output spine for dev-time traces and removes the legacy unified-diff Outcome.patch field. Outcome.committed, Outcome.commit_sha, and TraceRecord.git_links remain reader-compatible projections derived from patch anchors. Full patch, trail, context, and source evidence lives in the private bucket companions (trail.jsonl.gz, context.jsonl.gz, sources.jsonl.gz) rather than being embedded into the JSONL row.

0.5.0 added Context Tree cross-reference fields: Step.context_node_id and TraceRecord.context_tree_summary.

0.4.0 introduced the local dataset/workflow contract used by the CLI's dataset and workflow commands plus the trace-index contract used by trace query, trace map, and trace slice.

0.3.0 added the commit-correlation surface: GitLink, TraceRecord.lifecycle, TraceRecord.generation_index, TraceRecord.git_links, Task.repository_url, Attribution.revision, Attribution.unaccounted_files, AttributionRange.original, AttributionRange.change_type, AttributionRange.contributor, and AttributionConversation.ids / .related.

Schema Rationale

Every version of the schema ships with a rationale document explaining why each model and field exists, grounded in public standards (ATIF, Agent Trace, ADP, OTel) and empirical observations from real agent traces.

The current rationale is RATIONALE-0.9.0.md. Each version has its own rationale file linked from the CHANGELOG.

Contributing

Schema feedback, questions, and proposals are welcome via GitHub Issues. When suggesting a schema change, please include:

  • What field or model you would add, change, or remove
  • Why it matters for your use case (training, analytics, attribution, etc.)
  • How it relates to existing standards (ATIF, Agent Trace, ADP, OTel) if applicable

Breaking changes (field renames, removals, type changes) require a major version bump. New optional fields and models are minor bumps. See VERSION-POLICY.md for details.

Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opentraces_schema-0.9.0.tar.gz (48.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opentraces_schema-0.9.0-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file opentraces_schema-0.9.0.tar.gz.

File metadata

  • Download URL: opentraces_schema-0.9.0.tar.gz
  • Upload date:
  • Size: 48.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for opentraces_schema-0.9.0.tar.gz
Algorithm Hash digest
SHA256 927b02de3d0f0e62367db645b04024d49229b8e66aa956e51db2e2be4a38ddc0
MD5 7edb4a08ab701d6fe1704bcf1e5d10bf
BLAKE2b-256 8dfcb1863161ba85de28c951cc6bfc05c10bbea9e5a441f6098b938b5ee97136

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentraces_schema-0.9.0.tar.gz:

Publisher: publish.yml on JayFarei/opentraces

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentraces_schema-0.9.0-py3-none-any.whl.

File metadata

File hashes

Hashes for opentraces_schema-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 960a0f858453679e2bb49e9ae29d34d67d32820334ae760491debd7950e5136d
MD5 05673c485db23ff7926e5442346d8eac
BLAKE2b-256 d632c1da64c4c1a7863c0c345d1c3532263e53a34512a86240d55ff4568981b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentraces_schema-0.9.0-py3-none-any.whl:

Publisher: publish.yml on JayFarei/opentraces

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page