Skip to content

Conversation

@jonathansantilli
Copy link

Summary

This PR proposes backwards-compatible (optional) extensions and clarifications to Agent Trace to improve interoperability across producers/consumers.

Context

We’re engineers at Mobb. We maintain Tracy, a VS Code/Cursor tracing implementation

We want to contribute implementation-grounded feedback so Agent Trace can represent common, high-signal attribution data (multi-tool provenance, modality, per-turn correlation) without forcing everything into vendor-specific metadata.

Scope Alignment

These changes align with Agent Trace’s goals (interoperability, granularity, extensibility, human- and agent-readable) and do not address the RFC non-goals (ownership/copyright, training data provenance, quality assessment, UI requirements).

This PR does not propose any storage requirement or capture/discovery protocol.

Proposed Changes

Schema updates (all optional; backwards-compatible)

  • Add vcs.repository_url (optional) to disambiguate vcs.revision outside of repo context.
  • Add conversation-level fields:
  • conversation.tool (optional override of TraceRecord.tool)
  • conversation.kind (optional modality string; examples include chat, tab_autocomplete, inline_edit, agent_action, human_typing)
  • conversation.ids (optional opaque correlation IDs)
  • Add range.ids (optional opaque IDs) for per-range linkage to a specific turn/tool call/message.
  • Make tool.version optional.

Spec guidance/clarifications

  • Recommend content_hash format <algorithm>:<digest> with a sha256 baseline and LF normalization; hash the final recorded content at the recorded revision (after post-processing that’s part of the revision).
  • Add a simple lifecycle model: provisional traces may omit vcs; final traces should include vcs.
  • Clarify git rewrite implications (snapshot semantics; implementations may re-emit or map).
  • Clarify mixed is heuristic (no universal threshold) and can be detailed via metadata.
  • Recommend well-known related.type values when applicable (e.g., transcript, prompt_artifact, tool_calls, diff_artifact, inference_artifact).
  • Add privacy/durability considerations for conversation.url and related[].

Reference implementation

  • Populate vcs.repository_url from remote.origin.url when available.
  • Fix emitted trace record version to 0.1.0 (previously 1.0).

Compatibility

All new fields are optional; existing records remain valid, and consumers can ignore unknown fields.

Feedback

We expect to see different implementations in open source. This may influence the spec in the future, and we are open to feedback.

This proposes backwards-compatible (optional) extensions and clarifications to improve interoperability across Agent Trace producers and consumers:

- Add vcs.repository_url to disambiguate revision identifiers outside of repo context.
- Add conversation.tool / conversation.kind / conversation.ids and range.ids to capture multi-tool provenance and per-turn/tool-call linkage.
- Make tool.version optional.
- Add guidance for content_hash (sha256 baseline, LF normalization, hash final recorded content), trace lifecycle (provisional vs final), git history rewrites, and privacy/durability of URLs.
- Recommend well-known related.type values (e.g., transcript, prompt_artifact, diff_artifact, inference_artifact).

All new fields are optional; existing records remain valid.

Reference trace-store is updated to emit version 0.1.0 and populate
vcs.repository_url when available.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant