Is this a replacement for the Agent Client Protocol (ACP)?
No. The Agent Client Protocol (ACP) is the live protocol between an editor and an agent. ASR is the record that remains after a session, in the way SARIF records the diagnostics that the Language Server Protocol carries live. ASR reuses ACP’s content blocks, tool kinds and extension rules, and its ACP v2 recorder mapping is normative, so an ACP session can be recorded with declared, tested losses.Why not ATIF?
ATIF is designed for evaluation and training trajectories, and it serves that purpose well. A record kept after the session has different requirements: it must be appendable while a session runs and survive a crash, represent forks, subagents, compactions and rewinds as they were recorded, and record file changes and commits. ATIF is a single whole-document file with linear steps and no file-edit or version-control model. ASR exports to ATIF through a companion specification, producing one trajectory per root-to-leaf path.Does my harness have to change?
No. At adoption level L0, third-party converters read your native logs as they are. Shipping an export command (L1) or writing a conformant native log (L2) is optional. See For harness authors.Is it safe to share records?
Not automatically. Records routinely contain source code, credentials, file paths and personal information. Conformance does not make a file safe to share, andcontentLevel describes how much is disclosed, not whether that is safe. Exporters that produce shareable output must apply a redaction policy and record which one they used. Native files are never included in a shareable bundle by default, and transcripts never go into pushed git refs by default. See Privacy and security.
Who maintains it?
ASR is an independent, vendor-neutral project. The project aims to have maintainers from more than one organization, with Agent Client Protocol maintainers serving as a formal liaison. It also aims to propose ASR to the Agentic AI Foundation after 1.0. See Governance.Is ASR only for coding agents?
No. ASR covers general agent sessions: coding agents such as Claude Code and Codex, apps that run other agents such as T3 Code, and personal assistants on messaging apps such as OpenClaw and Hermes Agent. Version 0.1 is fitted first to Claude Code, T3 Code, Codex and OpenClaw. Coding is one domain profile,coding, for file changes and commits. Group chats and reply delivery have their own profile, messaging. The core is the same for every kind of agent: identity, ordering, messages, tools, approvals, questions to the user, triggers, memory writes, lineage, compaction and usage.
Why is there no experimental tier?
An earlier draft kept features that were not ready in a separate schema. In 0.1, every feature in the specification is normal. A field or record type is standard when at least two of the four priority tools record it; a feature that is not ready is left out and listed on the roadmap as future work. Facts that only one tool records go under documented vendor keys in that tool’s agent registry entry, so a converter never has to drop them.How does ASR handle an app that runs other agents?
When T3 Code runs Claude Code or Codex, or OpenClaw runs a session through Codex, both sides keep a transcript of the same work. Each side gets its own stream. The app’s stream names the sessions that ran its turns in anexecutedBy lineage link, and its records that copy those sessions carry copiedFrom, so model calls, cost and edits are counted once. Who wrote each prompt comes from the app’s stream, because the backing transcript shows the app’s scheduled prompts and messages from other threads as ordinary user prompts. See Lineage.
How are messages between agents recorded?
As ordinarymessage records in the receiving session, with origin: inter_session and a from that names the sending session or agent. The sending side is a tool call in the sender’s stream.
Can I resume a session from a record?
A record can be used to start a new session in any harness, carrying over what happened before. Resuming a session in its original harness is an adapter capability, qualified separately for each harness. A record does not restore processes, credentials, sandboxes or provider-private continuation state, and replaying a record for display never re-executes tools.How is reasoning recorded?
Asreasoning content parts, with a visibility of full, summary, omitted, encrypted or redacted. Opaque content and signatures are kept when the source has them, but they are excluded from text indexing and from metadata-only exports. A converter that drops them declares the loss.