<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-birkholz-vcon-ai-agent-extension-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="vCon AI Agent Extension">An AI Agent Extension for Virtualized Conversations (vCon)</title>
    <seriesInfo name="Internet-Draft" value="draft-birkholz-vcon-ai-agent-extension-00"/>
    <author fullname="Henk Birkholz">
      <organization>Fraunhofer SIT</organization>
      <address>
        <email>henk.birkholz@ietf.contact</email>
      </address>
    </author>
    <author fullname="Daniel G Petrie">
      <organization>SIPez LLC</organization>
      <address>
        <email>dan.ietf@sipez.com</email>
      </address>
    </author>
    <author fullname="Thomas McCarthy-Howe">
      <organization>VCONIC</organization>
      <address>
        <email>ghostofbasho@gmail.com</email>
      </address>
    </author>
    <author fullname="Jonathan Rosenberg">
      <organization>jdrosen.net</organization>
      <address>
        <email>jdrosen@jdrosen.net</email>
      </address>
    </author>
    <author fullname="Orie Steele">
      <organization/>
      <address>
        <email>orie@or13.io</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <area>Applications and Real-Time</area>
    <workgroup>Virtualized Conversations</workgroup>
    <keyword>conversation</keyword>
    <keyword>vcon</keyword>
    <keyword>AI agent</keyword>
    <keyword>verifiable</keyword>
    <keyword>evidence</keyword>
    <keyword>transparency</keyword>
    <keyword>auditability</keyword>
    <abstract>
      <?line 242?>

<t>AI agents that use large language models increasingly perform consequential tasks on behalf of humans and other AI agents.
Demonstrating that recorded AI agent behavior truthfully represents actual behavior is essential for accountability, compliance, and human oversight. To achieve that goal, this document defines an extension to the Virtualized Conversation (vCon) object format, allowing a vCon to capture a conversation between a human and an AI agent, or between AI Agents. The vCon core format can already capture the back and forth messages (including text and voice) sent by AI agents, but additional extensions are required to fully reproduce the AI agent trajectory, such as agent metadata, message exchanges, tool invocations, reasoning traces, system events, file attribution, etc. This document defines those extensions in both descriptive language and formal CDDL definitions. This draft is a replacement for the former Verifiable Agent Conversation Records specification, which was a standalone format and not an extension of vCon.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-birkholz-vcon-ai-agent-extension/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Virtualized Conversations Working Group mailing list (<eref target="mailto:vcon@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/vcon/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/vcon/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 249?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>An AI Agent is a system that performs actions on behalf of a principal in a fully or semi-autonomous fashion. AI Agents are growing rapidly in their adoption across the Internet, finding usage in business, consumer, government and other applications.</t>
      <t>Yet, AI agents - like humans - are not infallible. They make mistakes, they misunderstand, and they may even act maliciously. This is creating demand for visibility, auditability, and traceability of AI agent actions. Some examples:</t>
      <ul spacing="normal">
        <li>
          <t>An agent authorized to read files might invoke tools to modify production systems or exfiltrate sensitive data beyond its authorization scope. The CISO of the company may need to investigate what happened.</t>
        </li>
        <li>
          <t>An agent's visible CoT output might diverge from the reasoning that actually produced its actions, resulting in a loss of revenue that the finance team needs to investigate</t>
        </li>
        <li>
          <t>An agent might deliberately underperform during capability evaluations while performing at full capacity during deployment, causing the IT department to need to consider other vendors</t>
        </li>
        <li>
          <t>An enterprise making use of an AI agent from another vendor, using it to perform accounting work, may be later audited and need to have supporting documentation on what the AI agent did and why.</t>
        </li>
        <li>
          <t>A small business may use an AI agent to manage its inventory, and upon discovering an error, might need a complete trace of what the agent did to determine what went wrong.</t>
        </li>
      </ul>
      <t>These use cases also extend into the legal realm. An enterprise using an AI agent for screening job applicants may later get sued by an applicant that was passed up for a role. The enterprise might subpoena the AI agent vendor, requesting a full trace of what the AI Agent did, and why. Similarly, a governmental body investigating malicious steps taken by an AI Agent, might request a full log of all of the sessions that AI Agent had.</t>
      <t>In all cases - there is a need to exchange information between organizational domains, and then to process that information to obtain important insights. To do this, a standardized object format is required.  This object format needs to carry the record of the conversation between the principal (typically a user, but potentially an AI Agent), and the AI agent which is acting on its behalf. This record needs to contain all of the information needed to answer critical questions - why did it do, when did it do it, how did it do it, and why did it do it?</t>
      <t>This need grows even further in cases where AI Agents themselves begin communicating with other AI agents, which may in turn communicate with further AI agents. This will create a web of AI agent interactions. Without a standardized format for documenting the actions of each agent, and how they chain together, it will become impossible to satisfy industry needs for tracing, troubleshooting, auditing, reconciliation, and so on. If, as some predict, we see as many AI agents accessing the Internet as we have humans accessing it, the need becomes dire.</t>
      <t>This specification addreses that need.</t>
      <t>It does so by building upon the vCon specification <xref target="VCON-CORE"/>. A vCon is a Virtualized Converation, which captures the content of any conversation (such as a call, chat, or meeting), along with its meta-data. Interactions between users and AI Agents, or between AI Agents, are also conversations, making vCon a natural foundation to build upon. vCon however is missing additional information that is important to capture when a participant is an AI Agent. Examples include tool calls and their results, token usage, model versions, and so on.</t>
      <t>This document provides an extension to the core vCon specification, using its established extension points, adding in this missing information. It also provides the CDDL for these extensions, using the defined CDDL <xref target="CDDL"/> sockets.</t>
      <section anchor="goals">
        <name>Goals</name>
        <t>This specification has the following goals:</t>
        <ol spacing="normal" type="1"><li>
            <t>To assure that the recording of an agent conversation (a distinct segment of the interaction with an autonomous agent) being proffered is the same as the agent conversation that actually occurred.</t>
          </li>
          <li>
            <t>To provide a general structure of agent conversations that can represent most common types of agent conversation frames, is extensible, and allows for future evolution of agent conversation complexity and corresponding actor interaction.</t>
          </li>
          <li>
            <t>To use existing IETF building blocks to present believable evidence about how an agent conversation is recorded utilizing Evidence generation as laid out in the Remote ATtestation ProcedureS architecture <xref target="RFC9334"/>.</t>
          </li>
          <li>
            <t>To use existing IETF building blocks to render conversation records auditable after the fact and enable non-repudiation as laid out in the Supply Chain Integrity, Transparency, and Trust architecture <xref target="RFC9943"/>.</t>
          </li>
          <li>
            <t>To enable detection of behavioral anomalies in agent interactions, including unauthorized tool invocations, inconsistencies between reasoning traces and actions, and performance modulation across evaluation and deployment contexts, through structured, comparable conversation records.</t>
          </li>
          <li>
            <t>To enable cross-vendor interoperability by defining a common representation for agent conversations that can be translated from multiple existing agent implementations with distinct native formats.</t>
          </li>
          <li>
            <t>To produce records suitable for demonstrating compliance with emerging regulatory requirements for AI system documentation, traceability, and human oversight.</t>
          </li>
          <li>
            <t>To allow software-based analysis of the records to achieve these goals, either with or without the aid of an LLM.</t>
          </li>
          <li>
            <t>To allow human-based observation of the records.</t>
          </li>
          <li>
            <t>To ensure that records can be authenticated and encrypted, without relying on transport or storage security to provide these capabilities.</t>
          </li>
        </ol>
        <t>Most agent conversations today are represented in "human-readable" text formats.
For example, JSON <xref target="JSON"/> is considered to be "human-readable" as it can be presented to humans in human-computer-interfaces (HCI) via off-the-shelf tools, e.g., pre-installed text editors that allow such data to be consumed or modified by humans. However, if we wish for these records to be processed by traditional software, a documented format with well-defined syntax and semantics is required. If we further wish for this format to be valid across AI agent vendors, a standard is required.</t>
        <t>A vCon is a JSON document, and so are the agent conversation records extensions defined in this document.
The signed and the encrypted forms of a vCon defined in <xref target="VCON-CORE"/> apply unchanged.
The application of COSE <xref target="STD96"/> to vCons that carry agent conversation vCon records is described in the SCITT architecture <xref target="scitt-cose"/>.</t>
      </section>
      <section anchor="transition-from-verifiable-agent-conversation-records-to-a-vcon-extension">
        <name>Transition from Verifiable Agent Conversation Records to a vCon extension</name>
        <t>The data definitions in this document originate from the stand-alone Verifiable Agent Conversation Records specification <xref target="VACR"/>.
This Internet-Draft rebuilds them as an extension of the vCon CDDL definition.
Each high level part of a Verifiable Agent Conversation Record is assigned to one of the extension points that <xref target="VCON-CORE"/> defines as CDDL <xref target="CDDL"/> sockets, and the sections of this document follow these extension points.
CDDL definitions that are used by more than one extension point are collected in <xref target="reusable"/> after the sections for the extension points.
<xref target="mapping"/> maps each data item of <xref target="VACR"/> to its place in this document.</t>
        <t>The vCon concepts of Session and Event that this extension builds upon were proposed to accommodate AI agent conversations in <xref target="ROSENBERG-RESTRUCTURE"/>.
<xref target="HOWE-AGENT-SESSION"/> and <xref target="HOWE-PROVENANCE"/> describe related approaches that carry agent session data and generation provenance in a vCon.</t>
        <dl>
          <dt>Editor's Note:</dt>
          <dd>
            <t>The assignment of each part of a Verifiable Agent Conversation Record to a vCon extension point is preliminary.
Each section that defines parameters for an extension point lists alternatives that are still open for discussion.</t>
          </dd>
          <dt>Editor's Note:</dt>
          <dd>
            <t>This document is based on the editor's copy of <xref target="VCON-CORE"/> (CDDL syntax version 0.5.0), which introduces the Session Object and the Event Object.
Sections of <xref target="VCON-CORE"/> are therefore referenced by name and not by number.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>In this document, CDDL <xref target="CDDL"/> <xref target="RFC9682"/> is used to describe the data formats of agent conversations in the JSON form accodring to vCon CDDL definitions.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>See the Terminology section of <xref target="VCON-CORE"/> for terminology used in this document.</t>
        <t>The following terms are used in this document:</t>
        <dl>
          <dt>Agent:</dt>
          <dd>
            <t>Also known as an AI Agent, it is an autonomous software system, typically based on a large language model, that is represented by a Party Object and that produces messages, invokes tools, and produces reasoning.</t>
          </dd>
          <dt>Agent Session:</dt>
          <dd>
            <t>A session of an agent, represented by a Session Object.</t>
          </dd>
          <dt>Entry:</dt>
          <dd>
            <t>A discrete, system-recorded event of an agent session in the native format of an agent implementation, such as a message, a tool call, a tool result, a reasoning step, or a system event.
In a vCon, an entry is represented by a Dialog Object or by an Event Object.</t>
          </dd>
          <dt>Recording Agent:</dt>
          <dd>
            <t>The tool or agent that generates the vCon, as distinct from the agent that conducted the conversation.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="extension-name">
      <name>Extension Name</name>
      <t>The extension name for this document is "ai_agent".</t>
      <t>The string token "ai_agent" <bcp14>SHOULD</bcp14> be included in the extensions parameter of a vCon that contains any of the parameters or Event Object types defined in this document.
As described in <xref target="compatibility"/> and <xref target="incompatibility"/>, this extension is intended to be fully interoperable with the vCon definitions and the name "ai_agent" is not inlcuded as a critical parameter.</t>
    </section>
    <section anchor="parameter-definitions">
      <name>Parameter Definitions</name>
      <t>This section defines the parameters and Event Object types of the "ai_agent" extension.
There is one subsection for each extension point of <xref target="VCON-CORE"/> that this extension uses.
Each subsection contains the CDDL that plugs into the corresponding socket of the vCon CDDL.
New Objects are defined in the subsection of the extension point at which they are introduced.</t>
      <t>The record unifies two complementary perspectives: the agent session captures how code was produced (the full conversation replay), while file attribution captures what code was produced (which files were modified and by whom).</t>
      <section anchor="extension-points">
        <name>Extension Points Defined by this Document</name>
        <t>Each Object defined in this document that does not allow arbitrary additional members ends with a CDDL group socket, so that other extensions can add parameters to it.
Each Event Object type defined in this document also ends with a CDDL group socket.
The following CDDL group sockets are defined in this document.</t>
        <table anchor="tbl-extension-points">
          <name>CDDL Group Extension Points Defined by this Document</name>
          <thead>
            <tr>
              <th align="left">Object</th>
              <th align="left">CDDL Socket</th>
              <th align="left">Defined in</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">File_Attribution</td>
              <td align="left">
                <tt>$$file-attribution-ext</tt></td>
              <td align="left">
                <xref target="file_attribution"/></td>
            </tr>
            <tr>
              <td align="left">File</td>
              <td align="left">
                <tt>$$file-ext</tt></td>
              <td align="left">
                <xref target="file_attribution"/></td>
            </tr>
            <tr>
              <td align="left">File_Conversation</td>
              <td align="left">
                <tt>$$file-conversation-ext</tt></td>
              <td align="left">
                <xref target="file_attribution"/></td>
            </tr>
            <tr>
              <td align="left">Range</td>
              <td align="left">
                <tt>$$range-ext</tt></td>
              <td align="left">
                <xref target="file_attribution"/></td>
            </tr>
            <tr>
              <td align="left">Contributor</td>
              <td align="left">
                <tt>$$contributor-ext</tt></td>
              <td align="left">
                <xref target="file_attribution"/></td>
            </tr>
            <tr>
              <td align="left">Resource</td>
              <td align="left">
                <tt>$$resource-ext</tt></td>
              <td align="left">
                <xref target="file_attribution"/></td>
            </tr>
            <tr>
              <td align="left">"tool-call" type Event Object</td>
              <td align="left">
                <tt>$$tool-call-event-ext</tt></td>
              <td align="left">
                <xref target="event-type-tool-call"/></td>
            </tr>
            <tr>
              <td align="left">"tool-result" type Event Object</td>
              <td align="left">
                <tt>$$tool-result-event-ext</tt></td>
              <td align="left">
                <xref target="event-type-tool-result"/></td>
            </tr>
            <tr>
              <td align="left">"reasoning" type Event Object</td>
              <td align="left">
                <tt>$$reasoning-event-ext</tt></td>
              <td align="left">
                <xref target="event-type-reasoning"/></td>
            </tr>
            <tr>
              <td align="left">"system-event" type Event Object</td>
              <td align="left">
                <tt>$$system-event-ext</tt></td>
              <td align="left">
                <xref target="event-type-system-event"/></td>
            </tr>
          </tbody>
        </table>
        <dl>
          <dt>Editor's Note:</dt>
          <dd>
            <t>The Recording_Agent, Agent_Meta, Environment, Token_Usage, and VCS_Context Objects allow arbitrary additional members (<tt>* tstr =&gt; any</tt>), as in <xref target="VACR"/>.
Whether these Objects get a CDDL group socket in addition to or instead of this wildcard is for further discussion.</t>
          </dd>
        </dl>
      </section>
      <section anchor="vcon-object-parameters">
        <name>vCon Object Parameters</name>
        <t>This extension adds the following parameters to the vCon Object, using the vcon-ext socket:</t>
        <figure anchor="fig-cddl-vcon">
          <name>CDDL for the ai_agent Parameters of the vCon Object</name>
          <sourcecode type="cddl"><![CDATA[
$$vcon-ext //= ( recording_agent: recording_agent_type )
$$vcon-ext //= ( vcs: vcs_context_type )
$$vcon-ext //= ( file_attribution: file_attribution_type )

; Recording_Agent Object
recording_agent_type = {
    name: tstr,
    ? version: tstr,
    * tstr => any
  }

; File_Attribution Object
file_attribution_type = {
    files: [* file_type],
    * $$file-attribution-ext
  }

; File Object
file_type = {
    ; relative path from the repository root
    path: tstr,
    conversations: [* file_conversation_type],
    * $$file-ext
  }

; File_Conversation Object
file_conversation_type = {
    ? url: uri_type,
    ; default contributor for all ranges
    ? contributor: contributor_type,
    ranges: [* range_type],
    ? related: [* resource_type],
    * $$file-conversation-ext
  }

; Range Object
range_type = {
    ; 1-indexed
    start_line: uint,
    ; 1-indexed, inclusive
    end_line: uint,
    ? content_hash: tstr,
    ; default: "sha-256"
    ? content_hash_alg: tstr,
    ; overrides the conversation level contributor
    ? contributor: contributor_type,
    * $$range-ext
  }

; Contributor Object
contributor_type = {
    type: "human" / "ai" / "mixed" / "unknown",
    ? model_id: tstr,
    * $$contributor-ext
  }

; Resource Object
resource_type = {
    type: tstr,
    url: uri_type,
    * $$resource-ext
  }

; URI (RFC 3986)
uri_type = tstr .regexp
    "(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?"
]]></sourcecode>
        </figure>
        <dl>
          <dt>Editor's Note:</dt>
          <dd>
            <t>Alternative placements for recording_agent are a Party Object that represents the recording tool and the Attachment Object.
An alternative placement for file_attribution is the Attachment Object, as proposed in <xref target="HOWE-AGENT-SESSION"/>.</t>
          </dd>
        </dl>
        <section anchor="recording_agent">
          <name>recording_agent</name>
          <t>The recording_agent parameter identifies the tool or agent that generated this vCon, as distinct from the agent that conducted the conversation.
This distinction matters for provenance chains: the recording tool's version affects how native data is translated into the canonical data definition specified in this document.</t>
          <ul spacing="normal">
            <li>
              <t>recording_agent: "Recording_Agent" (optional)</t>
            </li>
          </ul>
          <t>The Recording_Agent Object contains the following members:</t>
          <dl>
            <dt>name:</dt>
            <dd>
              <t>The name of the recording tool or agent.</t>
            </dd>
            <dt>version:</dt>
            <dd>
              <t>The version of the recording tool.</t>
            </dd>
          </dl>
        </section>
        <section anchor="vcs">
          <name>vcs</name>
          <t>The vcs parameter provides version control metadata at the record level (repository, branch, revision).</t>
          <ul spacing="normal">
            <li>
              <t>vcs: "VCS_Context" (optional)</t>
            </li>
          </ul>
          <t>The VCS_Context Object is defined in <xref target="vcs_context"/>.</t>
        </section>
        <section anchor="file_attribution">
          <name>file_attribution</name>
          <t>NOTE: This section is specified but not yet validated against real session data.
Implementation or validation against a healthy example corpus is pending.</t>
          <t>File attribution captures what code was produced: which files were modified, which line ranges were changed, and who authored them.</t>
          <ul spacing="normal">
            <li>
              <t>file_attribution: "File_Attribution" (optional)</t>
            </li>
          </ul>
          <t>The File_Attribution Object is the top-level container for file attribution data.
It holds an array of files, each with their attributed line ranges and contributor information.</t>
          <dl>
            <dt>files:</dt>
            <dd>
              <t>Array of File Objects with attributed ranges.</t>
            </dd>
            <dt><tt>$$file-attribution-ext</tt>:</dt>
            <dd>
              <t>A CDDL socket that can be used to extend the File_Attribution Object.
See <xref target="extension-points"/>.</t>
            </dd>
          </dl>
          <t>A File Object represents a single source file that was modified during the conversation.
It groups all conversations that contributed changes to this file.</t>
          <dl>
            <dt>path:</dt>
            <dd>
              <t>The file path relative to the repository root.</t>
            </dd>
            <dt>conversations:</dt>
            <dd>
              <t>The conversations that contributed modifications to this file, as an array of File_Conversation Objects.</t>
            </dd>
            <dt><tt>$$file-ext</tt>:</dt>
            <dd>
              <t>A CDDL socket that can be used to extend the File Object.
See <xref target="extension-points"/>.</t>
            </dd>
          </dl>
          <t>A File_Conversation Object links a specific session to the line ranges it produced in a file.
This enables tracing from a line of code back to the conversation that generated it.</t>
          <dl>
            <dt>url:</dt>
            <dd>
              <t>A URL pointing to the conversation source (e.g., a web UI permalink).</t>
            </dd>
            <dt>contributor:</dt>
            <dd>
              <t>The default contributor for all ranges in this conversation.
Can be overridden per-range.</t>
            </dd>
            <dt>ranges:</dt>
            <dd>
              <t>The line ranges in the file that were produced by this conversation.</t>
            </dd>
            <dt>related:</dt>
            <dd>
              <t>External resources related to this conversation (e.g., issue trackers, documentation).</t>
            </dd>
            <dt><tt>$$file-conversation-ext</tt>:</dt>
            <dd>
              <t>A CDDL socket that can be used to extend the File_Conversation Object.
See <xref target="extension-points"/>.</t>
            </dd>
          </dl>
          <t>A Range Object identifies a contiguous block of lines in a file that were produced by a specific conversation.
Line numbers are 1-indexed and inclusive.
The optional content hash enables position-independent tracking when lines move due to later edits.</t>
          <dl>
            <dt>start_line:</dt>
            <dd>
              <t>The first line of the range (1-indexed).</t>
            </dd>
            <dt>end_line:</dt>
            <dd>
              <t>The last line of the range (1-indexed, inclusive).</t>
            </dd>
            <dt>content_hash:</dt>
            <dd>
              <t>A hash of the range content for position-independent identification.</t>
            </dd>
            <dt>content_hash_alg:</dt>
            <dd>
              <t>The hash algorithm used (default: "sha-256").</t>
            </dd>
            <dt>contributor:</dt>
            <dd>
              <t>Overrides the conversation-level contributor for this specific range.</t>
            </dd>
            <dt><tt>$$range-ext</tt>:</dt>
            <dd>
              <t>A CDDL socket that can be used to extend the Range Object.
See <xref target="extension-points"/>.</t>
            </dd>
          </dl>
          <t>A Contributor Object identifies who authored a range of code.
The type member distinguishes between human-authored, AI-generated, mixed, and unknown authorship.</t>
          <dl>
            <dt>type:</dt>
            <dd>
              <t>The authorship category.</t>
            </dd>
            <dt>model_id:</dt>
            <dd>
              <t>The model identifier for AI-authored ranges.</t>
            </dd>
            <dt><tt>$$contributor-ext</tt>:</dt>
            <dd>
              <t>A CDDL socket that can be used to extend the Contributor Object.
See <xref target="extension-points"/>.</t>
            </dd>
          </dl>
          <t>A Resource Object represents an external reference related to a conversation, such as an issue tracker entry, a pull request, or a documentation page.</t>
          <dl>
            <dt>type:</dt>
            <dd>
              <t>The resource type (e.g., "issue", "pr", "documentation").</t>
            </dd>
            <dt>url:</dt>
            <dd>
              <t>The URL of the resource.</t>
            </dd>
            <dt><tt>$$resource-ext</tt>:</dt>
            <dd>
              <t>A CDDL socket that can be used to extend the Resource Object.
See <xref target="extension-points"/>.</t>
            </dd>
            <dt>Editor's Note:</dt>
            <dd>
              <t>The content_hash member of the Range Object is not a ContentHash as defined in <xref target="VCON-CORE"/>.
Aligning both is for further discussion.</t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="party-object-parameters">
        <name>Party Object Parameters</name>
        <t>This extension adds the following parameter to the Party Object, using the party-ext socket:</t>
        <figure anchor="fig-cddl-party">
          <name>CDDL for the ai_agent Parameters of the Party Object</name>
          <sourcecode type="cddl"><![CDATA[
$$party-ext //= ( agent_meta: agent_meta_type )

; Agent_Meta Object
agent_meta_type = {
    ; e.g., "claude-opus-4-5-20251101"
    model_id: tstr,
    ; e.g., "anthropic", "google"
    model_provider: tstr,
    ; all models (multi-model sessions)
    ? models: [* tstr],
    ; e.g., "claude-code", "gemini-cli"
    ? cli_name: tstr,
    ? cli_version: tstr,
    * tstr => any
  }
]]></sourcecode>
        </figure>
        <dl>
          <dt>Editor's Note:</dt>
          <dd>
            <t>Alternative placements for agent_meta are the Session Object and the generation provenance of <xref target="HOWE-PROVENANCE"/>.</t>
          </dd>
        </dl>
        <section anchor="agent_meta">
          <name>agent_meta</name>
          <t>The agent_meta parameter identifies the coding agent and language model that a Party Object represents.
Agent identification is essential for provenance tracking: knowing which model produced which output enables auditing, capability assessment, and compliance verification.
The type parameter of a Party Object that contains agent_meta <bcp14>SHOULD</bcp14> be "bot".</t>
          <ul spacing="normal">
            <li>
              <t>agent_meta: "Agent_Meta" (optional)</t>
            </li>
          </ul>
          <t>The Agent_Meta Object contains the following members:</t>
          <dl>
            <dt>model_id:</dt>
            <dd>
              <t>The primary language model identifier, using the naming convention of the provider (e.g., "claude-opus-4-5-20251101", "gemini-2.0-flash").</t>
            </dd>
            <dt>model_provider:</dt>
            <dd>
              <t>The provider of the primary model (e.g., "anthropic", "google", "openai").</t>
            </dd>
            <dt>models:</dt>
            <dd>
              <t>List of all model identifiers used during the session.
Relevant for multi-model sessions where the agent switches between models.</t>
            </dd>
            <dt>cli_name:</dt>
            <dd>
              <t>The name of the CLI tool or agent framework (e.g., "claude-code", "gemini-cli", "codex-cli").</t>
            </dd>
            <dt>cli_version:</dt>
            <dd>
              <t>The version of the CLI tool.</t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="session-object-parameters">
        <name>Session Object Parameters</name>
        <t>An agent session is represented by a Session Object.
It captures the full conversation between a user and an autonomous agent.
The Dialog Objects and Event Objects that are part of the Session Object represent messages, tool invocations, reasoning steps, and system events.
Together, they preserve the complete interaction history including all native agent metadata, enabling both replay and audit of the conversation.
The start parameter of the Session Object provides the time the agent session began, and the duration parameter provides the time until the agent session ended.
An agent that spawns sub-agents is represented by a Session Object that references the Session Objects of the sub-agents using the Session_Reference type "child", as described for AI agents in <xref target="VCON-CORE"/>.</t>
        <t>This extension adds the following parameters to the Session Object, using the session-ext socket:</t>
        <figure anchor="fig-cddl-session">
          <name>CDDL for the ai_agent Parameters of the Session Object</name>
          <sourcecode type="cddl"><![CDATA[
$$session-ext //= ( agent_session_id: tstr )
; "interactive" / "autonomous" / vendor specific
$$session-ext //= ( format: tstr )
$$session-ext //= ( environment: environment_type )

; Environment Object
environment_type = {
    working_dir: tstr,
    ? vcs: vcs_context_type,
    ; sandbox mount paths
    ? sandboxes: [* tstr],
    * tstr => any
  }
]]></sourcecode>
        </figure>
        <section anchor="agent_session_id">
          <name>agent_session_id</name>
          <t>The agent_session_id parameter contains an opaque string uniquely identifying the agent session in the native format of the agent implementation.
Values may be UUID v4, UUID v7, SHA-256 hashes, or other formats.
The agent_session_id parameter is distinct from the session_id parameter of the Session Object, which contains a SessionId Object.</t>
          <ul spacing="normal">
            <li>
              <t>agent_session_id: "String" (optional)</t>
            </li>
          </ul>
        </section>
        <section anchor="format">
          <name>format</name>
          <t>The format parameter classifies the session style, such as "interactive" (human-in-the-loop) or "autonomous" (fully automated).
Informative only; does not change the structure.</t>
          <ul spacing="normal">
            <li>
              <t>format: "String" (optional)</t>
            </li>
          </ul>
        </section>
        <section anchor="environment">
          <name>environment</name>
          <t>The environment parameter captures execution context for the conversation: where the agent was running, what version control state was active, and whether sandboxing was in effect.
This context is important for reproducibility and for understanding the scope of file modifications.</t>
          <ul spacing="normal">
            <li>
              <t>environment: "Environment" (optional)</t>
            </li>
          </ul>
          <t>The Environment Object contains the following members:</t>
          <dl>
            <dt>working_dir:</dt>
            <dd>
              <t>The primary working directory path.
File paths in tool calls are typically relative to this directory.</t>
            </dd>
            <dt>vcs:</dt>
            <dd>
              <t>Version control state at the time of the session (branch, revision, etc.), as a VCS_Context Object (<xref target="vcs_context"/>).</t>
            </dd>
            <dt>sandboxes:</dt>
            <dd>
              <t>Paths to sandbox mount points.
Some agents run in sandboxed environments where the working directory is a temporary mount.</t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="dialog-object-parameters">
        <name>Dialog Object Parameters</name>
        <t>A message of an agent session represents a conversational turn: either human input or agent response.
This is the most common entry type, carrying the primary dialog content of a session.
A message is represented by a "text" type Dialog Object.
The parties parameter of the Dialog Object references the Party Object of the contributor of the message.
Human (or upstream agent) input is contributed by the Party Object of the user, and an agent response is contributed by the Party Object of the agent.
The message body is contained in the Dialog Content.
For assistant messages, additional metadata may be present: the model that generated the response and token usage statistics.</t>
        <t>This extension adds the following parameters to the Dialog Object, using the dialog-ext socket:</t>
        <figure anchor="fig-cddl-dialog">
          <name>CDDL for the ai_agent Parameters of the Dialog Object</name>
          <sourcecode type="cddl"><![CDATA[
$$dialog-ext //= ( model_id: tstr )
$$dialog-ext //= ( token_usage: token_usage_type )
$$dialog-ext //= ( entry_id: agent_entry_id_type )
$$dialog-ext //= ( parent_id: agent_entry_id_type )

; Token_Usage Object
token_usage_type = {
    ; input tokens
    ? input: uint,
    ; output tokens
    ? output: uint,
    ; cached input tokens
    ? cached: uint,
    ; reasoning or thinking tokens
    ? reasoning: uint,
    ; total tokens
    ? total: uint,
    ; monetary cost in US dollars
    ? cost: number,
    * tstr => any
  }
]]></sourcecode>
        </figure>
        <dl>
          <dt>Editor's Note:</dt>
          <dd>
            <t>An alternative placement for model_id and token_usage is the generation provenance of <xref target="HOWE-PROVENANCE"/>.</t>
          </dd>
        </dl>
        <section anchor="model_id">
          <name>model_id</name>
          <t>The model_id parameter identifies the model that generated this response.
Present on assistant messages, absent on user messages.</t>
          <ul spacing="normal">
            <li>
              <t>model_id: "String" (optional)</t>
            </li>
          </ul>
        </section>
        <section anchor="token_usage">
          <name>token_usage</name>
          <t>The token_usage parameter captures token consumption metrics for a model response.
Token usage data is essential for cost tracking, quota management, and understanding model behavior.
All members are optional because different agents report different subsets of token metrics.</t>
          <ul spacing="normal">
            <li>
              <t>token_usage: "Token_Usage" (optional)</t>
            </li>
          </ul>
          <t>Editor's Note: add a non-empty generic here</t>
          <t>The Token_Usage Object contains the following members:</t>
          <dl>
            <dt>input:</dt>
            <dd>
              <t>The number of input tokens consumed by this response.</t>
            </dd>
            <dt>output:</dt>
            <dd>
              <t>The number of output tokens generated.</t>
            </dd>
            <dt>cached:</dt>
            <dd>
              <t>The number of input tokens served from cache rather than reprocessed.</t>
            </dd>
            <dt>reasoning:</dt>
            <dd>
              <t>Tokens consumed by chain-of-thought or reasoning computation.</t>
            </dd>
            <dt>total:</dt>
            <dd>
              <t>The total token count.</t>
            </dd>
            <dt>cost:</dt>
            <dd>
              <t>The monetary cost in US dollars for this response.</t>
            </dd>
          </dl>
        </section>
        <section anchor="entryid-and-parentid">
          <name>entry_id and parent_id</name>
          <t>The entry_id parameter contains the unique identifier of this entry within the session.
The parent_id parameter references the parent entry, enabling tree-structured conversations.
Both are defined in <xref target="agent_entry_reference"/>.</t>
          <ul spacing="normal">
            <li>
              <t>entry_id: "String" (optional)</t>
            </li>
            <li>
              <t>parent_id: "String" (optional)</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="event-object-types">
        <name>Event Object Types and Parameters</name>
        <t>This extension defines four Event Object types representing the kinds of entries in an agent conversation that are not messages.
They are added using the event-type-ext socket.
Each type ends with a socket of its own, so that other extensions can add parameters to it.</t>
        <figure anchor="fig-cddl-event">
          <name>CDDL for the ai_agent Event Object Types</name>
          <sourcecode type="cddl"><![CDATA[
$$event-type-ext //= (event_tool_call_type,)
$$event-type-ext //= (event_tool_result_type,)
$$event-type-ext //= (event_reasoning_type,)
$$event-type-ext //= (event_system_event_type,)

; "tool-call" type Event Object
event_tool_call_type = (
    type: "tool-call",
    event_common_type,
    ; e.g., "Bash", "Edit", "Read"
    tool_name: tstr,
    ; tool arguments
    input: any,
    ; links call and result
    ? call_id: tstr,
    agent_entry_reference_type,
    * $$tool-call-event-ext
  )

; "tool-result" type Event Object
event_tool_result_type = (
    type: "tool-result",
    event_common_type,
    ; tool output
    output: any,
    ; links call and result
    ? call_id: tstr,
    ; "success" / "error" / "completed"
    ? status: tstr,
    ? is_error: bool,
    agent_entry_reference_type,
    * $$tool-result-event-ext
  )

; "reasoning" type Event Object
event_reasoning_type = (
    type: "reasoning",
    event_common_type,
    ; plaintext reasoning or structured content
    content: any,
    ; provider protected content
    ? encrypted: tstr,
    ; topic label
    ? subject: tstr,
    agent_entry_reference_type,
    * $$reasoning-event-ext
  )

; "system-event" type Event Object
event_system_event_type = (
    type: "system-event",
    event_common_type,
    ; event classifier
    event_type: tstr,
    ; event specific payload
    ? data: { * tstr => any },
    agent_entry_reference_type,
    * $$system-event-ext
  )
]]></sourcecode>
        </figure>
        <t>For all four types, the time parameter provides when the entry occurred, the session parameter references the Session Object of the agent session, and the party parameter references the Party Object of the agent.
The entry_id and parent_id parameters (<xref target="agent_entry_reference"/>) preserve the native entry identifiers and the tree structure of the agent trace.</t>
        <dl>
          <dt>Editor's Note:</dt>
          <dd>
            <t>An alternative placement for the agent trace is a single Analysis Object that carries the trace, as proposed in <xref target="HOWE-AGENT-SESSION"/>.
It is also an open question whether the "tool-call" and "reasoning" Event Object types apply to human parties.</t>
          </dd>
        </dl>
        <section anchor="event-type-tool-call">
          <name>tool-call</name>
          <t>A "tool-call" type Event Object represents a tool invocation: which tool was called and with what arguments.
Tool calls are central to agent conversation records because tool use is the primary mechanism by which agents interact with external environment.</t>
          <dl>
            <dt>tool_name:</dt>
            <dd>
              <t>The tool name (e.g., "Bash", "Edit", "Read", "apply_patch").</t>
            </dd>
            <dt>input:</dt>
            <dd>
              <t>The arguments passed to the tool, preserved in their native structure.</t>
            </dd>
            <dt>call_id:</dt>
            <dd>
              <t>Links this call to its corresponding result.</t>
            </dd>
            <dt><tt>$$tool-call-event-ext</tt>:</dt>
            <dd>
              <t>A CDDL socket that can be used to extend the "tool-call" type Event Object.
See <xref target="extension-points"/>.</t>
            </dd>
          </dl>
        </section>
        <section anchor="event-type-tool-result">
          <name>tool-result</name>
          <t>A "tool-result" type Event Object represents the output returned by a tool after execution.
It is linked to its corresponding "tool-call" type Event Object via the call_id parameter.
The result carries the tool's response data and optional status metadata indicating success or failure.</t>
          <dl>
            <dt>output:</dt>
            <dd>
              <t>The tool's response, preserved in native structure.</t>
            </dd>
            <dt>call_id:</dt>
            <dd>
              <t>Links this result to its corresponding call.</t>
            </dd>
            <dt>status:</dt>
            <dd>
              <t>Outcome status of the tool execution, such as "success", "error", or "completed".</t>
            </dd>
            <dt>is_error:</dt>
            <dd>
              <t>Boolean error flag, present when the tool execution failed.</t>
            </dd>
            <dt><tt>$$tool-result-event-ext</tt>:</dt>
            <dd>
              <t>A CDDL socket that can be used to extend the "tool-result" type Event Object.
See <xref target="extension-points"/>.</t>
            </dd>
          </dl>
        </section>
        <section anchor="event-type-reasoning">
          <name>reasoning</name>
          <t>A "reasoning" type Event Object captures CoT, thinking, or internal reasoning content from the agent.
Not all agents expose reasoning traces.
When they do, the content may be plaintext, structured blocks, or encrypted.
Reasoning entries are valuable for auditing decision-making processes and understanding why an agent took particular actions.</t>
          <dl>
            <dt>content:</dt>
            <dd>
              <t>The reasoning text or structured content.
May be an empty string when only encrypted content is available.</t>
            </dd>
            <dt>encrypted:</dt>
            <dd>
              <t>Encrypted reasoning content.
Used where the model provider encrypts chain-of-thought output.</t>
            </dd>
            <dt>subject:</dt>
            <dd>
              <t>A topic label for the reasoning block.</t>
            </dd>
            <dt><tt>$$reasoning-event-ext</tt>:</dt>
            <dd>
              <t>A CDDL socket that can be used to extend the "reasoning" type Event Object.
See <xref target="extension-points"/>.</t>
            </dd>
          </dl>
        </section>
        <section anchor="event-type-system-event">
          <name>system-event</name>
          <t>A "system-event" type Event Object records system lifecycle events that are not part of the conversation dialog but are relevant for understanding the session context.
Examples include session start and end markers, token usage summaries, permission changes, and configuration events.</t>
          <dl>
            <dt>event_type:</dt>
            <dd>
              <t>Classifies the event, such as "session-start", "session-end", "token-count", or "permission-change".
The values are not enumerated in the schema to accommodate vendor-specific event types.</t>
            </dd>
            <dt>data:</dt>
            <dd>
              <t>Event-specific payload.
The structure varies by event type.</t>
            </dd>
            <dt><tt>$$system-event-ext</tt>:</dt>
            <dd>
              <t>A CDDL socket that can be used to extend the "system-event" type Event Object.
See <xref target="extension-points"/>.</t>
            </dd>
          </dl>
        </section>
        <section anchor="event-object-parameter-applicability-by-type">
          <name>Event Object Parameter Applicability by Type</name>
          <t>The following table summarizes which Event Object parameters apply to each Event Object type defined in this document.
The symbols used in the table are the ones used in <xref target="VCON-CORE"/>: M the parameter <bcp14>MUST</bcp14> be present, O the parameter is optional, X the parameter <bcp14>MUST NOT</bcp14> be present.</t>
          <table anchor="tbl-event-applicability">
            <name>Event Object Parameter Applicability for the ai_agent Event Object Types</name>
            <thead>
              <tr>
                <th align="left">Parameter</th>
                <th align="left">tool-call</th>
                <th align="left">tool-result</th>
                <th align="left">reasoning</th>
                <th align="left">system-event</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">type</td>
                <td align="left">M</td>
                <td align="left">M</td>
                <td align="left">M</td>
                <td align="left">M</td>
              </tr>
              <tr>
                <td align="left">time</td>
                <td align="left">M</td>
                <td align="left">M</td>
                <td align="left">M</td>
                <td align="left">M</td>
              </tr>
              <tr>
                <td align="left">session</td>
                <td align="left">M</td>
                <td align="left">M</td>
                <td align="left">M</td>
                <td align="left">M</td>
              </tr>
              <tr>
                <td align="left">party</td>
                <td align="left">M</td>
                <td align="left">M</td>
                <td align="left">M</td>
                <td align="left">M</td>
              </tr>
              <tr>
                <td align="left">dialog</td>
                <td align="left">X</td>
                <td align="left">X</td>
                <td align="left">X</td>
                <td align="left">X</td>
              </tr>
              <tr>
                <td align="left">button, transferee, transfer_target, consultation, target_session</td>
                <td align="left">X</td>
                <td align="left">X</td>
                <td align="left">X</td>
                <td align="left">X</td>
              </tr>
              <tr>
                <td align="left">tool_name</td>
                <td align="left">M</td>
                <td align="left">X</td>
                <td align="left">X</td>
                <td align="left">X</td>
              </tr>
              <tr>
                <td align="left">input</td>
                <td align="left">M</td>
                <td align="left">X</td>
                <td align="left">X</td>
                <td align="left">X</td>
              </tr>
              <tr>
                <td align="left">call_id</td>
                <td align="left">O</td>
                <td align="left">O</td>
                <td align="left">X</td>
                <td align="left">X</td>
              </tr>
              <tr>
                <td align="left">output</td>
                <td align="left">X</td>
                <td align="left">M</td>
                <td align="left">X</td>
                <td align="left">X</td>
              </tr>
              <tr>
                <td align="left">status</td>
                <td align="left">X</td>
                <td align="left">O</td>
                <td align="left">X</td>
                <td align="left">X</td>
              </tr>
              <tr>
                <td align="left">is_error</td>
                <td align="left">X</td>
                <td align="left">O</td>
                <td align="left">X</td>
                <td align="left">X</td>
              </tr>
              <tr>
                <td align="left">content</td>
                <td align="left">X</td>
                <td align="left">X</td>
                <td align="left">M</td>
                <td align="left">X</td>
              </tr>
              <tr>
                <td align="left">encrypted</td>
                <td align="left">X</td>
                <td align="left">X</td>
                <td align="left">O</td>
                <td align="left">X</td>
              </tr>
              <tr>
                <td align="left">subject</td>
                <td align="left">X</td>
                <td align="left">X</td>
                <td align="left">O</td>
                <td align="left">X</td>
              </tr>
              <tr>
                <td align="left">event_type</td>
                <td align="left">X</td>
                <td align="left">X</td>
                <td align="left">X</td>
                <td align="left">M</td>
              </tr>
              <tr>
                <td align="left">data</td>
                <td align="left">X</td>
                <td align="left">X</td>
                <td align="left">X</td>
                <td align="left">O</td>
              </tr>
              <tr>
                <td align="left">entry_id</td>
                <td align="left">O</td>
                <td align="left">O</td>
                <td align="left">O</td>
                <td align="left">O</td>
              </tr>
              <tr>
                <td align="left">parent_id</td>
                <td align="left">O</td>
                <td align="left">O</td>
                <td align="left">O</td>
                <td align="left">O</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="reusable">
        <name>Reusable Definitions</name>
        <t>The CDDL definitions in this section are used by more than one of the extension points above.</t>
        <figure anchor="fig-cddl-common">
          <name>CDDL for Definitions Used by More Than One Extension Point</name>
          <sourcecode type="cddl"><![CDATA[
vcs_context_type = {
    ; "git" / "jj" / "hg" / "svn"
    type: tstr,
    ; commit SHA or change ID
    ? revision: tstr,
    ? branch: tstr,
    ; repository URL
    ? repository: tstr,
    * tstr => any
  }

; Reference to an entry of the native agent trace
agent_entry_reference_type = (
    ? entry_id: agent_entry_id_type,
    ? parent_id: agent_entry_id_type
  )

; Per-entry unique reference within a session
agent_entry_id_type = tstr
]]></sourcecode>
        </figure>
        <section anchor="vcs_context">
          <name>VCS_Context Object</name>
          <t>The VCS_Context Object captures version control metadata for reproducibility.
Knowing the exact repository, branch, and commit at the time of a conversation enables consumers to reconstruct the codebase state and verify file attributions.
It is used by the vcs parameter of the vCon Object (<xref target="vcs"/>) and by the Environment Object of the Session Object (<xref target="environment"/>).</t>
          <dl>
            <dt>type:</dt>
            <dd>
              <t>The version control system type (e.g., "git", "jj", "hg", "svn").</t>
            </dd>
            <dt>revision:</dt>
            <dd>
              <t>The commit SHA or change identifier at session time.</t>
            </dd>
            <dt>branch:</dt>
            <dd>
              <t>The active branch name.</t>
            </dd>
            <dt>repository:</dt>
            <dd>
              <t>The repository URL.</t>
            </dd>
          </dl>
        </section>
        <section anchor="agent_entry_reference">
          <name>Agent Entry Reference</name>
          <t>Agent implementations identify each entry of their native trace and arrange entries in a tree.
The entry_id and parent_id parameters preserve this structure in the Dialog Objects (<xref target="dialog-object-parameters"/>) and the Event Objects (<xref target="event-object-types"/>) of an agent session.</t>
          <dl>
            <dt>entry_id:</dt>
            <dd>
              <t>A per-entry unique reference within a session, enabling parent-child linking.</t>
            </dd>
            <dt>parent_id:</dt>
            <dd>
              <t>References the parent entry, enabling tree-structured conversations.
Entries that the native format nests inside another entry reference that entry in parent_id.</t>
            </dd>
          </dl>
        </section>
      </section>
    </section>
    <section anchor="compatibility">
      <name>Compatibility Considerations</name>
      <t>This extension is Compatible as defined in <xref target="VCON-CORE"/>.</t>
      <t>The parameters added by this extension to the vCon Object (recording_agent, vcs, file_attribution), to the Party Object (agent_meta), to the Session Object (agent_session_id, format, environment), and to the Dialog Object (model_id, token_usage, entry_id, parent_id) are new and optional.
None of them changes the meaning, structure, or permitted values of any parameter defined in <xref target="VCON-CORE"/>.
An implementation that does not recognize these parameters can therefore continue to process the vCon correctly by ignoring them.</t>
      <t>The Event Object types added by this extension ("tool-call", "tool-result", "reasoning", "system-event") are values that an implementation that does not support this extension does not recognize.
As defined in <xref target="VCON-CORE"/>, such an implementation ignores these Event Objects, and they remain in the events array so that indexes are not changed.
The effect is that the agent trace is not processed, while the messages of the agent session, which are Dialog Objects, are processed as usual.
This does not make the extension Incompatible.</t>
    </section>
    <section anchor="incompatibility">
      <name>Incompatibility Considerations</name>
      <t>This extension introduces no incompatibilities.
All parameters and Event Object types defined in this document are new and additive.
None of them changes the semantics, structure, or permitted values of any parameter defined in <xref target="VCON-CORE"/>.
Because no incompatibility is introduced, the "ai_agent" extension name is not required to appear in the critical parameter.</t>
      <t>A redactor that does not support this extension cannot assess the content of the parameters and Event Object types defined in this document, which can carry PII (see <xref target="privacy"/>).
As described in <xref target="VCON-CORE"/>, such a redactor may reject a vCon that lists "ai_agent" in the extensions parameter.</t>
    </section>
    <section anchor="privacy">
      <name>Privacy and Integrity Considerations</name>
      <t>Verifiable agent conversation records reveal substantial information about agent behavior, system state, and user interactions.
The privacy considerations of <xref target="RFC6973"/> apply.</t>
      <section anchor="information-disclosure">
        <name>Information Disclosure</name>
        <t>User prompts captured in Dialog Objects may contain personal identifiers, business confidential information, credentials inadvertently included in prompts, or behavioral patterns.
Agent responses and reasoning traces may reveal inference results that expose information about users not explicitly provided, confidential information retrieved by tools, or system architecture details through tool names and parameters.
Implementations <bcp14>MUST</bcp14> treat user-provided content as potentially containing personally identifiable information.</t>
        <t>Record metadata exposes operational details that may have privacy implications.
Model identifiers reveal AI capabilities, CLI versions enable targeted attacks against known vulnerabilities, working directories expose file system structure, and VCS context discloses repository names and commit timing.
Token usage patterns may enable inference about conversation content even when the content itself is protected.</t>
      </section>
      <section anchor="sensitive-content-in-records">
        <name>Sensitive Content in Records</name>
        <t>Reasoning entries may contain inferences that constitute special category data, including health-related inferences from user queries, political opinions derived from conversation context, or biometric data processed by AI systems.
The encrypted parameter of the "reasoning" Event Object type reflects that some model providers encrypt chain-of-thought content; when reasoning is encrypted, audit capabilities depend on the provider's cooperation.</t>
        <t>Tool inputs and outputs warrant particular attention.
Tool call inputs may contain credentials, API keys, or file contents.
Tool results may contain query results with personal data from databases or external services.
Implementations <bcp14>SHOULD</bcp14> provide configurable redaction rules for common patterns and support selective entry type recording based on deployment requirements.</t>
      </section>
      <section anchor="redaction-and-de-identification">
        <name>Redaction and De-identification</name>
        <t>The input parameter of "tool-call" type Event Objects, the output parameter of "tool-result" type Event Objects, the content and encrypted parameters of "reasoning" type Event Objects, and the data parameter of "system-event" type Event Objects can carry party-identifying data or PII.
The same applies to the Dialog Content of the Dialog Objects that represent messages, to the working_dir and sandboxes members of the Environment Object, and to the path and url members of the File_Attribution Object.
A redactor is expected to handle these parameters like Dialog Content, using the redacted parameter of <xref target="VCON-CORE"/>.
A redactor that removes an Event Object entirely leaves a placeholder in the events array, so that indexes in other Objects do not change.</t>
      </section>
      <section anchor="external-references">
        <name>External References</name>
        <t>This extension does not add url and content_hash parameters for externally referenced files as defined in <xref target="VCON-CORE"/>, and therefore introduces no new externally referenced content.
The url members of the File_Conversation Object and of the Resource Object are references to related resources and not content of the vCon.
They are not protected by a content_hash.</t>
      </section>
      <section anchor="retention-considerations">
        <name>Retention Considerations</name>
        <t>Multiple frameworks impose retention requirements that may conflict with data minimization principles.
Organizations must balance compliance obligations requiring extended retention against privacy principles requiring timely deletion.</t>
        <t>Compliant data management may require separating raw personal data from audit trail metadata, implementing automated deletion for personal data after compliance-minimum periods, and maintaining cryptographic commitments enabling verification without retaining content.</t>
      </section>
      <section anchor="correlation-and-inference">
        <name>Correlation and Inference</name>
        <t>Presentations of the same record to multiple parties can be correlated by matching on the signature component.
Session identifiers enable linking of records across time, potentially revealing long-term behavioral patterns or organizational structure.
Implementations <bcp14>SHOULD</bcp14> use unlinkable session identifiers where correlation is not required.</t>
        <t>Without accessing record content, observers may infer conversation frequency and duration patterns, types of tools used, error rates, or timing correlations with external events.
Metadata exposure in unprotected headers warrants careful consideration; the trace-metadata in the COSE unprotected header (<xref target="scitt-cose"/>) reveals session identifiers, agent vendor, and timestamps even when the payload is encrypted.</t>
      </section>
      <section anchor="authority-access">
        <name>Authority Access</name>
        <t>Regulatory frameworks may require provision of records to authorities upon request.
Access to records has to be logged, capturing who accessed which records, when access occurred, what legal basis justified access, and what data was disclosed.
This creates a recursive consideration: access logs may themselves contain personal data requiring protection.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="VCON-CORE"/> apply.</t>
      <section anchor="record-integrity">
        <name>Record Integrity</name>
        <t>The signed form of a vCon <xref target="VCON-CORE"/> and the signed-agent-record envelope (<xref target="scitt-cose"/>) provide cryptographic integrity protection for the serialized record payload.
A valid signature establishes that the claimed signer produced the record but does not guarantee the truthfulness of its contents.
Modifications to the record structure after signing invalidate the signature, but modifications before signing cannot be detected.
Implementations generating records incrementally during a conversation <bcp14>MUST</bcp14> sign only after the conversation concludes or at defined checkpoints.</t>
      </section>
      <section anchor="signing-key-protection">
        <name>Signing Key Protection</name>
        <t>The security of signed records depends critically on the protection of private signing keys.
If an attacker obtains a signing key, they can forge records indistinguishable from genuine ones.
Protection mechanisms range from operating system process isolation in development environments to hardware security modules with physical tampering resistance in high-assurance deployments.
Compromised signing keys require rejection of records signed after the compromise date and notification to Relying Parties.</t>
        <t>Key provisioning processes must guarantee that exclusively valid attestation key material is established.
Off-device key generation requires confidentiality protection during transmission, creating recursive security dependencies.
On-device key generation eliminates transmission risks but requires chain-of-custody integrity to prevent attackers from obtaining endorsement for keys they control.</t>
      </section>
      <section anchor="timestamp-integrity">
        <name>Timestamp Integrity</name>
        <t>Timestamps establish temporal ordering of events within records.
Attackers who can manipulate timestamps can backdate records, freeze participants in chosen time periods to evade freshness checks, or manipulate perceived temporal relationships between entries.
Timestamps within records are attested by the signer, not independently verified.
Implementations requiring independent timestamp verification <bcp14>SHOULD</bcp14> use external timestamping services or transparency logs such as those defined in <xref target="RFC9943"/>.</t>
      </section>
      <section anchor="adversarial-content">
        <name>Adversarial Content</name>
        <t>Processing verifiable agent conversation records involves parsing content that may be produced by adversaries.
This applies both to user-supplied prompts and to model outputs that may have been influenced by adversarial inputs.
The open extensibility (<tt>* tstr =&gt; any</tt>) in the Objects defined in this document allows arbitrary additional fields; implementations <bcp14>MUST NOT</bcp14> assume that unrecognized fields are safe to process or display.</t>
        <t>Records may contain content designed to exploit downstream systems.
Malicious prompts preserved in records may execute if records are subsequently processed by AI systems.
Tool results may contain executable content that executes if rendered unsafely in web interfaces.
File paths in tool calls or file attribution entries may attempt directory traversal.
Implementations <bcp14>MUST</bcp14> apply appropriate sanitization before rendering content, executing it in agent contexts, or using paths for file system operations.</t>
      </section>
      <section anchor="non-repudiation">
        <name>Non-Repudiation</name>
        <t>The signed form of a vCon and the signed-agent-record envelope alone provide authenticity and integrity, not non-repudiation.
A signer can claim key compromise or dispute the signing time without independent evidence.
Non-repudiation requires additional infrastructure such as transparency services <xref target="RFC9943"/> that provide independent timestamp proof via registration receipts, append-only logs preventing retroactive denial, and third-party witnesses to the signing event.</t>
      </section>
      <section anchor="detection-and-trust-boundaries">
        <name>Detection and Trust Boundaries</name>
        <t>Verifiable agent conversation records primarily enable detection of anomalous behavior rather than prevention.
Detection requires that records accurately reflect actual agent behavior; an agent that controls its own recording can omit or falsify entries.
The recording_agent parameter distinguishes the recording tool from the conversing agent, enabling Relying Parties to assess trust in the recording process.</t>
        <t>Trust boundaries exist between the agent runtime and recording system, between the recording system and storage, between storage and verification, and between verification and decision-making.
Attacks at any boundary may compromise record integrity or confidentiality.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="vcon-json-registry-additions">
        <name>vCon JSON Registry Additions</name>
        <section anchor="vcon-extensions-names-registry">
          <name>vCon Extensions Names Registry</name>
          <t>The following extension name is added to the vCon Extensions Names Registry.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Extension Name</th>
                <th align="left">Extension Description</th>
                <th align="left">Change Controller</th>
                <th align="left">Specification Document(s)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">ai_agent</td>
                <td align="left">AI Agent conversation records</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="extension-name"/> RFC XXXX</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="vcon-object-parameter-names-registry">
          <name>vCon Object Parameter Names Registry</name>
          <t>The following defines additional values for the vCon Object Parameter Names Registry.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Parameter Name</th>
                <th align="left">Parameter Description</th>
                <th align="left">Change Controller</th>
                <th align="left">Specification Document(s)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">recording_agent</td>
                <td align="left">tool that generated the record</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="recording_agent"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">vcs</td>
                <td align="left">record-level version control context</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="vcs"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">file_attribution</td>
                <td align="left">attribution of modified files</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="file_attribution"/> RFC XXXX</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="party-object-parameter-names-registry">
          <name>Party Object Parameter Names Registry</name>
          <t>The following defines additional values for the Party Object Parameter Names Registry.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Parameter Name</th>
                <th align="left">Parameter Description</th>
                <th align="left">Change Controller</th>
                <th align="left">Specification Document(s)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">agent_meta</td>
                <td align="left">agent and model metadata</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="agent_meta"/> RFC XXXX</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="session-object-parameter-names-registry">
          <name>Session Object Parameter Names Registry</name>
          <t>The following defines additional values for the Session Object Parameter Names Registry.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Parameter Name</th>
                <th align="left">Parameter Description</th>
                <th align="left">Change Controller</th>
                <th align="left">Specification Document(s)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">agent_session_id</td>
                <td align="left">native agent session identifier</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="agent_session_id"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">format</td>
                <td align="left">agent session style</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="format"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">environment</td>
                <td align="left">agent execution environment</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="environment"/> RFC XXXX</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="dialog-object-parameter-names-registry">
          <name>Dialog Object Parameter Names Registry</name>
          <t>The following defines additional values for the Dialog Object Parameter Names Registry.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Parameter Name</th>
                <th align="left">Parameter Description</th>
                <th align="left">Change Controller</th>
                <th align="left">Specification Document(s)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">model_id</td>
                <td align="left">model that generated the response</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="model_id"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">token_usage</td>
                <td align="left">token consumption metrics</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="token_usage"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">entry_id</td>
                <td align="left">native agent entry identifier</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="agent_entry_reference"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">parent_id</td>
                <td align="left">native agent parent entry identifier</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="agent_entry_reference"/> RFC XXXX</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="event-object-parameter-names-registry">
          <name>Event Object Parameter Names Registry</name>
          <t>The following defines additional values for the Event Object Parameter Names Registry.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Parameter Name</th>
                <th align="left">Parameter Description</th>
                <th align="left">Change Controller</th>
                <th align="left">Specification Document(s)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">tool_name</td>
                <td align="left">name of the invoked tool</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="event-type-tool-call"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">input</td>
                <td align="left">tool arguments</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="event-type-tool-call"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">call_id</td>
                <td align="left">tool call and result correlation</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="event-type-tool-call"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">output</td>
                <td align="left">tool output</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="event-type-tool-result"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">status</td>
                <td align="left">tool execution status</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="event-type-tool-result"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">is_error</td>
                <td align="left">tool execution error flag</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="event-type-tool-result"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">content</td>
                <td align="left">reasoning content</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="event-type-reasoning"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">encrypted</td>
                <td align="left">encrypted reasoning content</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="event-type-reasoning"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">subject</td>
                <td align="left">reasoning topic label</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="event-type-reasoning"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">event_type</td>
                <td align="left">system event classifier</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="event-type-system-event"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">data</td>
                <td align="left">system event payload</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="event-type-system-event"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">entry_id</td>
                <td align="left">native agent entry identifier</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="agent_entry_reference"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">parent_id</td>
                <td align="left">native agent parent entry identifier</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="agent_entry_reference"/> RFC XXXX</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="event-type-name-registry">
          <name>Event Type Name Registry</name>
          <t>The following defines additional values for the Event Type Name Registry.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Event Type Name</th>
                <th align="left">Event Type Description</th>
                <th align="left">Change Controller</th>
                <th align="left">Specification Document(s)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">tool-call</td>
                <td align="left">agent tool invocation</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="event-type-tool-call"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">tool-result</td>
                <td align="left">agent tool result</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="event-type-tool-result"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">reasoning</td>
                <td align="left">agent reasoning</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="event-type-reasoning"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">system-event</td>
                <td align="left">agent system lifecycle event</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="event-type-system-event"/> RFC XXXX</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="new-object-parameter-names-registries">
          <name>New Object Parameter Names Registries</name>
          <dl>
            <dt>Editor's Note:</dt>
            <dd>
              <t><xref target="VCON-CORE"/> recommends requesting a parameter names registry for each new Object.
This extension defines the Recording_Agent, File_Attribution, File, File_Conversation, Range, Contributor, Resource, Agent_Meta, Environment, Token_Usage, and VCS_Context Objects.
The registries will be requested once the assignment of these Objects to extension points is settled.</t>
            </dd>
          </dl>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="JSON">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="VCON-CORE">
          <front>
            <title>The JSON format for vCon - Conversation Data Container</title>
            <author fullname="Daniel Petrie" initials="D." surname="Petrie">
              <organization>SIPez LLC</organization>
            </author>
            <date day="7" month="September" year="2026"/>
            <abstract>
              <t>   vCon is a standardized framework for the exchange of conversational
   data.  Conversations, which may involve one or more participants,
   occur across a wide variety of modes and application platforms.  This
   document defines a JSON format for representing conversational data,
   encompassing metadata, conversation media, related documents, and
   analysis.  The goal of this standard is to provide an abstracted,
   platform-independent data format for conversations, regardless of the
   mode or application platform.  By doing so, it facilitates the
   integration and seamless exchange of conversational data across
   application platforms, enterprises, and trust boundaries.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-vcon-vcon-core-04"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="CDDL">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC9682">
          <front>
            <title>Updates to the Concise Data Definition Language (CDDL) Grammar</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="November" year="2024"/>
            <abstract>
              <t>The Concise Data Definition Language (CDDL), as defined in RFCs 8610 and 9165, provides an easy and unambiguous way to express structures for protocol messages and data formats that are represented in Concise Binary Object Representation (CBOR) or JSON.</t>
              <t>This document updates RFC 8610 by addressing related errata reports and making other small fixes for the ABNF grammar defined for CDDL.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9682"/>
          <seriesInfo name="DOI" value="10.17487/RFC9682"/>
        </reference>
        <reference anchor="RFC9393">
          <front>
            <title>Concise Software Identification Tags</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="J. Fitzgerald-McKay" initials="J." surname="Fitzgerald-McKay"/>
            <author fullname="C. Schmidt" initials="C." surname="Schmidt"/>
            <author fullname="D. Waltermire" initials="D." surname="Waltermire"/>
            <date month="June" year="2023"/>
            <abstract>
              <t>ISO/IEC 19770-2:2015 Software Identification (SWID) tags provide an extensible XML-based structure to identify and describe individual software components, patches, and installation bundles. SWID tag representations can be too large for devices with network and storage constraints. This document defines a concise representation of SWID tags: Concise SWID (CoSWID) tags. CoSWID supports a set of semantics and features that are similar to those for SWID tags, as well as new semantics that allow CoSWIDs to describe additional types of information, all in a more memory-efficient format.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9393"/>
          <seriesInfo name="DOI" value="10.17487/RFC9393"/>
        </reference>
        <reference anchor="RFC6973">
          <front>
            <title>Privacy Considerations for Internet Protocols</title>
            <author fullname="A. Cooper" initials="A." surname="Cooper"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="J. Morris" initials="J." surname="Morris"/>
            <author fullname="M. Hansen" initials="M." surname="Hansen"/>
            <author fullname="R. Smith" initials="R." surname="Smith"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications. It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices. It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6973"/>
          <seriesInfo name="DOI" value="10.17487/RFC6973"/>
        </reference>
        <reference anchor="STD94">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="STD96">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9360">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing X.509 Certificates</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>The CBOR Object Signing and Encryption (COSE) message structure uses references to keys in general. For some algorithms, additional properties are defined that carry parameters relating to keys as needed. The COSE Key structure is used for transporting keys outside of COSE messages. This document extends the way that keys can be identified and transported by providing attributes that refer to or contain X.509 certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9360"/>
          <seriesInfo name="DOI" value="10.17487/RFC9360"/>
        </reference>
        <reference anchor="RFC9597">
          <front>
            <title>CBOR Web Token (CWT) Claims in COSE Headers</title>
            <author fullname="T. Looker" initials="T." surname="Looker"/>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document describes how to include CBOR Web Token (CWT) claims in the header parameters of any CBOR Object Signing and Encryption (COSE) structure. This functionality helps to facilitate applications that wish to make use of CWT claims in encrypted COSE structures and/or COSE structures featuring detached signatures, while having some of those claims be available before decryption and/or without inspecting the detached payload. Another use case is using CWT claims with payloads that are not CWT Claims Sets, including payloads that are not CBOR at all.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9597"/>
          <seriesInfo name="DOI" value="10.17487/RFC9597"/>
        </reference>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC9943">
          <front>
            <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
            <author fullname="C. Fournet" initials="C." surname="Fournet"/>
            <author fullname="Y. Deshpande" initials="Y." surname="Deshpande"/>
            <author fullname="S. Lasker" initials="S." surname="Lasker"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>Traceability in supply chains is a growing security concern. While Verifiable Data Structures (VDSs) have addressed specific issues, such as equivocation over digital certificates, they lack a universal architecture for all supply chains. This document defines such an architecture for single-issuer signed statement transparency. It ensures extensibility and interoperability between different transparency services as well as compliance with various auditing procedures and regulatory requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9943"/>
          <seriesInfo name="DOI" value="10.17487/RFC9943"/>
        </reference>
        <reference anchor="RFC9942">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) Receipts</title>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
            <author fullname="C. Fournet" initials="C." surname="Fournet"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>CBOR Object Signing and Encryption (COSE) Receipts prove properties of a Verifiable Data Structure (VDS) to a verifier. VDSs and associated Proof Types enable security properties, such as minimal disclosure, transparency, and non-equivocation. Transparency helps maintain trust over time and has been applied to certificates, end-to-end encrypted messaging systems, and supply chain security. This specification enables concise transparency-oriented systems by building on Concise Binary Object Representation (CBOR) and COSE. The extensibility of the approach is demonstrated by providing CBOR encodings for Merkle inclusion and consistency proofs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9942"/>
          <seriesInfo name="DOI" value="10.17487/RFC9942"/>
        </reference>
        <reference anchor="VACR">
          <front>
            <title>Verifiable Agent Conversation Records</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         </author>
            <author fullname="Tobias Heldt" initials="T." surname="Heldt">
         </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
         </author>
            <date day="31" month="August" year="2026"/>
            <abstract>
              <t>   Autonomous agents based on large language models increasingly perform
   consequential tasks on behalf of humans and other agents.
   Demonstrating that recorded agent behavior truthfully represents
   actual behavior is essential for accountability, compliance, and
   human oversight.  This document defines a data format for verifiable
   agent conversation records using CDDL, with representations in both
   JSON and CBOR.  The format captures session metadata, message
   exchanges, tool invocations, reasoning traces, and system events in a
   structured, extensible CDDL definition for verifiable agent
   conversation records.  COSE is used as the signing method to allow
   for native interoperability in SCITT Transparency Services and the
   CDDL definition allows for seemless integration in Evidence as
   specified in RFC 9334.  The specification supports cross-vendor
   interoperability by defining a common representation that
   accommodates translation from multiple existing agent implementations
   with distinct data structure layouts that are typically represented
   in JSON.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-birkholz-verifiable-agent-conversations-01"/>
        </reference>
        <reference anchor="HOWE-AGENT-SESSION">
          <front>
            <title>vCon Agent Session</title>
            <author fullname="Thomas McCarthy-Howe" initials="T." surname="McCarthy-Howe">
              <organization>VCONIC</organization>
            </author>
            <date day="20" month="May" year="2026"/>
            <abstract>
              <t>   This document defines an "agent_session" extension for Virtualized
   Conversations (vCon) that profiles the use of vCon parties, dialog,
   analysis, and attachments to carry the record of an autonomous AI
   agent's internal session - its prompts, tool invocations, tool
   results, reasoning, and file or artifact provenance - alongside the
   human-facing conversation that the agent participated in or acted
   upon.

   The extension is a Compatible vCon extension.  It introduces no new
   top-level fields and does not alter the semantics of existing ones.
   Instead, it specifies (a) how an autonomous agent is represented as a
   vCon party, (b) how agent message turns are placed in the dialog
   array, (c) how the internal agent trace (tool calls, results,
   reasoning, system events) is carried as a structured analysis entry
   whose body conforms to the Verifiable Agent Conversations (VAC) CDDL
   schema [I-D.draft-birkholz-verifiable-agent-conversations], and (d)
   how files and artifacts modified by the agent are carried as
   attachments.

   By projecting agent-session data into the vCon model, implementations
   inherit vCon's party/identity model, the lawful basis framework
   [I-D.draft-howe-vcon-lawful-basis], the lifecycle and redaction
   machinery [I-D.draft-howe-vcon-lifecycle], and JWS-based signing,
   without re-specifying any of those concerns.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-howe-vcon-agent-session-00"/>
        </reference>
        <reference anchor="HOWE-PROVENANCE">
          <front>
            <title>vCon Generation Provenance</title>
            <author fullname="Thomas McCarthy-Howe" initials="T." surname="McCarthy-Howe">
              <organization>VCONIC</organization>
            </author>
            <date day="4" month="June" year="2026"/>
            <abstract>
              <t>   This document defines a "provenance" extension for Virtualized
   Conversations (vCon) that records how a piece of generated content
   was produced by a generative model: the model and provider, the
   decoding parameters (for example temperature and top_p), the prompt
   or a hash of it, the vCon elements that were given to the model as
   input, and a hash of the output.  The record is carried as a named
   provenance member on the analysis object it describes (and, for
   machine-generated dialog, on the dialog object), so that an analysis
   has a real, named home for "how this was generated" rather than
   overloading the analysis body or schema.

   The extension is a Compatible vCon extension.  It introduces no new
   top-level fields and does not alter the semantics of existing ones.
   Because the provenance record binds an output to its model, prompt,
   and inputs by hash, a signed vCon, or a SCITT transparency receipt
   over it, can attest to a verifiable derivation: not only that the
   analysis exists, but how it came to be.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-howe-vcon-provenance-00"/>
        </reference>
        <reference anchor="ROSENBERG-RESTRUCTURE">
          <front>
            <title>Virtualized Conversations (VCON) Restructure to Facilitate AI Agent Use Cases</title>
            <author fullname="Jonathan Rosenberg" initials="J." surname="Rosenberg">
              <organization>jdrosen.net</organization>
            </author>
            <date day="11" month="September" year="2026"/>
            <abstract>
              <t>   The Virtualized Conversations (VCON) specification provides a
   structured format for storing recordings of conversations, including
   phone calls, email threads and multi-party chats.  VCONs also store
   metadata like call transcripts and mid-call events, like a call hold
   or addition of a party.  Its structure is well suited for 2-party and
   basic multiparty phone calls.  However, there is a need for the VCON
   format to also act as a record of AI Agent conversations, which are
   just another type of conversation.  This document proposes changes to
   the object model in VCON to make it a more suitable format for
   handling AI Agent conversations, as well as more complex conferencing
   use cases.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-rosenberg-vcon-restructure-00"/>
        </reference>
        <reference anchor="EU_AI_ACT_2024" target="https://eur-lex.europa.eu/eli/reg/2024/1689/oj">
          <front>
            <title>Regulation (EU) 2024/1689 (Artificial Intelligence Act)</title>
            <author>
              <organization>European Parliament</organization>
            </author>
            <author>
              <organization>Council of the European Union</organization>
            </author>
            <date year="2024" month="July"/>
          </front>
          <seriesInfo name="Official Journal of the European Union" value="L 2024/1689"/>
          <seriesInfo name="CELEX:" value="32024R1689"/>
        </reference>
        <reference anchor="EU_CRA_2024" target="https://eur-lex.europa.eu/eli/reg/2024/2847/oj">
          <front>
            <title>Regulation (EU) 2024/2847 (Cyber Resilience Act)</title>
            <author>
              <organization>European Parliament</organization>
            </author>
            <author>
              <organization>Council of the European Union</organization>
            </author>
            <date year="2024" month="November"/>
          </front>
          <seriesInfo name="Official Journal of the European Union" value="L 2024/2847"/>
          <seriesInfo name="CELEX:" value="32024R2847"/>
        </reference>
        <reference anchor="EU_NIS2_2022">
          <front>
            <title>Directive (EU) 2022/2555 (NIS 2 Directive)</title>
            <author>
              <organization>European Parliament</organization>
            </author>
            <author>
              <organization>Council of the European Union</organization>
            </author>
            <date year="2022" month="December"/>
          </front>
          <seriesInfo name="Official Journal of the European Union" value="L 333"/>
          <seriesInfo name="CELEX:" value="32022L2555"/>
        </reference>
        <reference anchor="ETSI_TS_104223_2025" target="https://www.etsi.org/deliver/etsi_ts/104200_104299/104223/01.01.01_60/ts_104223v010101p.pdf">
          <front>
            <title>Securing Artificial Intelligence (SAI); Baseline Cyber Security Requirements for AI Models and Systems</title>
            <author>
              <organization>European Telecommunications Standards Institute</organization>
            </author>
            <date year="2025" month="April"/>
          </front>
          <seriesInfo name="ETSI TS" value="104 223, V1.1.1"/>
        </reference>
        <reference anchor="AICPA_TSC_2017" target="https://www.aicpa-cima.com/resources/download/2017-trust-services-criteria-with-revised-points-of-focus-2022">
          <front>
            <title>Trust Services Criteria for Security, Availability, Processing Integrity, Confidentiality, and Privacy (With Revised Points of Focus - 2022)</title>
            <author>
              <organization>American Institute of Certified Public Accountants</organization>
            </author>
            <author>
              <organization>Chartered Institute of Management Accountants</organization>
            </author>
            <date year="2017"/>
          </front>
          <seriesInfo name="AICPA" value="Trust Services Criteria"/>
        </reference>
        <reference anchor="NIST_SP_800_53_R5" target="https://csrc.nist.gov/pubs/sp/800/53/r5/upd1/final">
          <front>
            <title>Security and Privacy Controls for Information Systems and Organizations</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2020" month="September"/>
          </front>
          <seriesInfo name="NIST Special Publication" value="800-53, Revision 5"/>
        </reference>
        <reference anchor="OMB_M_21_31" target="https://www.whitehouse.gov/wp-content/uploads/2021/08/M-21-31-Improving-the-Federal-Governments-Investigative-and-Remediation-Capabilities-Related-to-Cybersecurity-Incidents.pdf">
          <front>
            <title>Improving the Federal Government's Investigative and Remediation Capabilities Related to Cybersecurity Incidents</title>
            <author>
              <organization>Office of Management and Budget</organization>
            </author>
            <date year="2021" month="August"/>
          </front>
          <seriesInfo name="OMB Memorandum" value="M-21-31"/>
        </reference>
        <reference anchor="PCI_DSS_V4_0_1" target="https://www.pcisecuritystandards.org/document_library/">
          <front>
            <title>Payment Card Industry Data Security Standard</title>
            <author>
              <organization>PCI Security Standards Council</organization>
            </author>
            <date year="2024" month="June"/>
          </front>
          <seriesInfo name="PCI DSS" value="Version 4.0.1"/>
        </reference>
        <reference anchor="ISO_IEC_42001_2023" target="https://www.iso.org/standard/42001">
          <front>
            <title>Information technology - Artificial intelligence - Management system</title>
            <author>
              <organization>International Organization for Standardization</organization>
            </author>
            <author>
              <organization>International Electrotechnical Commission</organization>
            </author>
            <date year="2023" month="December"/>
          </front>
          <seriesInfo name="ISO/IEC" value="42001:2023"/>
        </reference>
        <reference anchor="FFIEC_IT_HANDBOOK_2024" target="https://ithandbook.ffiec.gov/">
          <front>
            <title>Information Technology Examination Handbook</title>
            <author>
              <organization>Federal Financial Institutions Examination Council</organization>
            </author>
            <date year="2024" month="August"/>
          </front>
          <seriesInfo name="FFIEC" value="IT Examination Handbook"/>
        </reference>
        <reference anchor="BSI_AI_FINANCE_2024" target="https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/KI/AI-Finance_Test-Criteria.pdf">
          <front>
            <title>Test Criteria Catalogue for AI Systems in Finance</title>
            <author>
              <organization>Bundesamt fuer Sicherheit in der Informationstechnik</organization>
            </author>
            <date year="2024"/>
          </front>
          <seriesInfo name="BSI" value="AI Finance Test Criteria"/>
        </reference>
        <reference anchor="NIST_AI_100_2_E2025" target="https://csrc.nist.gov/pubs/ai/100/2/e2025/final">
          <front>
            <title>Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2025" month="March"/>
          </front>
          <seriesInfo name="NIST AI" value="100-2 E2025"/>
        </reference>
        <reference anchor="EMERGENT_MISALIGNMENT_2025" target="https://arxiv.org/abs/2502.17424">
          <front>
            <title>Emergent Misalignment: Narrow finetuning can produce broadly misaligned LLMs</title>
            <author initials="J." surname="Betley" fullname="Jan Betley">
              <organization/>
            </author>
            <author initials="D." surname="Tan" fullname="Daniel Tan">
              <organization/>
            </author>
            <author initials="N." surname="Warncke" fullname="Niels Warncke">
              <organization/>
            </author>
            <author initials="A." surname="Sztyber-Betley" fullname="Anna Sztyber-Betley">
              <organization/>
            </author>
            <author initials="X." surname="Bao" fullname="Xuchan Bao">
              <organization/>
            </author>
            <author initials="M." surname="Soto" fullname="Martin Soto">
              <organization/>
            </author>
            <author initials="N." surname="Labenz" fullname="Nathan Labenz">
              <organization/>
            </author>
            <author initials="O." surname="Evans" fullname="Owain Evans">
              <organization/>
            </author>
            <date year="2025" month="February"/>
          </front>
          <seriesInfo name="arXiv" value="2502.17424"/>
          <seriesInfo name="PMLR" value="267:4043-4068"/>
        </reference>
        <reference anchor="ISO_IEC_DIS_24970" target="https://www.iso.org/standard/88723.html">
          <front>
            <title>Artificial intelligence - AI system logging</title>
            <author>
              <organization>International Organization for Standardization</organization>
            </author>
            <author>
              <organization>International Electrotechnical Commission</organization>
            </author>
            <date year="2025"/>
          </front>
          <seriesInfo name="ISO/IEC DIS" value="24970"/>
        </reference>
      </references>
    </references>
    <?line 1292?>

<section anchor="compliance-requirements-for-ai-agent-conversation-records">
      <name>Compliance Requirements for AI Agent Conversation Records</name>
      <t>This section identifies the intersection of logging, traceability, and record-keeping requirements across major compliance frameworks applicable to AI systems.
The verifiable agent conversation format defined in this document addresses these requirements by providing a standardized, cryptographically verifiable record of AI agent interactions.</t>
      <section anchor="applicable-requirement-frameworks">
        <name>Applicable Requirement Frameworks</name>
        <t>The following frameworks were analyzed for their requirements on AI agent traceability and session logging:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Framework</th>
              <th align="left">Jurisdiction</th>
              <th align="left">Sector</th>
              <th align="left">Status</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">EU AI Act <xref target="EU_AI_ACT_2024"/></td>
              <td align="left">EU</td>
              <td align="left">Cross-sector</td>
              <td align="left">In force Aug 2024</td>
            </tr>
            <tr>
              <td align="left">Cyber Resilience Act <xref target="EU_CRA_2024"/></td>
              <td align="left">EU</td>
              <td align="left">Products with digital elements</td>
              <td align="left">In force Dec 2024</td>
            </tr>
            <tr>
              <td align="left">NIS2 Directive <xref target="EU_NIS2_2022"/></td>
              <td align="left">EU</td>
              <td align="left">Essential/important entities</td>
              <td align="left">Transposed Oct 2024</td>
            </tr>
            <tr>
              <td align="left">ETSI TS 104 223 <xref target="ETSI_TS_104223_2025"/></td>
              <td align="left">EU/International</td>
              <td align="left">AI systems</td>
              <td align="left">Published Apr 2025</td>
            </tr>
            <tr>
              <td align="left">SOC 2 Trust Services Criteria <xref target="AICPA_TSC_2017"/></td>
              <td align="left">US/International</td>
              <td align="left">Service organizations</td>
              <td align="left">Active</td>
            </tr>
            <tr>
              <td align="left">FedRAMP <xref target="NIST_SP_800_53_R5"/> <xref target="OMB_M_21_31"/></td>
              <td align="left">US</td>
              <td align="left">Federal cloud services</td>
              <td align="left">Active</td>
            </tr>
            <tr>
              <td align="left">PCI DSS <xref target="PCI_DSS_V4_0_1"/></td>
              <td align="left">International</td>
              <td align="left">Payment card industry</td>
              <td align="left">Mandatory Mar 2025</td>
            </tr>
            <tr>
              <td align="left">ISO/IEC 42001 <xref target="ISO_IEC_42001_2023"/></td>
              <td align="left">International</td>
              <td align="left">AI management systems</td>
              <td align="left">Published 2023</td>
            </tr>
            <tr>
              <td align="left">FFIEC IT Handbook <xref target="FFIEC_IT_HANDBOOK_2024"/></td>
              <td align="left">US</td>
              <td align="left">Financial institutions</td>
              <td align="left">Updated 2024</td>
            </tr>
            <tr>
              <td align="left">BSI AI Finance Test Criteria <xref target="BSI_AI_FINANCE_2024"/></td>
              <td align="left">Germany</td>
              <td align="left">Financial sector AI</td>
              <td align="left">Published 2024</td>
            </tr>
            <tr>
              <td align="left">NIST AI 100-2 <xref target="NIST_AI_100_2_E2025"/></td>
              <td align="left">US</td>
              <td align="left">Cross-sector</td>
              <td align="left">Published 2025</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="common-requirements-intersection">
        <name>Common Requirements Intersection</name>
        <t>The analysis of the frameworks listed above results in eleven categories of requirements that appear across ALL or MOST frameworks.
These categories frame and represent a minimum baseline that verifiable agent conversation records <bcp14>MUST</bcp14> support.</t>
        <section anchor="req-1-automatic-event-logging">
          <name>REQ-1: Automatic Event Logging</name>
          <t>All frameworks require automatic, system-generated logging of events without reliance on manual recording.
Explicit requirements are listed as follows:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Framework</th>
                <th align="left">Requirement</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">EU AI Act Art. 12</td>
                <td align="left">"High-risk AI systems shall technically allow for the automatic recording of events (logs)"</td>
              </tr>
              <tr>
                <td align="left">ETSI TS 104223 5.4.2-1</td>
                <td align="left">"System Operators shall log system and user actions"</td>
              </tr>
              <tr>
                <td align="left">SOC 2 CC7.2</td>
                <td align="left">"Complete and chronological record of all user actions and system responses"</td>
              </tr>
              <tr>
                <td align="left">FedRAMP AU-12</td>
                <td align="left">"Audit Record Generation" control requirement</td>
              </tr>
              <tr>
                <td align="left">PCI DSS 4.0 Req 10</td>
                <td align="left">"Audit logs implemented to support detection of anomalies"</td>
              </tr>
              <tr>
                <td align="left">ISO 42001 A.6.2.8</td>
                <td align="left">"AI system recording of event logs"</td>
              </tr>
            </tbody>
          </table>
          <t>Mapping to this specification:
The Dialog Objects and Event Objects of a Session Object capture all events automatically.
Each of them represents a discrete, system-recorded event with structured metadata.</t>
        </section>
        <section anchor="req-2-timestamp-requirements">
          <name>REQ-2: Timestamp Requirements</name>
          <t>Most frameworks require precise temporal information for each logged event.
Explicit requirements are listed as follows:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Framework</th>
                <th align="left">Requirement</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">EU AI Act Art. 12(2)</td>
                <td align="left">"Precise timestamps for each usage session" (biometric systems)</td>
              </tr>
              <tr>
                <td align="left">PCI DSS 4.0 Req 10.6</td>
                <td align="left">"Time-synchronization mechanisms support consistent time settings"</td>
              </tr>
              <tr>
                <td align="left">SOC 2</td>
                <td align="left">"When the activity was performed via timestamp"</td>
              </tr>
              <tr>
                <td align="left">NIS2</td>
                <td align="left">"Precise logging of when an incident was first detected"</td>
              </tr>
            </tbody>
          </table>
          <t>Mapping to this specification:
The start parameter of each Dialog Object and the time parameter of each Event Object use the Date type of <xref target="VCON-CORE"/>, which is an RFC 3339 string, ensuring interoperability across implementations.</t>
        </section>
        <section anchor="req-3-actor-identification">
          <name>REQ-3: Actor Identification</name>
          <t>Most frameworks require some attribution of actions to identifiable actors (human or system).
Explicit requirements are listed as follows:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Framework</th>
                <th align="left">Requirement</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">EU AI Act Art. 12(3)(d)</td>
                <td align="left">"Identification of the natural persons involved in the verification of results"</td>
              </tr>
              <tr>
                <td align="left">SOC 2</td>
                <td align="left">"The process or user who initiated the activity (Who)"</td>
              </tr>
              <tr>
                <td align="left">PCI DSS 4.0</td>
                <td align="left">Attribution to "Who" performed each action</td>
              </tr>
              <tr>
                <td align="left">FedRAMP AC-2</td>
                <td align="left">Account management and identification</td>
              </tr>
            </tbody>
          </table>
          <t>Mapping to this specification:
The <tt>contributor</tt> type captures actor attribution with <tt>type</tt> (human/ai/mixed/unknown) and optional <tt>model_id</tt>.
The <tt>agent_meta</tt> parameter of the Party Object identifies the AI system.</t>
        </section>
        <section anchor="req-4-actionevent-type-recording">
          <name>REQ-4: Action/Event Type Recording</name>
          <t>All frameworks require recording of what action or event occurred.
Explicit requirements are listed as follows:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Framework</th>
                <th align="left">Requirement</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">EU AI Act Art. 12</td>
                <td align="left">"Events relevant for identifying situations that may result in...risk"</td>
              </tr>
              <tr>
                <td align="left">ETSI TS 104223 5.2.4-3</td>
                <td align="left">"Audit log of changes to system prompts or other model configuration"</td>
              </tr>
              <tr>
                <td align="left">SOC 2</td>
                <td align="left">"The action they performed such as file transferred, created, or deleted (What)"</td>
              </tr>
              <tr>
                <td align="left">PCI DSS 4.0</td>
                <td align="left">"What" component of audit trail</td>
              </tr>
            </tbody>
          </table>
          <t>Mapping to this specification:
The <tt>type</tt> parameter of Dialog Objects and Event Objects discriminates event types: <tt>text</tt> (messages), <tt>tool-call</tt>, <tt>tool-result</tt>, <tt>reasoning</tt>, <tt>system-event</tt>.</t>
        </section>
        <section anchor="req-5-inputoutput-recording-ai-specific">
          <name>REQ-5: Input/Output Recording (AI-Specific)</name>
          <t>All AI-specific frameworks require recording of inputs (prompts) and outputs (responses).
Explicit requirements are listed as follows:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Framework</th>
                <th align="left">Requirement</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">EU AI Act Art. 12(3)(c)</td>
                <td align="left">"The input data for which the search has led to a match"</td>
              </tr>
              <tr>
                <td align="left">PCI DSS AI Guidance</td>
                <td align="left">"Logging should be sufficient to audit the prompt inputs and reasoning process"</td>
              </tr>
              <tr>
                <td align="left">ETSI TS 104223 5.1.2-3</td>
                <td align="left">"Operation, and lifecycle management of models, datasets and prompts"</td>
              </tr>
              <tr>
                <td align="left">FFIEC VII.D</td>
                <td align="left">"Lack of explainability...unclear how inputs are translated into outputs"</td>
              </tr>
            </tbody>
          </table>
          <t>Mapping to this specification:</t>
          <ul spacing="normal">
            <li>
              <t><tt>text</tt> Dialog Object contributed by the user: User/system input (prompt)</t>
            </li>
            <li>
              <t><tt>text</tt> Dialog Object contributed by the agent: Model response</t>
            </li>
            <li>
              <t><tt>tool-call</tt> Event Object <tt>input</tt>: Tool invocation parameters</t>
            </li>
            <li>
              <t><tt>tool-result</tt> Event Object <tt>output</tt>: Tool execution results</t>
            </li>
            <li>
              <t><tt>reasoning</tt> Event Object <tt>content</tt>: Chain-of-thought (where available)</t>
            </li>
          </ul>
        </section>
        <section anchor="req-6-retention-period-requirements">
          <name>REQ-6: Retention Period Requirements</name>
          <t>Most frameworks specify minimum retention periods for audit logs.
Explicit requirements are listed as follows:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Framework</th>
                <th align="left">Minimum Retention</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">EU AI Act Art. 19</td>
                <td align="left">6 months (longer for financial services)</td>
              </tr>
              <tr>
                <td align="left">FedRAMP (M-21-31)</td>
                <td align="left">12 months active + 18 months cold storage</td>
              </tr>
              <tr>
                <td align="left">PCI DSS 4.0</td>
                <td align="left">12 months total, 3 months immediate access</td>
              </tr>
              <tr>
                <td align="left">NIS2</td>
                <td align="left">Per member state law</td>
              </tr>
            </tbody>
          </table>
          <t>Recommendation:
Implementations <bcp14>SHOULD</bcp14> retain verifiable agent conversation records for at least 12 months to satisfy the most common requirement threshold.</t>
        </section>
        <section anchor="req-7-tamper-evidence-and-integrity-protection">
          <name>REQ-7: Tamper-Evidence and Integrity Protection</name>
          <t>All frameworks require some protection against unauthorized modification of logs.
Explicit requirements are listed as follows:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Framework</th>
                <th align="left">Requirement</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">PCI DSS 4.0 Req 10.5</td>
                <td align="left">"Tamper-proof audit trails...logs cannot be altered retroactively"</td>
              </tr>
              <tr>
                <td align="left">FedRAMP</td>
                <td align="left">"Effective chain of evidence to ensure integrity"</td>
              </tr>
              <tr>
                <td align="left">SOC 2</td>
                <td align="left">Log integrity as security control</td>
              </tr>
              <tr>
                <td align="left">CRA</td>
                <td align="left">"Tamper-proof SBOMs and vulnerability disclosures"</td>
              </tr>
            </tbody>
          </table>
          <t>Mapping to this specification:
The signed form of a vCon and the <tt>signed-agent-record</tt> type (COSE_Sign1 envelope, <xref target="scitt-cose"/>) provide cryptographic integrity protection.
The <tt>content-hash</tt> field in <tt>trace-metadata</tt> enables verification of payload integrity.</t>
        </section>
        <section anchor="req-8-incident-response-support">
          <name>REQ-8: Incident Response Support</name>
          <t>All frameworks require some logs to support incident investigation and response.
Explicit requirements are listed as follows:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Framework</th>
                <th align="left">Requirement</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">NIS2 Art. 23</td>
                <td align="left">24-hour initial notification, 72-hour assessment</td>
              </tr>
              <tr>
                <td align="left">CRA</td>
                <td align="left">24-hour vulnerability notification to ENISA</td>
              </tr>
              <tr>
                <td align="left">ETSI TS 104223 5.4.2-1</td>
                <td align="left">Logs for "incident investigations, and vulnerability remediation"</td>
              </tr>
              <tr>
                <td align="left">FedRAMP</td>
                <td align="left">Incident reporting and continuous monitoring</td>
              </tr>
            </tbody>
          </table>
          <t>Mapping to this specification:
The structured format enables rapid extraction of relevant entries by timestamp range, event type, or tool invocation for incident reconstruction.</t>
        </section>
        <section anchor="req-9-anomaly-and-risk-detection-support">
          <name>REQ-9: Anomaly and Risk Detection Support</name>
          <t>All frameworks require some logs to enable detection of anomalous or risky behavior.
Explicit requirements are listed as follows:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Framework</th>
                <th align="left">Requirement</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">EU AI Act Art. 12(2)(a)</td>
                <td align="left">"Identifying situations that may result in...risk"</td>
              </tr>
              <tr>
                <td align="left">ETSI TS 104223 5.4.2-2</td>
                <td align="left">"Detect anomalies, security breaches, or unexpected behaviour"</td>
              </tr>
              <tr>
                <td align="left">FedRAMP SI-4</td>
                <td align="left">"Anomaly detection"</td>
              </tr>
              <tr>
                <td align="left">SOC 2</td>
                <td align="left">"Anomaly detection" for security monitoring</td>
              </tr>
            </tbody>
          </table>
          <t>Mapping to this specification:
The standardized entry types and structured <tt>tool-call</tt>/<tt>tool-result</tt> pairs enable automated analysis for detecting:</t>
          <ul spacing="normal">
            <li>
              <t>Unusual tool invocation patterns</t>
            </li>
            <li>
              <t>Failed operations (via <tt>status</tt> and <tt>is_error</tt> fields)</t>
            </li>
            <li>
              <t>Unexpected reasoning patterns</t>
            </li>
            <li>
              <t>Token usage anomalies</t>
            </li>
          </ul>
        </section>
        <section anchor="req-10-human-oversight-enablement">
          <name>REQ-10: Human Oversight Enablement</name>
          <t>All AI-specific frameworks require logs to support human review and oversight.
Explicit requirements are listed as follows:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Framework</th>
                <th align="left">Requirement</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">EU AI Act Art. 26(5)</td>
                <td align="left">"Monitoring the operation of high-risk AI systems"</td>
              </tr>
              <tr>
                <td align="left">ETSI TS 104223 5.1.4-1</td>
                <td align="left">"Capabilities to enable human oversight"</td>
              </tr>
              <tr>
                <td align="left">ISO 42001</td>
                <td align="left">Human responsibility and accountability</td>
              </tr>
              <tr>
                <td align="left">FFIEC VII.D</td>
                <td align="left">"Dynamic updating...challenges to monitoring and independently reviewing AI"</td>
              </tr>
            </tbody>
          </table>
          <t>Mapping to this specification:
The <tt>reasoning</tt> Event Object type captures chain-of-thought content (where available), enabling human reviewers to understand AI decision-making processes.
The <tt>entry_id</tt> and <tt>parent_id</tt> fields and the hierarchy of Session Objects preserve conversation structure.</t>
        </section>
        <section anchor="req-11-traceability-and-reproducibility">
          <name>REQ-11: Traceability and Reproducibility</name>
          <t>All frameworks require some ability to trace system behavior and reconstruct events.
Explicit requirements are listed as follows:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Framework</th>
                <th align="left">Requirement</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">EU AI Act Art. 12</td>
                <td align="left">"Level of traceability of the functioning...appropriate to the intended purpose"</td>
              </tr>
              <tr>
                <td align="left">ISO 42001</td>
                <td align="left">"Traceability" as key factor including "data provenance, model traceability"</td>
              </tr>
              <tr>
                <td align="left">CRA</td>
                <td align="left">"Traceability in the software supply chain"</td>
              </tr>
              <tr>
                <td align="left">ETSI TS 104223 5.2.1-2</td>
                <td align="left">"Track, authenticate, manage version control"</td>
              </tr>
            </tbody>
          </table>
          <t>Mapping to this specification:</t>
          <ul spacing="normal">
            <li>
              <t>Session Object and <tt>agent_session_id</tt>: Links entries to sessions</t>
            </li>
            <li>
              <t><tt>entry_id</tt> and <tt>parent_id</tt>: Enables conversation tree reconstruction</t>
            </li>
            <li>
              <t><tt>vcs_context</tt>: Git commit/branch for code state</t>
            </li>
            <li>
              <t><tt>agent_meta</tt>: Model version and CLI version</t>
            </li>
            <li>
              <t><tt>file_attribution</tt>: Code provenance tracking</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="framework-specific-requirements">
        <name>Framework-Specific Requirements</name>
        <section anchor="eu-ai-act-high-risk">
          <name>EU AI Act (High-Risk Systems)</name>
          <t>For AI systems classified as high-risk under Annex III of the EU AI Act <xref target="EU_AI_ACT_2024"/>, additional requirements apply:</t>
          <ol spacing="normal" type="1"><li>
              <t>Biometric identification systems (Annex III, 1(a)) require logging of:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Precise timestamps for start/end of each usage session</t>
                </li>
                <li>
                  <t>Reference database used during input data validation</t>
                </li>
                <li>
                  <t>Input data leading to matches</t>
                </li>
                <li>
                  <t>Natural persons involved in result verification</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Log retention: Minimum 6 months; financial services may require longer per sector-specific regulation.</t>
            </li>
            <li>
              <t>Authority Access: Art. 19 of <xref target="EU_AI_ACT_2024"/> requires provision of logs to competent authorities upon reasoned request.</t>
            </li>
          </ol>
        </section>
        <section anchor="etsi-logging">
          <name>ETSI TS 104 223 Session Logging Requirements</name>
          <t>ETSI TS 104 223 <xref target="ETSI_TS_104223_2025"/> provides the most detailed AI-specific logging requirements:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Provision</th>
                <th align="left">Requirement</th>
                <th align="left">This Spec Mapping</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">5.1.2-3</td>
                <td align="left">Audit trail for "operation, and lifecycle management of models, datasets and prompts"</td>
                <td align="left">Session Object, <tt>agent_meta</tt></td>
              </tr>
              <tr>
                <td align="left">5.2.4-1</td>
                <td align="left">"Document and maintain a clear audit trail of their system design"</td>
                <td align="left">
                  <tt>recording_agent</tt>, open maps</td>
              </tr>
              <tr>
                <td align="left">5.2.4-3</td>
                <td align="left">"Audit log of changes to system prompts or other model configuration"</td>
                <td align="left">
                  <tt>system-event</tt> Event Object with prompt changes</td>
              </tr>
              <tr>
                <td align="left">5.4.2-1</td>
                <td align="left">"Log system and user actions to support security compliance, incident investigations"</td>
                <td align="left">Dialog Objects and Event Objects</td>
              </tr>
              <tr>
                <td align="left">5.4.2-2</td>
                <td align="left">"Analyse their logs to ensure...desired outputs and to detect anomalies"</td>
                <td align="left">Structured format enables analysis</td>
              </tr>
              <tr>
                <td align="left">5.4.2-3</td>
                <td align="left">"Monitor internal states of their AI systems"</td>
                <td align="left">
                  <tt>reasoning</tt> Event Object, <tt>token_usage</tt></td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="pci-dss-ai">
          <name>PCI DSS AI-Specific Guidance</name>
          <t>The PCI Security Standards Council has published guidance on AI in payment environments <xref target="PCI_DSS_V4_0_1"/>:
"Where possible, logging should be sufficient to audit the prompt inputs and reasoning process used by the AI system that led to the output provided."</t>
          <t>This specification directly addresses this requirement through:</t>
          <ul spacing="normal">
            <li>
              <t><tt>text</tt> Dialog Object contributed by the user: Captures prompt inputs</t>
            </li>
            <li>
              <t><tt>reasoning</tt> Event Object: Captures chain-of-thought (where available)</t>
            </li>
            <li>
              <t><tt>text</tt> Dialog Object contributed by the agent: Captures model outputs</t>
            </li>
            <li>
              <t><tt>tool-call</tt> / <tt>tool-result</tt> Event Objects: Captures agentic actions</t>
            </li>
          </ul>
        </section>
        <section anchor="financial-sector">
          <name>Financial Sector Requirements (FFIEC, BSI)</name>
          <t>Financial institutions face additional scrutiny for AI systems per <xref target="FFIEC_IT_HANDBOOK_2024"/> and <xref target="BSI_AI_FINANCE_2024"/>:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Requirement Area</th>
                <th align="left">FFIEC</th>
                <th align="left">BSI AI Finance</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Explainability</td>
                <td align="left">"Lack of transparency or explainability" risk</td>
                <td align="left">Test criteria for explainability</td>
              </tr>
              <tr>
                <td align="left">Dynamic updating</td>
                <td align="left">"Challenges to monitoring and independently reviewing AI"</td>
                <td align="left">Continuous validation</td>
              </tr>
              <tr>
                <td align="left">Audit trail</td>
                <td align="left">Log management (VI.B.7)</td>
                <td align="left">Complete audit trail</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="compliance-mapping-table">
        <name>Compliance Mapping Table</name>
        <t>The following table maps this specification's data elements to compliance requirements:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Data Element</th>
              <th align="left">EU AI Act</th>
              <th align="left">ETSI 104223</th>
              <th align="left">SOC 2</th>
              <th align="left">FedRAMP</th>
              <th align="left">PCI DSS</th>
              <th align="left">ISO 42001</th>
              <th align="left">NIS2</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>start</tt> / <tt>time</tt></td>
              <td align="left">Art. 12(2)</td>
              <td align="left">5.4.2-1</td>
              <td align="left">CC7.2</td>
              <td align="left">AU-8</td>
              <td align="left">10.6</td>
              <td align="left">A.6.2.8</td>
              <td align="left">Art. 23</td>
            </tr>
            <tr>
              <td align="left">
                <tt>agent_session_id</tt></td>
              <td align="left">Art. 12</td>
              <td align="left">5.2.4-1</td>
              <td align="left">CC7.2</td>
              <td align="left">AU-3</td>
              <td align="left">10.2</td>
              <td align="left">A.6.2.8</td>
              <td align="left">-</td>
            </tr>
            <tr>
              <td align="left">
                <tt>type</tt></td>
              <td align="left">Art. 12(2)</td>
              <td align="left">5.4.2-1</td>
              <td align="left">CC7.2</td>
              <td align="left">AU-3</td>
              <td align="left">10.2</td>
              <td align="left">A.6.2.8</td>
              <td align="left">-</td>
            </tr>
            <tr>
              <td align="left">
                <tt>contributor</tt></td>
              <td align="left">Art. 12(3)(d)</td>
              <td align="left">5.1.4</td>
              <td align="left">CC6.1</td>
              <td align="left">AC-2</td>
              <td align="left">10.2</td>
              <td align="left">A.6.2.8</td>
              <td align="left">-</td>
            </tr>
            <tr>
              <td align="left">Dialog Content</td>
              <td align="left">Art. 12(3)(c)</td>
              <td align="left">5.1.2-3</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">AI Guide</td>
              <td align="left">-</td>
              <td align="left">-</td>
            </tr>
            <tr>
              <td align="left">
                <tt>reasoning</tt></td>
              <td align="left">Art. 12</td>
              <td align="left">5.4.2-3</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">AI Guide</td>
              <td align="left">A.7.1</td>
              <td align="left">-</td>
            </tr>
            <tr>
              <td align="left">
                <tt>tool-call</tt> / <tt>tool-result</tt></td>
              <td align="left">Art. 12</td>
              <td align="left">5.4.2-1</td>
              <td align="left">CC7.2</td>
              <td align="left">AU-12</td>
              <td align="left">10.2</td>
              <td align="left">A.6.2.8</td>
              <td align="left">-</td>
            </tr>
            <tr>
              <td align="left">
                <tt>signed-agent-record</tt></td>
              <td align="left">Art. 19</td>
              <td align="left">5.2.4-1.2</td>
              <td align="left">CC6.1</td>
              <td align="left">AU-9</td>
              <td align="left">10.5</td>
              <td align="left">-</td>
              <td align="left">-</td>
            </tr>
            <tr>
              <td align="left">
                <tt>vcs_context</tt></td>
              <td align="left">-</td>
              <td align="left">5.2.1-2</td>
              <td align="left">-</td>
              <td align="left">CM-3</td>
              <td align="left">-</td>
              <td align="left">A.6.2.8</td>
              <td align="left">-</td>
            </tr>
            <tr>
              <td align="left">
                <tt>token_usage</tt></td>
              <td align="left">-</td>
              <td align="left">5.4.2-4</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">-</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="security-requirements-addressing-regulatory-compliance">
        <name>Security Requirements addressing Regulatory Compliance</name>
        <section anchor="log-integrity">
          <name>Log Integrity</name>
          <t>Per PCI DSS <xref target="PCI_DSS_V4_0_1"/> Req 10.5 and FedRAMP <xref target="NIST_SP_800_53_R5"/> AU-9, logs <bcp14>MUST</bcp14> be protected against modification.
Implementations <bcp14>SHOULD</bcp14>:</t>
          <ol spacing="normal" type="1"><li>
              <t>Use the signed form of the vCon or the <tt>signed-agent-record</tt> envelope (<xref target="scitt-cose"/>) for cryptographic integrity</t>
            </li>
            <li>
              <t>Store the <tt>content-hash</tt> for offline verification</t>
            </li>
            <li>
              <t>Implement write-once storage for log archives</t>
            </li>
          </ol>
        </section>
        <section anchor="access-control">
          <name>Access Control</name>
          <t>Per FedRAMP <xref target="NIST_SP_800_53_R5"/> AC-3 and ETSI <xref target="ETSI_TS_104223_2025"/> 5.2.2-1, access to logs <bcp14>MUST</bcp14> be controlled:</t>
          <ol spacing="normal" type="1"><li>
              <t>Logs containing sensitive prompts or outputs require access control</t>
            </li>
            <li>
              <t>Reasoning content may contain confidential information</t>
            </li>
            <li>
              <t>Authority access (EU AI Act Art. 19) requires audit of log access itself</t>
            </li>
          </ol>
        </section>
        <section anchor="data-protection">
          <name>Data Protection</name>
          <t>Logs may contain personal data subject to GDPR/privacy regulations:</t>
          <ol spacing="normal" type="1"><li>
              <t>Dialog Content of <tt>text</tt> Dialog Objects may contain PII</t>
            </li>
            <li>
              <t><tt>output</tt> of <tt>tool-result</tt> Event Objects may contain query results with PII</t>
            </li>
            <li>
              <t>Retention periods must balance compliance requirements with data minimization</t>
            </li>
          </ol>
        </section>
      </section>
      <section anchor="related-standards-and-emerging-work">
        <name>Related Standards and Emerging Work</name>
        <t>The ISO/IEC JTC 1/SC 42 committee is developing <xref target="ISO_IEC_DIS_24970"/>, a draft international standard specifically addressing AI system logging requirements.
This work aligns with and complements the verifiable agent conversation format defined in this document.</t>
        <t>Research on emergent misalignment <xref target="EMERGENT_MISALIGNMENT_2025"/> demonstrates that narrow fine-tuning can produce broadly misaligned LLMs, underscoring the importance of comprehensive conversation logging for detecting behavioral anomalies that may not be apparent from individual interactions.</t>
      </section>
    </section>
    <section anchor="scitt-cose">
      <name>Application of SCITT and COSE for Transparency and Authenticity</name>
      <t>The signed form of a vCon <xref target="VCON-CORE"/> uses JWS.
This appendix describes a signing envelope that provides cryptographic integrity protection for vCons that carry agent conversation records using COSE_Sign1 (<xref target="STD96"/>), which is encoded in CBOR <xref target="STD94"/>.
The vCon is the payload of the envelope, and the content type header parameter carries the media type "application/vcon" defined in <xref target="VCON-CORE"/>.
This makes a signed agent record a Signed Statement that can be registered with a SCITT Transparency Service <xref target="RFC9943"/>.
No extension point of the vCon schema is used by the envelope.
The reader is assumed to be familiar with the vocabulary and concepts defined in <xref target="RFC9334"/> and <xref target="RFC9943"/>.</t>
      <dl>
        <dt>Editor's Note:</dt>
        <dd>
          <t>The use of COSE and SCITT for vCons is expected to progress together with the SCITT related vCon work.</t>
        </dd>
      </dl>
      <t>The collated CDDL definition for the envelope is specified as follows:</t>
      <figure anchor="fig-cddl-cose">
        <name>CDDL for the Signed Agent Record Envelope</name>
        <sourcecode type="cddl"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

signed-agent-record = #6.18([           ; COSE_Sign1 tag
    protected: bstr .cbor protected-header ; {alg, content-type, \
                                                         scitt-stuff}
    unprotected: unprotected-header     ; Trace metadata
    payload: bstr / null                ; Detached if null
    signature: bstr
])

protected-header = {
  &(CWT_Claims: 15) => CWT_Claims
  ? &(alg: 1) => int
  ? &(content_type: 3) => tstr / uint
  ? &(kid: 4) => bstr
  ? &(x5t: 34) => COSE_CertHash
  ? &(x5chain: 33) => COSE_X509
  * label => any
}

CWT_Claims = {
  &(iss: 1) => tstr
  &(sub: 2) => tstr
  * label => any
}

unprotected-header = {
  ? &(trace-metadata-key: 100) => trace-metadata ; 100 is placeholder
  ? &(x5chain: 33) => COSE_X509
  ? &(receipts: 394)  => [ + Receipt ]
  * label => any
}

trace-metadata = {
    session-id: session-id
    agent-vendor: tstr
    trace-format: trace-format-id
    timestamp-start: abstract-timestamp
    ? timestamp-end: abstract-timestamp
    ? content-hash: tstr                ; SHA-256 hex digest of \
                                                              payload
    ? content-hash-alg: tstr
}

; Known values: "ietf-vac-v3.0" (canonical), "claude-jsonl", "gemini\
                                                              -json",
; "codex-jsonl", "opencode-json", "cursor-jsonl". Extensible via \
                                                                tstr.
trace-format-id = tstr

COSE_X509 = bstr / [ 2*certs: bstr ]
COSE_CertHash = [ hashAlg: (int / tstr), hashValue: bstr ]
label = int / tstr

; COSE Receipt CDDL for use in SCITT compliant COSE Envelope

Receipt = #6.18(COSE_Sign1)

cose-label = int / tstr
cose-value = any

Protected_Header = {
  * cose-label => cose-value
}

Unprotected_Header = {
  &(receipts: 394)  => [+ bstr .cbor Receipt]
  * cose-label => cose-value
}

COSE_Sign1 = [
  protected   : bstr .cbor Protected_Header,
  unprotected : Unprotected_Header,
  payload     : bstr / null,
  signature   : bstr
]



; SCITT-interoperable COSE Envelope
; including from draft-ietf-cose-merkle-tree-proofs and
; draft-ietf-scitt-architecture for validation

; RFC 3339 string OR epoch milliseconds (for interop).
abstract-timestamp = tstr .regexp date-time-regexp / uint 

; Opaque string: UUID, SHA-256 hash in base64url, etc.
session-id = tstr / bstr

; RFC 3339 date-time pattern
date-time-regexp = "([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[\
01])T([01][0-9]|2[0-3]):([0-5][0-9]):(60|[0-5][0-9])([.][0-9]+)?(Z|[\
                                   +-]([01][0-9]|2[0-3]):[0-5][0-9])"
]]></sourcecode>
      </figure>
      <section anchor="the-signed-agent-record-structure">
        <name>The signed-agent-record Structure</name>
        <t>A <tt>signed-agent-record</tt> is a COSE_Sign1 envelope (CBOR Tag 18) that wraps a vCon with a cryptographic signature.
Signing provides data provenance and tamper evidence, satisfying some requirements of RATS Evidence generation (<xref target="RFC9334"/>) and SCITT auditability (<xref target="RFC9943"/>) requirements.
The payload may be included or detached (null); in detached mode, the vCon is supplied separately during verification.</t>
        <t>The following describes each element of this structure.</t>
        <dl>
          <dt>protected:</dt>
          <dd>
            <t>The serialized protected header containing the algorithm identifier, content type, and CWT claims <xref target="RFC9597"/>.</t>
          </dd>
          <dt>unprotected:</dt>
          <dd>
            <t>The unprotected header carrying trace metadata at label 100 and, after registration, the receipts <xref target="RFC9942"/> of a SCITT Transparency Service.</t>
          </dd>
          <dt>payload:</dt>
          <dd>
            <t>The serialized vCon bytes, or null for detached payloads.</t>
          </dd>
          <dt>signature:</dt>
          <dd>
            <t>The cryptographic signature over the protected header and payload.</t>
          </dd>
        </dl>
        <t>The x5chain and x5t header parameters are defined in <xref target="RFC9360"/>.</t>
      </section>
      <section anchor="trace-metadata">
        <name>The trace-metadata Map</name>
        <t>The <tt>trace-metadata</tt> type carries summary information about the signed record in the COSE_Sign1 unprotected header.
This enables consumers to inspect key properties of a signed record without deserializing the full payload.</t>
        <t>The following describes each member of this map.</t>
        <dl>
          <dt>session-id:</dt>
          <dd>
            <t>The session identifier from the signed record.</t>
          </dd>
          <dt>agent-vendor:</dt>
          <dd>
            <t>The agent provider name (e.g., "anthropic", "google").</t>
          </dd>
          <dt>trace-format:</dt>
          <dd>
            <t>Identifies the format of the signed payload (e.g., "ietf-vac-v3.0" for canonical records).</t>
          </dd>
          <dt>timestamp-start:</dt>
          <dd>
            <t>When the session began.</t>
          </dd>
          <dt>timestamp-end:</dt>
          <dd>
            <t>When the session ended.</t>
          </dd>
          <dt>content-hash:</dt>
          <dd>
            <t>SHA-256 hex digest of the payload bytes, enabling integrity checking independent of the COSE signature.</t>
          </dd>
          <dt>content-hash-alg:</dt>
          <dd>
            <t>The hash algorithm used (default: "sha-256").</t>
          </dd>
          <dt>Editor's Note:</dt>
          <dd>
            <t>The label 100 for trace-metadata is a placeholder.
A COSE Header Parameter registration is for further discussion.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="mapping">
      <name>Mapping of Verifiable Agent Conversation Record Data Items</name>
      <t>The following table maps the data items of <xref target="VACR"/> to their representation in this document.</t>
      <table anchor="tbl-mapping">
        <name>Mapping of VACR Data Items</name>
        <thead>
          <tr>
            <th align="left">VACR data item</th>
            <th align="left">vCon representation</th>
            <th align="left">Extension point</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">verifiable-agent-record</td>
            <td align="left">vCon Object</td>
            <td align="left">(core)</td>
          </tr>
          <tr>
            <td align="left">version</td>
            <td align="left">extensions parameter, "ai_agent"</td>
            <td align="left">(core)</td>
          </tr>
          <tr>
            <td align="left">id</td>
            <td align="left">uuid parameter</td>
            <td align="left">(core)</td>
          </tr>
          <tr>
            <td align="left">created</td>
            <td align="left">created_at parameter</td>
            <td align="left">(core)</td>
          </tr>
          <tr>
            <td align="left">recording-agent</td>
            <td align="left">recording_agent parameter</td>
            <td align="left">vcon-ext</td>
          </tr>
          <tr>
            <td align="left">vcs</td>
            <td align="left">vcs parameter</td>
            <td align="left">vcon-ext</td>
          </tr>
          <tr>
            <td align="left">file-attribution</td>
            <td align="left">file_attribution parameter</td>
            <td align="left">vcon-ext</td>
          </tr>
          <tr>
            <td align="left">session-trace</td>
            <td align="left">Session Object</td>
            <td align="left">(core)</td>
          </tr>
          <tr>
            <td align="left">session-id</td>
            <td align="left">agent_session_id parameter</td>
            <td align="left">session-ext</td>
          </tr>
          <tr>
            <td align="left">format</td>
            <td align="left">format parameter</td>
            <td align="left">session-ext</td>
          </tr>
          <tr>
            <td align="left">session-start</td>
            <td align="left">start parameter</td>
            <td align="left">(core)</td>
          </tr>
          <tr>
            <td align="left">session-end</td>
            <td align="left">duration parameter</td>
            <td align="left">(core)</td>
          </tr>
          <tr>
            <td align="left">environment</td>
            <td align="left">environment parameter</td>
            <td align="left">session-ext</td>
          </tr>
          <tr>
            <td align="left">agent-meta</td>
            <td align="left">agent_meta parameter of the agent Party Object</td>
            <td align="left">party-ext</td>
          </tr>
          <tr>
            <td align="left">entries</td>
            <td align="left">Dialog Objects and Event Objects of the Session Object</td>
            <td align="left">(core)</td>
          </tr>
          <tr>
            <td align="left">message-entry</td>
            <td align="left">"text" type Dialog Object</td>
            <td align="left">(core)</td>
          </tr>
          <tr>
            <td align="left">message-entry model-id</td>
            <td align="left">model_id parameter</td>
            <td align="left">dialog-ext</td>
          </tr>
          <tr>
            <td align="left">token-usage</td>
            <td align="left">token_usage parameter</td>
            <td align="left">dialog-ext</td>
          </tr>
          <tr>
            <td align="left">tool-call-entry</td>
            <td align="left">"tool-call" type Event Object</td>
            <td align="left">event-type-ext</td>
          </tr>
          <tr>
            <td align="left">tool-call-entry name</td>
            <td align="left">tool_name parameter</td>
            <td align="left">event-type-ext</td>
          </tr>
          <tr>
            <td align="left">tool-result-entry</td>
            <td align="left">"tool-result" type Event Object</td>
            <td align="left">event-type-ext</td>
          </tr>
          <tr>
            <td align="left">reasoning-entry</td>
            <td align="left">"reasoning" type Event Object</td>
            <td align="left">event-type-ext</td>
          </tr>
          <tr>
            <td align="left">event-entry</td>
            <td align="left">"system-event" type Event Object</td>
            <td align="left">event-type-ext</td>
          </tr>
          <tr>
            <td align="left">timestamp</td>
            <td align="left">start (Dialog Object) or time (Event Object) parameter</td>
            <td align="left">(core)</td>
          </tr>
          <tr>
            <td align="left">id, parent-id</td>
            <td align="left">entry_id, parent_id parameters</td>
            <td align="left">dialog-ext, event-type-ext</td>
          </tr>
          <tr>
            <td align="left">children</td>
            <td align="left">parent_id parameter of the nested entries</td>
            <td align="left">dialog-ext, event-type-ext</td>
          </tr>
          <tr>
            <td align="left">abstract-timestamp</td>
            <td align="left">Date (<xref target="VCON-CORE"/>)</td>
            <td align="left">(core)</td>
          </tr>
          <tr>
            <td align="left">signed-agent-record</td>
            <td align="left">
              <xref target="scitt-cose"/></td>
            <td align="left">(none)</td>
          </tr>
          <tr>
            <td align="left">trace-metadata</td>
            <td align="left">
              <xref target="scitt-cose"/></td>
            <td align="left">(none)</td>
          </tr>
        </tbody>
      </table>
      <t>All other member names of <xref target="VACR"/> are converted from kebab-case to snake_case, as required by <xref target="VCON-CORE"/>.
The CDDL in <xref target="scitt-cose"/> is not part of the vCon schema and is used as in <xref target="VACR"/>.
The media type "application/agent-conversation", the CoAP Content-Format, and the CBOR Tag requested by <xref target="VACR"/> are not needed, as a vCon uses the media type "application/vcon".</t>
      <dl>
        <dt>Editor's Note:</dt>
        <dd>
          <t>The Event Object of <xref target="VCON-CORE"/> requires the time parameter, while the timestamp of an entry in <xref target="VACR"/> is optional.
The epoch milliseconds form of abstract-timestamp is not supported by the Date type of <xref target="VCON-CORE"/>.</t>
        </dd>
      </dl>
    </section>
    <section anchor="example-vcons">
      <name>Example vCons</name>
      <t>The following (artificailly created) example is an unsigned vCon of a short coding agent session.
A user asks a question, the agent reasons, reads a file using a tool, and answers.</t>
      <figure anchor="fig-example">
        <name>Example vCon with an Agent Session</name>
        <sourcecode type="json"><![CDATA[
{
  "uuid": "01928e10-193e-8231-b9a2-079d3c1a8b5e",
  "created_at": "2026-10-26T14:02:11Z",
  "extensions": ["ai_agent"],
  "recording_agent": {
    "name": "example-recorder",
    "version": "0.1.0"
  },
  "vcs": {
    "type": "git",
    "revision": "4f2a9c1",
    "branch": "main",
    "repository": "https://git.example.com/project.git"
  },
  "parties": [
    {
      "name": "Alice",
      "type": "person"
    },
    {
      "name": "Coding Agent",
      "type": "bot",
      "agent_meta": {
        "model_id": "example-model-2026-10",
        "model_provider": "example-provider",
        "cli_name": "example-cli",
        "cli_version": "1.2.0"
      }
    }
  ],
  "sessions": [
    {
      "start": "2026-10-26T14:00:00Z",
      "duration": 95,
      "parties": [0, 1],
      "dialog": [0, 1],
      "agent_session_id": "8d1f6c2e-5a77-4c1e-9d4b-2f3a6b7c8d9e",
      "format": "interactive",
      "environment": {
        "working_dir": "/home/alice/project",
        "vcs": {
          "type": "git",
          "revision": "4f2a9c1",
          "branch": "main"
        }
      }
    }
  ],
  "dialog": [
    {
      "type": "text",
      "start": "2026-10-26T14:00:05Z",
      "parties": 0,
      "mediatype": "text/plain",
      "encoding": "none",
      "body": "What does the function compute_rate do?",
      "entry_id": "e1"
    },
    {
      "type": "text",
      "start": "2026-10-26T14:01:30Z",
      "parties": 1,
      "mediatype": "text/plain",
      "encoding": "none",
      "body": "It computes the interest rate via a database lookup.",
      "model_id": "example-model-2026-10",
      "token_usage": {
        "input": 1834,
        "output": 212,
        "total": 2046
      },
      "entry_id": "e5",
      "parent_id": "e1"
    }
  ],
  "events": [
    {
      "type": "reasoning",
      "time": "2026-10-26T14:00:07Z",
      "session": 0,
      "party": 1,
      "content": "Read the source of compute_rate first.",
      "entry_id": "e2",
      "parent_id": "e1"
    },
    {
      "type": "tool-call",
      "time": "2026-10-26T14:00:09Z",
      "session": 0,
      "party": 1,
      "tool_name": "Read",
      "input": {"file_path": "src/rate.py"},
      "call_id": "call-1",
      "entry_id": "e3",
      "parent_id": "e1"
    },
    {
      "type": "tool-result",
      "time": "2026-10-26T14:00:10Z",
      "session": 0,
      "party": 1,
      "output": "def compute_rate(user): ...",
      "call_id": "call-1",
      "status": "success",
      "is_error": false,
      "entry_id": "e4",
      "parent_id": "e3"
    },
    {
      "type": "system-event",
      "time": "2026-10-26T14:01:35Z",
      "session": 0,
      "party": 1,
      "event_type": "session-end"
    }
  ]
}
]]></sourcecode>
      </figure>
    </section>
    <section anchor="cddl-for-the-aiagent-extension">
      <name>CDDL for the ai_agent Extension</name>
      <t>This appendix provides a <xref target="CDDL"/> definition for the parameters defined by the ai_agent extension.
The text in the preceding sections of this document defines the normative definition of these parameters.
If the CDDL provided below differs from that in the text of the preceding sections, the text is the definitive definition and the CDDL below is to be considered incorrect.</t>
      <t>This CDDL extends the vcon-ext, party-ext, session-ext, dialog-ext, and event-type-ext sockets of the vCon CDDL of <xref target="VCON-CORE"/>.
It is to be used together with the vCon CDDL, which comes first so that its first rule is the root of the combined definition.
The fragments below are the same ones that are included in the preceding sections, in the order in which they are included by the main CDDL file of this extension, which starts with the root rule "vcon-with-ai-agent = vcon" and includes the vCon CDDL first.</t>
      <figure anchor="fig-cddl-collated">
        <name>Collated CDDL for the ai_agent Extension</name>
        <sourcecode type="cddl"><![CDATA[
$$vcon-ext //= ( recording_agent: recording_agent_type )
$$vcon-ext //= ( vcs: vcs_context_type )
$$vcon-ext //= ( file_attribution: file_attribution_type )

; Recording_Agent Object
recording_agent_type = {
    name: tstr,
    ? version: tstr,
    * tstr => any
  }

; File_Attribution Object
file_attribution_type = {
    files: [* file_type],
    * $$file-attribution-ext
  }

; File Object
file_type = {
    ; relative path from the repository root
    path: tstr,
    conversations: [* file_conversation_type],
    * $$file-ext
  }

; File_Conversation Object
file_conversation_type = {
    ? url: uri_type,
    ; default contributor for all ranges
    ? contributor: contributor_type,
    ranges: [* range_type],
    ? related: [* resource_type],
    * $$file-conversation-ext
  }

; Range Object
range_type = {
    ; 1-indexed
    start_line: uint,
    ; 1-indexed, inclusive
    end_line: uint,
    ? content_hash: tstr,
    ; default: "sha-256"
    ? content_hash_alg: tstr,
    ; overrides the conversation level contributor
    ? contributor: contributor_type,
    * $$range-ext
  }

; Contributor Object
contributor_type = {
    type: "human" / "ai" / "mixed" / "unknown",
    ? model_id: tstr,
    * $$contributor-ext
  }

; Resource Object
resource_type = {
    type: tstr,
    url: uri_type,
    * $$resource-ext
  }

; URI (RFC 3986)
uri_type = tstr .regexp
    "(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?"

$$party-ext //= ( agent_meta: agent_meta_type )

; Agent_Meta Object
agent_meta_type = {
    ; e.g., "claude-opus-4-5-20251101"
    model_id: tstr,
    ; e.g., "anthropic", "google"
    model_provider: tstr,
    ; all models (multi-model sessions)
    ? models: [* tstr],
    ; e.g., "claude-code", "gemini-cli"
    ? cli_name: tstr,
    ? cli_version: tstr,
    * tstr => any
  }

$$session-ext //= ( agent_session_id: tstr )
; "interactive" / "autonomous" / vendor specific
$$session-ext //= ( format: tstr )
$$session-ext //= ( environment: environment_type )

; Environment Object
environment_type = {
    working_dir: tstr,
    ? vcs: vcs_context_type,
    ; sandbox mount paths
    ? sandboxes: [* tstr],
    * tstr => any
  }

$$dialog-ext //= ( model_id: tstr )
$$dialog-ext //= ( token_usage: token_usage_type )
$$dialog-ext //= ( entry_id: agent_entry_id_type )
$$dialog-ext //= ( parent_id: agent_entry_id_type )

; Token_Usage Object
token_usage_type = {
    ; input tokens
    ? input: uint,
    ; output tokens
    ? output: uint,
    ; cached input tokens
    ? cached: uint,
    ; reasoning or thinking tokens
    ? reasoning: uint,
    ; total tokens
    ? total: uint,
    ; monetary cost in US dollars
    ? cost: number,
    * tstr => any
  }

$$event-type-ext //= (event_tool_call_type,)
$$event-type-ext //= (event_tool_result_type,)
$$event-type-ext //= (event_reasoning_type,)
$$event-type-ext //= (event_system_event_type,)

; "tool-call" type Event Object
event_tool_call_type = (
    type: "tool-call",
    event_common_type,
    ; e.g., "Bash", "Edit", "Read"
    tool_name: tstr,
    ; tool arguments
    input: any,
    ; links call and result
    ? call_id: tstr,
    agent_entry_reference_type,
    * $$tool-call-event-ext
  )

; "tool-result" type Event Object
event_tool_result_type = (
    type: "tool-result",
    event_common_type,
    ; tool output
    output: any,
    ; links call and result
    ? call_id: tstr,
    ; "success" / "error" / "completed"
    ? status: tstr,
    ? is_error: bool,
    agent_entry_reference_type,
    * $$tool-result-event-ext
  )

; "reasoning" type Event Object
event_reasoning_type = (
    type: "reasoning",
    event_common_type,
    ; plaintext reasoning or structured content
    content: any,
    ; provider protected content
    ? encrypted: tstr,
    ; topic label
    ? subject: tstr,
    agent_entry_reference_type,
    * $$reasoning-event-ext
  )

; "system-event" type Event Object
event_system_event_type = (
    type: "system-event",
    event_common_type,
    ; event classifier
    event_type: tstr,
    ; event specific payload
    ? data: { * tstr => any },
    agent_entry_reference_type,
    * $$system-event-ext
  )

vcs_context_type = {
    ; "git" / "jj" / "hg" / "svn"
    type: tstr,
    ; commit SHA or change ID
    ? revision: tstr,
    ? branch: tstr,
    ; repository URL
    ? repository: tstr,
    * tstr => any
  }

; Reference to an entry of the native agent trace
agent_entry_reference_type = (
    ? entry_id: agent_entry_id_type,
    ? parent_id: agent_entry_id_type
  )

; Per-entry unique reference within a session
agent_entry_id_type = tstr
]]></sourcecode>
      </figure>
      <dl>
        <dt>Editor's Note:</dt>
        <dd>
          <t>A JSON schema for the ai_agent extension will be added.</t>
        </dd>
      </dl>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="T." surname="Heldt" fullname="Tobias Heldt">
        <organization>XOR</organization>
        <address>
          <email>tobias@xor.tech</email>
        </address>
      </contact>
      <contact initials="T." surname="Fossati" fullname="Thomas Fossati">
        <organization>NVIDIA</organization>
        <address>
          <email>tfossati@nvidia.com</email>
        </address>
      </contact>
      <contact initials="J." surname="Jimenez" fullname="Jaime Jimenez">
        <organization>Ericsson</organization>
        <address>
          <email>jaime@iki.fi</email>
        </address>
      </contact>
      <contact initials="J." surname="Arkko" fullname="Jari Arkko">
        <organization>Ericsson</organization>
        <address>
          <email>jari.arkko@ericsson.com</email>
        </address>
      </contact>
      <contact initials="S." surname="Waymouth" fullname="Samuel Waymouth">
        <organization>AWS</organization>
        <address>
          <email>swaym@amazon.co.uk</email>
        </address>
      </contact>
      <contact initials="H." surname="Labiod" fullname="Houda Labiod">
        <organization>Huawei Technologies France S.A.S.U.</organization>
        <address>
          <email>houda.labiod@huawei.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
