From 404092b93883bd20ede9174fd247ddc82474d9d2 Mon Sep 17 00:00:00 2001 From: Christian Nennemann Date: Wed, 4 Mar 2026 01:42:30 +0100 Subject: [PATCH] Generate 5-draft ecosystem family, fix formatter markdown stripping Pipeline output: - ABVP: Agent Behavior Verification Protocol (quality 3.0/5) - AEM: Privacy-Preserving Agent Learning Protocol (quality 2.1/5) - ATD: Agent Task DAG Framework (quality 2.5/5) - HITL: Human-in-the-Loop Primitives (quality 2.4/5) - AEPB: Real-Time Agent Rollback Protocol (quality 2.5/5) - APAE: Agent Provenance Assurance Ecosystem (quality 2.5/5) Quality gates: all pass novelty + references, format gate improved with markdown stripping (_strip_markdown) and dynamic header padding. Co-Authored-By: Claude Opus 4.6 --- data/drafts.db | Bin 36220928 -> 37474304 bytes ...gent-behavior-verification-protocol-00.txt | 775 ++++++++++++ .../draft-ai-agent-learning-protocol-00.txt | 852 +++++++++++++ ...gent-provenance-assurance-ecosystem-00.txt | 1085 +++++++++++++++++ .../draft-ai-agent-rollback-protocol-00.txt | 804 ++++++++++++ .../draft-ai-agent-task-a-00.txt | 793 ++++++++++++ .../draft-ai-primitives-for-00.txt | 757 ++++++++++++ .../generated-drafts/family-summary.md | 26 + src/ietf_analyzer/pipeline/formatter.py | 34 +- 9 files changed, 5122 insertions(+), 4 deletions(-) create mode 100644 data/reports/generated-drafts/draft-ai-agent-behavior-verification-protocol-00.txt create mode 100644 data/reports/generated-drafts/draft-ai-agent-learning-protocol-00.txt create mode 100644 data/reports/generated-drafts/draft-ai-agent-provenance-assurance-ecosystem-00.txt create mode 100644 data/reports/generated-drafts/draft-ai-agent-rollback-protocol-00.txt create mode 100644 data/reports/generated-drafts/draft-ai-agent-task-a-00.txt create mode 100644 data/reports/generated-drafts/draft-ai-primitives-for-00.txt create mode 100644 data/reports/generated-drafts/family-summary.md diff --git a/data/drafts.db b/data/drafts.db index b8a7b83fa599c40dee9267ec4a11e5354ddd7fea..99119241b0815ca4bc4e718f4466434e5187e3a1 100644 GIT binary patch delta 839971 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 delta 5143 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 diff --git a/data/reports/generated-drafts/draft-ai-agent-behavior-verification-protocol-00.txt b/data/reports/generated-drafts/draft-ai-agent-behavior-verification-protocol-00.txt new file mode 100644 index 0000000..5713e2c --- /dev/null +++ b/data/reports/generated-drafts/draft-ai-agent-behavior-verification-protocol-00.txt @@ -0,0 +1,775 @@ +Internet-Draft lake +Intended status: standards-track March 2026 +Expires: September 05, 2026 + + + Agent Behavior Verification Protocol (ABVP) + draft-ai-agent-behavior-verification-protocol-00 + +Abstract + + Autonomous AI agents operate with increasing independence across + network environments, making it critical to verify that their + actual behavior matches expected policies and constraints. + Existing approaches focus primarily on identity verification or + single-point attestation, leaving gaps in continuous behavior + monitoring and cross-protocol verification. This document defines + the Agent Behavior Verification Protocol (ABVP), which provides + standardized mechanisms for capturing, validating, and attesting + to agent behavior patterns in real-time. ABVP enables continuous + trustworthiness assessment through cryptographic behavior proofs, + supports multi-vendor attestation environments, and integrates + with existing authorization frameworks. The protocol addresses the + fundamental challenge of moving from 'who is this agent?' to 'is + this agent behaving as expected?' across diverse operational + contexts. ABVP complements existing agent authentication and + authorization protocols by providing the missing behavior + verification layer essential for autonomous agent deployment at + scale. + +Status of This Memo + + This Internet-Draft is submitted in full conformance with the + provisions of BCP 78 and BCP 79. + + This document is intended to have standards-track status. + Distribution of this memo is unlimited. + +Terminology + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL + NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", + "MAY", and "OPTIONAL" in this document are to be interpreted as + described in BCP 14 [RFC2119] [RFC8174] when, and only when, they + appear in all capitals, as shown here. + + Behavior Attestation + A cryptographically signed assertion about an agent's observed + behavior patterns over a specified time period + + Verification Proof + Cryptographic evidence that demonstrates an agent's compliance + with specified behavioral constraints + + Behavior Trace + A structured record of agent actions, decisions, and reasoning + processes that can be cryptographically verified + + Trust Anchor + A root source of trust for behavior verification, typically + backed by hardware attestation or multi-party consensus + + Behavior Policy + A formal specification of expected agent behavior patterns and + constraints + + Verification Registry + A distributed system for storing and validating behavior + attestations and verification proofs + + +Table of Contents + + 1. Introduction ................................................ 3 + 2. Terminology ................................................. 4 + 3. Problem Statement ........................................... 5 + 4. ABVP Architecture and Components ............................ 6 + 5. Behavior Capture and Attestation Mechanisms ................. 7 + 6. Protocol Integration and Bindings ........................... 8 + 7. Verification Workflows and Enforcement ...................... 9 + 8. Security Considerations ..................................... 10 + 9. IANA Considerations ......................................... 11 + 10. References .................................................. 12 + +1. Introduction + + The proliferation of autonomous AI agents across network + environments has introduced a fundamental challenge in distributed + systems: verifying that agents behave according to their intended + design and declared policies throughout their operational + lifecycle. Traditional authentication and authorization + mechanisms, as defined in frameworks like OAuth 2.0 [RFC6749] and + established in agent-specific protocols [draft-aylward-aiga-1], + primarily focus on identity verification and initial access + control decisions. However, these approaches are insufficient for + autonomous agents that operate independently over extended + periods, modify their behavior based on learning, and interact + across multiple administrative domains without continuous human + oversight. + + Current verification approaches leave critical gaps in ongoing + behavioral assurance. While existing protocols can answer "who is + this agent?" through identity attestation, they cannot adequately + address "is this agent behaving as expected?" during operation. + This limitation becomes particularly problematic when agents + exhibit Dynamic Behavior Authentication requirements, where the + agent's behavioral patterns change over time based on learning + algorithms, environmental adaptation, or policy updates. The + absence of standardized Behavioral Trustworthiness Assessment + mechanisms means that authorization decisions cannot incorporate + an agent's actual behavioral history, leading to either overly + restrictive policies that limit legitimate agent autonomy or + overly permissive policies that create security risks. + + The Agent Behavior Verification Protocol (ABVP) addresses these + limitations by providing a standardized framework for Continuous + Trustworthiness Verification that extends beyond initial + authentication to ongoing behavioral validation. ABVP complements + existing agent authentication protocols by introducing behavior + attestation mechanisms that capture, verify, and attest to agent + behavior patterns using cryptographic proofs. The protocol + leverages hardware-backed attestation capabilities, similar to + those used in verifiable agent conversations [draft-birkholz- + verifiable-agent-conversations], while extending the verification + scope from message integrity to comprehensive behavior pattern + validation. + + ABVP integrates with existing authorization frameworks by + providing behavior verification inputs that enhance access control + decisions. Rather than replacing current agent protocols, ABVP + serves as a behavior verification layer that can be bound to + existing communication protocols and authorization systems. The + protocol enables verification registries to maintain distributed + records of agent behavior attestations, allowing multiple parties + to contribute to and benefit from behavioral trustworthiness + assessments. This approach supports multi-vendor environments + where agents from different providers must demonstrate behavioral + compliance to shared policies and constraints. + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL + NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", + "MAY", and "OPTIONAL" in this document are to be interpreted as + described in BCP 14 [RFC2119] [RFC8174] when, and only when, they + appear in all capitals, as shown here. This document assumes + familiarity with cryptographic attestation concepts, JSON-based + data structures [RFC8259], and existing agent protocol frameworks. + +2. Terminology + + This document uses terminology from several domains including + cryptographic attestation, autonomous agent systems, and + distributed verification protocols. The key words "MUST", "MUST + NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", + "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this + document are to be interpreted as described in BCP 14 [RFC2119] + [RFC8174] when, and only when, they appear in all capitals, as + shown here. + + **Agent**: An autonomous software entity that operates + independently to achieve specified goals, potentially across + multiple network environments and administrative domains. Agents + may modify their behavior over time through learning, + adaptation, or policy updates as defined in [draft-aylward- + aiga-1]. + + **Behavior Attestation**: A cryptographically signed assertion + about an agent's observed behavior patterns over a specified + time period. Behavior attestations provide verifiable evidence + of agent actions, decisions, and compliance with established + policies, extending the concept of verifiable agent + conversations [draft-birkholz-verifiable-agent-conversations] to + broader behavioral patterns. + + **Behavior Policy**: A formal specification of expected agent + behavior patterns and constraints, expressed as machine-readable + rules that define acceptable and unacceptable agent actions. + Behavior policies serve as the normative baseline against which + agent behavior is measured and verified. + + **Behavior Trace**: A structured, chronologically ordered record + of agent actions, decisions, and reasoning processes that can be + cryptographically verified for integrity and authenticity. + Behavior traces form the evidentiary foundation for behavior + attestations and MUST be tamper-evident through cryptographic + linking as specified in [RFC9052]. + + **Trust Anchor**: A root source of trust for behavior + verification, typically backed by hardware attestation + mechanisms, trusted execution environments, or multi-party + consensus protocols. Trust anchors provide the cryptographic + foundation for establishing the authenticity and integrity of + behavior attestations, similar to certificate authorities in PKI + systems [RFC5280]. + + **Verification Proof**: Cryptographic evidence that demonstrates + an agent's compliance with specified behavioral constraints, + generated through zero-knowledge proofs, hash chains, or other + cryptographic mechanisms. Verification proofs enable third + parties to validate agent behavior without requiring access to + sensitive operational details, supporting the cryptographic + proof-based autonomy model [draft-berlinai-vera]. + + **Verification Registry**: A distributed system for storing, + indexing, and validating behavior attestations and verification + proofs. The registry provides a queryable interface for behavior + verification while maintaining appropriate privacy controls and + access restrictions based on authorization frameworks such as + OAuth 2.0 [RFC6749]. + + **Behavior Attestation Engine (BAE)**: A trusted component + responsible for continuously monitoring agent behavior, + generating behavior traces, and producing cryptographically + signed behavior attestations. The BAE operates within a trusted + execution environment or relies on hardware security modules to + ensure the integrity of the attestation process. + +3. Problem Statement + + Current agent verification systems primarily focus on establishing + "who" an agent is through identity and capability attestation, but + fail to address the fundamental question of "how" an agent behaves + over time. Traditional approaches, as described in existing + frameworks [RFC6749] and emerging agent protocols [draft-birkholz- + verifiable-agent-conversations], concentrate on static + verification points such as initial authentication, capability + declarations, and single-point attestations. While these + mechanisms successfully establish agent identity and initial + trustworthiness, they create significant gaps in ongoing + behavioral assurance as agents operate with increasing autonomy + across distributed network environments. + + The challenge becomes more acute when considering autonomous + agents that inherently modify their behavior patterns based on + environmental feedback, learning algorithms, or Real-Time Task + Adaptability requirements [draft-cui-ai-agent-task]. Existing + attestation systems, including advanced approaches like Multi- + Vendor TEE Attestation (M-TACE) [draft-aylward-aiga-1], excel at + verifying the integrity of agent code and initial state but cannot + validate whether an agent's runtime behavior adheres to expected + policies after deployment. This creates a verification gap where + an agent may pass initial attestation checks while subsequently + exhibiting behaviors that violate operational constraints, + security policies, or ethical guidelines without detection. + + Furthermore, current verification approaches lack standardized + mechanisms for continuous behavior monitoring across heterogeneous + environments. Agent Reasoning Trace Capture techniques [draft- + birkholz-verifiable-agent-conversations] provide valuable insights + into decision-making processes but do not establish cryptographic + proofs of behavioral compliance that can be verified by third + parties. The absence of standardized Behavior Traces and + Verification Proofs means that each deployment environment must + develop proprietary monitoring solutions, leading to fragmented + trust models and limited interoperability between agent + ecosystems. + + The temporal dimension of agent behavior verification presents + additional challenges that existing protocols do not adequately + address. Static verification mechanisms cannot account for the + dynamic nature of autonomous agents that adapt their strategies, + modify their interaction patterns, or evolve their decision-making + processes over operational lifetimes. Without continuous Behavior + Attestation capabilities, network operators and service providers + cannot maintain confidence in agent trustworthiness beyond initial + deployment, creating significant risks for mission-critical + applications and cross-organizational agent interactions. + + Current authorization frameworks also lack integration points for + ongoing behavioral verification, focusing instead on capability- + based access control determined at authentication time. The + absence of standardized Behavior Policy enforcement mechanisms + means that agents operating within their assigned capabilities may + still exhibit problematic behaviors that violate implicit + operational expectations or emergent security requirements. This + gap becomes particularly problematic in multi-tenant environments + where agents from different organizations interact, requiring + mutual assurance of behavioral compliance that extends beyond + simple identity verification. + + The scalability challenges of behavior verification compound these + issues, as existing approaches do not provide efficient mechanisms + for aggregating behavioral evidence across distributed deployments + or enabling third-party verification of agent conduct. Without + standardized Verification Registry systems and Trust Anchor + mechanisms, each verification attempt requires independent + evidence collection and validation, creating computational and + administrative overhead that limits practical deployment of + comprehensive behavior monitoring in large-scale autonomous agent + environments. + +4. ABVP Architecture and Components + + The Agent Behavior Verification Protocol (ABVP) architecture + consists of three primary components that work together to provide + continuous behavior verification for autonomous AI agents. These + components establish a comprehensive framework for capturing, + validating, and attesting to agent behavior patterns in real-time + across diverse operational environments. The architecture is + designed to be vendor-neutral, protocol-agnostic, and compatible + with existing agent authentication and authorization frameworks as + defined in [RFC6749] and referenced in [draft-aylward-aiga-1]. + + The Behavior Attestation Engine (BAE) serves as the core component + responsible for capturing agent behavior traces and generating + cryptographic attestations. Each BAE MUST maintain a secure + execution environment that continuously monitors agent actions, + decisions, and reasoning processes without interfering with agent + operation. The BAE generates behavior traces using structured + formats based on [RFC8259] and creates cryptographically signed + attestations using mechanisms defined in [RFC9052]. These + attestations follow the Five Enforcement Pillars with Typed + Schemas pattern, providing comprehensive coverage across + authorization enforcement, data handling compliance, operational + boundary adherence, communication protocol compliance, and + resource utilization monitoring. The BAE SHOULD integrate with + hardware-based Trusted Execution Environments (TEEs) when + available to provide additional attestation integrity guarantees + as specified in existing RATS frameworks. + + Verification Registries provide distributed storage and validation + services for behavior attestations and verification proofs + generated by BAEs. These registries operate using a federated + trust model similar to the Public Registry Enrollment Mode, + enabling cross-organizational behavior verification without + requiring direct trust relationships between all participants. + Each registry MUST validate the cryptographic integrity of + incoming attestations, verify the authenticity of the attesting + BAE, and maintain tamper-evident logs of all verification + activities. Verification Registries support both real-time queries + for immediate behavior verification and batch processing for + historical behavior analysis. The registries expose standardized + APIs that allow verifying parties to retrieve behavior + attestations, validate verification proofs, and assess agent + trustworthiness based on historical behavior patterns. + + Trust Anchor Management provides the foundational trust + infrastructure that enables the entire ABVP ecosystem to function + reliably. Trust anchors serve as root sources of trust for + behavior verification and are typically backed by hardware + attestation mechanisms, multi-party consensus systems, or + established certificate authorities as defined in [RFC5280]. The + Trust Anchor Management component MUST provide mechanisms for + trust anchor discovery, validation, and lifecycle management + including key rotation and revocation. Following the DNS TXT + Records approach for agent identity distribution, trust anchor + information MAY be published using DNS infrastructure to enable + scalable trust anchor discovery across organizational boundaries. + Trust Anchor Management also defines the policies and procedures + for establishing new trust anchors, managing trust relationships + between different ABVP deployments, and handling trust anchor + compromise or revocation scenarios. + + The interaction between these components creates a continuous + behavior verification loop that provides ongoing assurance of + agent trustworthiness. When an agent performs actions, the + associated BAE captures these activities as behavior traces and + generates signed attestations that are stored in Verification + Registries. Verifying parties can query these registries to obtain + current and historical behavior attestations, validate them + against relevant trust anchors, and make informed decisions about + agent trustworthiness. This architecture supports both centralized + deployments within single organizations and federated deployments + spanning multiple organizations, enabling behavior verification + across the full spectrum of autonomous agent operational + scenarios. The modular design allows organizations to implement + components incrementally while maintaining interoperability with + existing agent infrastructure and protocols such as those defined + in [draft-birkholz-verifiable-agent-conversations]. + +5. Behavior Capture and Attestation Mechanisms + + The ABVP behavior capture subsystem defines standardized + mechanisms for recording agent actions, decisions, and reasoning + processes in a cryptographically verifiable format. Agent + implementations MUST generate behavior traces that capture + sufficient detail to enable meaningful verification against + behavioral policies. These traces MUST include timestamped records + of agent actions, input stimuli, decision reasoning (as specified + in [draft-birkholz-verifiable-agent-conversations]), and any + policy evaluations performed by the agent. The behavior capture + mechanism SHOULD be implemented as close to the agent's core + reasoning engine as possible to minimize opportunities for + tampering or selective reporting. + + Behavior traces MUST be structured as JSON objects [RFC8259] + containing mandatory fields for agent identity, timestamp, action + type, input context, and reasoning chain. The reasoning chain + field leverages the agent reasoning trace capture mechanisms + defined in [draft-birkholz-verifiable-agent-conversations] to + provide transparency into the agent's decision-making process. + Each trace entry MUST be signed using the agent's cryptographic + identity as established through hardware-backed verification + systems [draft-aylward-aiga-1]. Implementations MAY compress or + summarize behavior traces for efficiency while maintaining + cryptographic integrity through merkle tree structures or similar + authenticated data structures. + + The attestation generation process transforms behavior traces into + cryptographically signed behavior attestations that can be + independently verified by third parties. Attestation engines MUST + create attestations in JSON Web Signature (JWS) format [RFC7515] + using keys derived from or backed by hardware trust anchors. For + implementations with Trusted Platform Module (TPM) support, + attestations SHOULD include TPM-backed signatures following + patterns similar to those defined for email attestation in [draft- + drake-email-tpm-attestation]. The attestation payload MUST include + a hash of the complete behavior trace, the evaluation period, + applicable behavior policies, and compliance assertions. + + Hardware attestation integration provides the foundational trust + layer for ABVP by anchoring behavior attestations to tamper- + resistant hardware. Agents operating on platforms with Trusted + Execution Environment (TEE) capabilities MUST generate + attestations from within the TEE to ensure behavior trace + integrity. The attestation process MUST establish a cryptographic + chain of trust from the hardware root of trust through the agent's + runtime environment to the behavior attestation itself. This chain + enables verifiers to confirm not only that the attestation is + authentic but also that the underlying behavior capture mechanism + has not been compromised. + + Attestation formats MUST support both real-time streaming + attestations for continuous verification and batch attestations + for periodic compliance reporting. Streaming attestations provide + immediate behavior verification but require more computational + overhead, while batch attestations enable efficient verification + of longer behavior patterns. Implementations SHOULD support + attestation aggregation mechanisms that allow multiple related + behavior traces to be combined into a single attestation without + losing verification granularity. All attestations MUST include + sufficient metadata to enable policy evaluation and MUST be + resistant to replay attacks through appropriate nonce and + timestamp mechanisms as specified in [RFC8446] for cryptographic + freshness. + +6. Protocol Integration and Bindings + + ABVP is designed to operate as a complementary layer alongside + existing agent protocols and authorization frameworks, providing + behavior verification capabilities without disrupting established + communication patterns. The protocol integrates through + standardized extension points and binding mechanisms that allow + existing agent infrastructures to incrementally adopt behavior + verification. ABVP bindings MUST be implemented in a manner that + preserves backward compatibility with agents that do not support + behavior verification while providing enhanced trust capabilities + for ABVP-enabled environments. + + The protocol defines three primary integration patterns: inline + verification where behavior attestations are embedded directly in + protocol messages, out-of-band verification where behavior proofs + are transmitted through separate channels, and registry-based + verification where behavior attestations are stored in distributed + verification registries for asynchronous validation. For OAuth 2.0 + [RFC6749] and similar authorization frameworks, ABVP extends + token-based flows by including behavior verification claims within + JWT tokens [RFC7519] or as additional attestation headers. The + Behavior Attestation Engine generates verification proofs that + reference the agent's recent behavior traces and embeds these + within the authorization context, enabling authorization servers + to make access decisions based on both identity and behavioral + compliance. + + Integration with Trusted Execution Environment (TEE) based agent + frameworks leverages hardware attestation capabilities to anchor + behavior verification in secure enclaves. ABVP bindings for TEE + environments utilize the JOSE DVS extension mechanisms to provide + derived verification signatures that combine hardware attestation + with behavior proofs. The protocol supports integration with + existing verifiable agent conversation frameworks [draft-birkholz- + verifiable-agent-conversations] by extending conversation + attestation to include behavioral compliance assertions. When + integrated with agent discovery protocols, ABVP provides post- + discovery authorization handshake capabilities that validate + behavioral constraints before permitting tool execution or + authority delegation. + + Protocol message formats utilize CBOR Web Token (CWT) structures + [RFC9052] for compact behavior attestations in bandwidth- + constrained environments, while supporting JSON-based attestation + formats [RFC8259] for web-oriented integrations. ABVP bindings + MUST specify the transport-specific mechanisms for behavior + verification, including TLS 1.3 [RFC8446] extension points for + embedding behavior proofs in secure channels and X.509 [RFC5280] + certificate extensions for long-term behavior attestation storage. + The protocol defines standard header fields and message extensions + that enable behavior verification across HTTP-based agent + communications, WebSocket connections, and message queue systems. + + Behavior policy alignment with standardized vocabularies such as + AIPREF enables consistent behavior verification across multi- + vendor agent environments. ABVP protocol bindings support dynamic + policy negotiation where agents and verification entities can + establish mutually acceptable behavior constraints and attestation + formats during protocol handshake. The integration framework + provides hooks for custom behavior verification logic while + maintaining interoperability through standardized attestation + formats and verification procedures. Implementation guidance + specifies how existing agent frameworks can incrementally adopt + ABVP capabilities, starting with passive behavior logging and + progressing to active behavior enforcement and attestation + generation. + +7. Verification Workflows and Enforcement + + This section defines the operational workflows that enable + continuous behavior verification for autonomous agents. ABVP + supports three primary verification patterns: real-time + verification for immediate trust decisions, batch verification for + historical compliance assessment, and dispute resolution for + handling verification conflicts. Each workflow integrates with + existing authorization frameworks while providing the behavioral + assurance layer necessary for autonomous agent operations. + + Real-time verification workflows enable immediate assessment of + agent behavior during active operations. When an agent initiates + actions that require behavioral validation, the Behavior + Attestation Engine MUST generate a verification proof that + demonstrates compliance with applicable behavior policies. The + verification proof SHALL be constructed using Public Key Derived + HMAC mechanisms as specified in [draft-bastian-jose-pkdh], + allowing verifiers to authenticate behavior attestations using + only public key information from the agent's JWS tokens. Resource + servers implementing ABVP MUST validate these proofs against + registered behavior policies before authorizing agent actions. The + real-time workflow supports integration with OAuth 2.0 [RFC6749] + access tokens through delegation evidence verification, enabling + Resource Servers to verify behavior attestations using AS-attested + keys bound to access tokens as described in [draft-chu-oauth-as- + attested-user-cert]. + + Batch verification workflows provide mechanisms for historical + behavior analysis and compliance reporting. Verification + Registries MUST support batch processing of behavior traces + covering extended time periods, enabling policy compliance + assessment across multiple operational contexts. The batch + verification process SHALL generate aggregated verification proofs + that demonstrate sustained compliance with behavior policies over + time. Batch workflows MUST implement congestion control mechanisms + consistent with vendor-neutral behavior definitions for AI fabric + environments to prevent verification processing from impacting + operational performance. Verification results MUST be stored in + structured formats using JSON [RFC8259] encoding and signed using + CBOR Object Signing and Encryption (COSE) [RFC9052] to ensure + integrity and non-repudiation. + + Dispute resolution workflows address scenarios where behavior + verification results are contested or inconsistent across multiple + verification sources. When verification conflicts arise, the + dispute resolution process MUST invoke multi-party attestation + mechanisms involving relevant Trust Anchors to establish + authoritative behavior assessments. The dispute resolution + workflow SHALL generate resolution evidence that includes + cryptographic proofs from multiple verification sources and a + consensus determination of agent behavior compliance. Enforcement + mechanisms MUST support graduated responses to behavior policy + violations, ranging from behavioral warnings and restricted + operation modes to complete agent authorization revocation. Policy + integration points SHALL enable dynamic adjustment of behavior + constraints based on operational context, agent trust levels, and + historical compliance patterns, ensuring that enforcement actions + are proportionate to assessed risks while maintaining operational + continuity for compliant autonomous agents. + +8. Security Considerations + + The security architecture of ABVP introduces novel attack surfaces + and trust model complexities that require careful analysis. The + protocol's reliance on continuous behavior monitoring creates + potential privacy vectors where sensitive agent reasoning + processes and decision patterns become observable to verification + entities. Implementers MUST ensure that behavior traces capture + only policy-relevant actions while maintaining operational privacy + through selective disclosure mechanisms. The cryptographic binding + between behavior attestations and verification proofs, as defined + in [RFC9052], provides integrity protection but assumes the + underlying attestation infrastructure remains uncompromised. When + utilizing Multi-Vendor TEE Attestation (M-TACE) as specified in + [draft-aylward-aiga-1], implementations SHOULD distribute trust + across multiple hardware vendors to mitigate single-vendor + compromise scenarios, though this approach increases complexity in + trust anchor management and attestation verification workflows. + + Behavior spoofing attacks represent a fundamental threat to ABVP's + security model, where malicious agents attempt to generate false + behavior traces that appear compliant while executing unauthorized + actions. The protocol addresses this through cryptographic proof- + based autonomy mechanisms that require agents to demonstrate + compliance through zero-knowledge proofs before receiving + operational privileges. However, the effectiveness of these + protections depends critically on the tamper-resistance of the + behavior capture mechanisms and the integrity of the Trusted + Execution Environment. Implementations MUST validate that TEE + attestations conform to the hardware security requirements defined + in the relevant trust anchor specifications, and SHOULD implement + continuous attestation refresh cycles to detect runtime + compromises. The integration with existing authorization + frameworks [RFC6749] creates additional attack vectors where + compromised authorization tokens could be used to bypass behavior + verification requirements. + + The trust model underlying ABVP assumes that Trust Anchors + maintain cryptographic integrity and operate according to + specified governance policies. This assumption creates systemic + risks where compromise of trust anchors could invalidate entire + verification domains. Implementations SHOULD implement trust + anchor rotation mechanisms and maintain distributed trust models + that prevent single points of failure. The protocol's integration + with verifiable agent conversations [draft-birkholz-verifiable- + agent-conversations] introduces cross-protocol security + dependencies where vulnerabilities in conversation verification + could compromise behavior attestation integrity. Additionally, the + use of JSON Web Tokens [RFC7519] for attestation transport creates + standard token-based attack surfaces including replay attacks and + token manipulation, which MUST be mitigated through proper + timestamp validation, nonce mechanisms, and secure token storage + practices as specified in [RFC8446]. + + Temporal attacks against ABVP involve manipulating the timing of + behavior verification to create windows where non-compliant + behavior goes undetected. The protocol's real-time verification + requirements create performance versus security trade-offs where + verification latency could be exploited by sophisticated + attackers. Implementations MUST establish maximum verification + latencies and implement fail-safe mechanisms that restrict agent + capabilities when verification cannot be completed within + specified time bounds. The certificate-based trust model [RFC5280] + underlying trust anchor validation introduces standard PKI + vulnerabilities including certificate chain attacks and revocation + checking failures. Privacy concerns extend beyond individual agent + behavior to aggregate behavioral patterns that could reveal + sensitive operational intelligence about agent deployments. The + protocol SHOULD implement differential privacy mechanisms and + behavioral aggregation techniques that preserve verification + effectiveness while limiting information disclosure to + verification entities and external observers monitoring + attestation traffic patterns. + +9. IANA Considerations + + This document requires IANA to establish and maintain several + registries to support the standardized deployment of the Agent + Behavior Verification Protocol. These registries are essential for + ensuring interoperability across different ABVP implementations + and preventing conflicts in namespace usage. The registries MUST + be publicly accessible and maintained according to the policies + specified in this section. + + IANA SHALL establish the "ABVP Behavior Verification Schema + Registry" to manage standardized schemas for behavior attestation + formats and verification proof structures. Registration requests + MUST include the schema name, version identifier, JSON Schema + definition [RFC8259], cryptographic signature requirements, and + designated expert contact information. The registry SHALL use the + "Expert Review" policy as defined in RFC 8126, with designated + experts required to verify schema completeness, cryptographic + soundness, and compatibility with existing ABVP attestation + mechanisms. Schema names MUST follow the format "abvp- + schema-{category}-{name}" where category indicates the behavior + domain (e.g., "communication", "resource-access", "decision- + making") and name provides specific identification. + + The "ABVP Protocol Identifier Registry" SHALL be established to + manage unique identifiers for ABVP protocol bindings and + integration points with existing agent protocols. Each registered + identifier MUST specify the target protocol integration (such as + OAuth 2.0 [RFC6749] flows or TLS 1.3 [RFC8446] handshake + extensions), the ABVP message format requirements, and backward + compatibility constraints. Registration follows the "IETF Review" + policy, requiring protocol bindings to demonstrate security + analysis and interoperability testing with at least two + independent implementations. Protocol identifiers MUST use URI + format with the "urn:ietf:params:abvp:" prefix to ensure global + uniqueness. + + IANA SHALL create the "ABVP Enforcement Pillar Registry" to + standardize the Five Enforcement Pillars framework referenced in + this specification, ensuring consistent implementation across + verification systems. Each pillar registration MUST include typed + schemas that formally define monitoring requirements, enforcement + actions, and compliance measurement criteria. The registry MUST + maintain version control for pillar definitions and provide clear + migration paths when pillar specifications evolve. This registry + SHALL also coordinate with the AIPREF Vocabulary Protocol to + ensure alignment between behavior verification vocabularies and AI + requirement specifications, preventing semantic conflicts in + multi-protocol environments. + + The "ABVP Trust Anchor Registry" SHALL manage identifiers and + metadata for recognized trust anchor sources, including hardware + attestation roots, multi-party consensus systems, and certified + verification authorities. Trust anchor registrations MUST include + cryptographic key information, attestation capability + descriptions, supported hardware platforms (such as TPM or TEE + implementations), and revocation procedures. The registry SHALL + implement the "Expert Review" policy with additional requirements + for security audit documentation and demonstrated operational + history. All registered trust anchors MUST support the + cryptographic requirements specified in RFC 9052 for COSE-based + attestation formats and provide clear procedures for key rotation + and emergency revocation scenarios. + +10. References + +10.1. Normative References + + [RFC 2119] + RFC 2119 + + [RFC 8174] + RFC 8174 + + [RFC 8446] + RFC 8446 + + [RFC 5280] + RFC 5280 + + [RFC 7519] + RFC 7519 + + [RFC 9052] + RFC 9052 + + [draft-birkholz-verifiable-agent-conversations] + draft-birkholz-verifiable-agent-conversations + + [draft-aylward-aiga-1] + draft-aylward-aiga-1 + +10.2. Informative References + + [RFC 6749] + RFC 6749 + + [RFC 8259] + RFC 8259 + + [RFC 9110] + RFC 9110 + + [draft-aylward-daap-v2] + draft-aylward-daap-v2 + + [draft-chen-agent-decoupled-authorization-model] + draft-chen-agent-decoupled-authorization-model + + [draft-berlinai-vera] + draft-berlinai-vera + + [draft-chen-ai-agent-auth-new-requirements] + draft-chen-ai-agent-auth-new-requirements + + [draft-condrey-rats-witnessd-enrollment] + draft-condrey-rats-witnessd-enrollment + + [draft-drake-email-tpm-attestation] + draft-drake-email-tpm-attestation + + [draft-bastian-jose-dvs] + draft-bastian-jose-dvs + + [draft-bastian-jose-pkdh] + draft-bastian-jose-pkdh + + [draft-barney-caam] + draft-barney-caam + + [draft-altanai-aipref-realtime-protocol-bindings] + draft-altanai-aipref-realtime-protocol-bindings + + +Author's Address + + Generated by IETF Draft Analyzer + 2026-03-04 diff --git a/data/reports/generated-drafts/draft-ai-agent-learning-protocol-00.txt b/data/reports/generated-drafts/draft-ai-agent-learning-protocol-00.txt new file mode 100644 index 0000000..9f79f76 --- /dev/null +++ b/data/reports/generated-drafts/draft-ai-agent-learning-protocol-00.txt @@ -0,0 +1,852 @@ +Internet-Draft lake +Intended status: standards-track March 2026 +Expires: September 05, 2026 + + + Privacy-Preserving Agent Learning Protocol for Federated Multi-Tenant Environments + draft-agent-ecosystem-agent-learning-protocol-00 + +Abstract + + Federated learning enables distributed AI agents to + collaboratively improve models without centralizing training data. + However, existing federated architectures lack comprehensive + privacy guarantees for multi-tenant environments where agents from + different organizations must learn together while preventing data + leakage. This specification defines the Privacy-Preserving Agent + Learning Protocol (PPALP) that combines differential privacy, + secure aggregation, and zero-knowledge proofs to enable federated + agent learning with formal privacy guarantees. PPALP provides + mechanisms for privacy-preserving model updates, tenant isolation + enforcement, and cryptographic verification of privacy compliance. + The protocol supports heterogeneous agent types while maintaining + backward compatibility with existing federated learning + frameworks. This work addresses critical privacy gaps in federated + agent architectures and provides implementable solutions for + secure cross-organizational AI collaboration. + +Status of This Memo + + This Internet-Draft is submitted in full conformance with the + provisions of BCP 78 and BCP 79. + + This document is intended to have standards-track status. + Distribution of this memo is unlimited. + +Terminology + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL + NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", + "MAY", and "OPTIONAL" in this document are to be interpreted as + described in BCP 14 [RFC2119] [RFC8174] when, and only when, they + appear in all capitals, as shown here. + + Privacy Budget + A quantitative measure of the privacy cost incurred by + releasing information about a dataset through differential + privacy mechanisms + + Tenant Isolation + The property that agent learning activities of one + organizational tenant cannot infer private information about + another tenant's data or models + + Secure Aggregation + A cryptographic protocol that allows computation of aggregate + statistics over distributed data without revealing individual + contributions + + Gradient Inversion Attack + An attack where an adversary attempts to reconstruct training + data from shared gradient information in federated learning + + Privacy Compliance Verifier + A system component that cryptographically verifies adherence to + differential privacy guarantees and tenant isolation + requirements + + Federated Coordinator + The central entity responsible for orchestrating privacy- + preserving model aggregation across multiple tenants in + federated learning + + +Table of Contents + + 1. Introduction ................................................ 3 + 2. Terminology ................................................. 4 + 3. Problem Statement ........................................... 5 + 4. Privacy-Preserving Agent Learning Architecture .............. 6 + 5. Differential Privacy for Agent Model Updates ................ 7 + 6. Secure Multi-Tenant Federated Aggregation ................... 8 + 7. Privacy Compliance and Verification ......................... 9 + 8. Protocol Message Formats and Flows .......................... 10 + 9. Security Considerations ..................................... 11 + 10. IANA Considerations ......................................... 12 + 11. References .................................................. 13 + +1. Introduction + + The rapid deployment of AI agents across organizational boundaries + has created an urgent need for collaborative learning mechanisms + that preserve privacy while enabling knowledge sharing. + Traditional centralized machine learning approaches require data + consolidation, which violates privacy regulations and + organizational policies in multi-tenant environments where + competing organizations must collaborate. Federated learning + addresses data centralization concerns but existing protocols lack + comprehensive privacy guarantees necessary for cross- + organizational AI agent deployments. Current federated learning + frameworks are vulnerable to gradient inversion attacks [draft- + kale-agntcy-federated-privacy], membership inference attacks, and + cross-tenant data reconstruction, making them unsuitable for + privacy-sensitive multi-tenant agent learning scenarios. + + Multi-tenant federated agent learning presents unique challenges + beyond traditional federated learning contexts. AI agents often + process behavioral data, decision patterns, and strategic + information that require stronger privacy protections than + conventional machine learning datasets. The heterogeneous nature + of agent types across organizations complicates model aggregation + while maintaining meaningful learning outcomes. Existing privacy- + preserving techniques such as differential privacy and secure + aggregation, when applied independently, fail to provide + comprehensive protection against sophisticated attacks targeting + federated agent systems. Furthermore, regulatory compliance + requirements such as GDPR's right to erasure and data processing + transparency mandates necessitate cryptographic verification + mechanisms that current federated learning protocols do not + provide. + + This specification introduces the Privacy-Preserving Agent + Learning Protocol (PPALP) to address critical privacy gaps in + federated agent architectures while enabling secure cross- + organizational AI collaboration. PPALP combines differential + privacy mechanisms specifically calibrated for agent model + parameters, secure multi-party computation for cross-tenant + aggregation, and zero-knowledge proofs for cryptographic + verification of privacy compliance. The protocol builds upon the + Privacy-Preserving Reference Architecture defined in [draft-kale- + agntcy-federated-privacy] and extends federated averaging + mechanisms to support heterogeneous agent types with formal + privacy guarantees. PPALP integrates with existing federated + learning frameworks through standardized APIs while providing + backward compatibility for legacy deployments. + + The protocol's contribution to AI agent standardization includes + formal privacy accounting mechanisms that track privacy budget + consumption across multiple learning rounds, tenant isolation + enforcement that prevents cross-organizational information + leakage, and cryptographic audit trails that enable regulatory + compliance verification. PPALP addresses the critical need for + standardized privacy-preserving protocols in federated agent + learning by providing implementable solutions that balance + collaborative learning benefits with stringent privacy + requirements. The specification defines concrete message formats, + communication flows, and security mechanisms necessary for + production deployment of privacy-preserving federated agent + learning systems in multi-tenant environments where traditional + approaches fail to provide adequate protection. + +2. Terminology + + This document defines terminology for privacy-preserving federated + learning protocols in multi-tenant environments. The key words + "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", + "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and + "OPTIONAL" in this document are to be interpreted as described in + BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all + capitals, as shown here. + + Agent: An autonomous software entity capable of learning and + adapting its behavior through machine learning mechanisms, as + defined in [draft-berlinai-vera]. In the context of this + specification, agents participate in federated learning to improve + their models collaboratively. + + Federated Agent Learning: A distributed machine learning paradigm + where multiple AI agents collaboratively train shared models + without centralizing their training data. Each agent maintains + local data while contributing to global model improvement through + privacy-preserving parameter sharing mechanisms. + + Privacy Budget: A quantitative measure of the privacy cost + incurred by releasing information about a dataset through + differential privacy mechanisms. The privacy budget, typically + denoted as epsilon (ε), bounds the maximum privacy loss across all + learning iterations and MUST be carefully managed to maintain + formal privacy guarantees throughout the federated learning + process. + + Differential Privacy: A mathematical framework that provides + formal privacy guarantees by adding calibrated noise to + computation outputs. In federated agent learning, differential + privacy mechanisms ensure that the participation of any individual + data point cannot be inferred from the released model parameters + or gradients. + + Tenant: An organizational entity participating in federated + learning with its own collection of agents, data, and privacy + requirements. Tenants represent distinct administrative domains + that require isolation guarantees while participating in + collaborative learning protocols. + + Tenant Isolation: The property that agent learning activities of + one organizational tenant cannot infer private information about + another tenant's data or models. Tenant isolation MUST be + maintained through cryptographic mechanisms and differential + privacy guarantees to prevent cross-organizational data leakage. + + Secure Aggregation: A cryptographic protocol that allows + computation of aggregate statistics over distributed data without + revealing individual contributions. Secure aggregation protocols + typically employ techniques such as homomorphic encryption or + secure multiparty computation to ensure that only the aggregated + result is revealed to participants. + + Federated Coordinator: The central entity responsible for + orchestrating privacy-preserving model aggregation across multiple + tenants in federated learning. The coordinator manages + communication flows, enforces privacy policies, and coordinates + the secure aggregation process while maintaining tenant isolation + guarantees. + + Privacy Compliance Verifier: A system component that + cryptographically verifies adherence to differential privacy + guarantees and tenant isolation requirements. The verifier employs + zero-knowledge proofs and audit mechanisms to ensure that all + participants comply with established privacy policies without + revealing sensitive information about their contributions. + + Gradient Inversion Attack: An attack where an adversary attempts + to reconstruct training data from shared gradient information in + federated learning. Such attacks exploit the information leakage + inherent in gradient sharing and represent a primary threat that + privacy-preserving protocols MUST defend against. + + Membership Inference Attack: An attack technique where an + adversary attempts to determine whether a specific data point was + used in training a machine learning model. In federated settings, + these attacks can be used to infer information about individual + agents' training data across tenant boundaries. + + Privacy Accounting: The process of tracking and managing privacy + budget consumption across multiple learning rounds and operations. + Privacy accounting mechanisms MUST ensure that the cumulative + privacy loss remains within acceptable bounds throughout the + entire federated learning process. + + Homomorphic Encryption: A cryptographic technique that allows + computation on encrypted data without decrypting it first. In the + context of secure aggregation, homomorphic encryption enables the + computation of aggregate model parameters while keeping individual + contributions encrypted. + + Zero-Knowledge Proof: A cryptographic protocol that allows one + party to prove knowledge of information to another party without + revealing the information itself. Zero-knowledge proofs are used + in privacy compliance verification to demonstrate adherence to + privacy requirements without exposing sensitive details about the + verification process. + +3. Problem Statement + + Federated agent learning in multi-tenant environments faces + fundamental privacy leakage risks that existing protocols fail to + adequately address. The core problem arises when AI agents from + different organizations (tenants) participate in collaborative + learning while sharing gradient updates or model parameters that + inadvertently reveal sensitive information about their private + training data. Unlike traditional federated learning scenarios + with homogeneous participants, multi-tenant environments amplify + privacy risks due to potentially adversarial relationships between + tenants and the heterogeneous nature of agent architectures across + organizational boundaries. + + The threat model for privacy-preserving federated agent learning + encompasses three primary attack vectors that adversaries MAY + exploit to compromise tenant data privacy. First, gradient + inversion attacks allow malicious participants to reconstruct + approximations of private training samples from shared gradient + information, particularly effective when batch sizes are small or + when attackers can observe multiple training rounds. Second, + membership inference attacks enable adversaries to determine + whether specific data points were used in another tenant's + training dataset by analyzing model behavior or parameter updates. + Third, cross-tenant data reconstruction attacks leverage + correlations between multiple tenants' shared information to infer + sensitive attributes about datasets belonging to other + organizational participants, violating tenant isolation + requirements. + + The privacy leakage problem is quantified through formal privacy + metrics that MUST account for composition across multiple learning + rounds and tenant interactions. Let ε represent the privacy budget + expended per tenant per learning round, and δ represent the + probability of privacy violation. The cumulative privacy cost + grows with each parameter sharing event, and without proper + privacy accounting mechanisms, the total privacy loss (εtotal, + δtotal) MAY exceed acceptable thresholds defined by organizational + privacy policies. Traditional differential privacy mechanisms + designed for single-organization scenarios provide insufficient + guarantees in multi-tenant federated settings where privacy + budgets must be allocated across tenant boundaries and learning + rounds while maintaining utility for collaborative model + improvement. + + Building upon the AI Agent Structured Threat Model framework + defined in [draft-berlinai-vera], federated agent learning + environments face additional risks including compromised privacy + compliance verifiers that MAY provide false attestations of + differential privacy adherence, tenant gateway failures that could + leak cross-tenant information, and coordination attacks where + multiple tenants collude to circumvent privacy protections. The + threat model assumes honest-but-curious federated coordinators who + follow protocol specifications but MAY attempt to infer private + information from aggregated data, and potentially malicious + tenants who MAY deviate from prescribed privacy-preserving + mechanisms to gain competitive advantages through unauthorized + data access. + + The problem statement also addresses the challenge of maintaining + privacy guarantees while supporting heterogeneous agent + architectures with varying computational capabilities, privacy + requirements, and trust assumptions. Agents operating under + different privacy regulations (such as GDPR, CCPA, or sector- + specific requirements) MUST be able to participate in federated + learning while maintaining compliance with their respective + privacy obligations. The protocol MUST provide mechanisms for + cryptographic verification of privacy compliance, audit trails for + regulatory reporting, and graceful degradation when privacy + budgets are exhausted, ensuring that collaborative learning can + continue while respecting individual tenant privacy constraints + and maintaining the overall utility of the federated learning + process. + +4. Privacy-Preserving Agent Learning Architecture + + This section defines the Privacy-Preserving Agent Learning + Protocol (PPALP) architecture, which integrates differential + privacy, secure aggregation, and zero-knowledge proofs to enable + federated learning across organizational boundaries while + maintaining formal privacy guarantees. The architecture extends + the Privacy-Preserving Reference Architecture framework [draft- + kale-agntcy-federated-privacy] to specifically address agent + learning scenarios in multi-tenant environments. PPALP employs a + layered approach where privacy mechanisms are enforced at multiple + architectural levels to provide defense-in-depth protection + against information leakage. + + The PPALP architecture defines four primary component roles that + collectively ensure privacy-preserving federated learning + operations. The Federated Coordinator serves as the central + orchestration entity responsible for managing global model state, + coordinating aggregation rounds, and maintaining privacy budget + allocations across all participating tenants. Tenant Gateways act + as intermediary control plane entities, extending the Agent + Gateway Control Plane concept [draft-li-dmsc-mcps-agw] to enforce + tenant-specific privacy policies and manage agent authentication + within organizational boundaries. Privacy Compliance Verifiers + operate as independent auditing entities that cryptographically + verify adherence to differential privacy guarantees and tenant + isolation requirements through zero-knowledge proofs. + Participating Agents represent the distributed learning entities + that contribute model updates while consuming privacy budget + allocated by their respective tenants. + + The architectural design enforces strict tenant isolation through + cryptographic boundaries and policy enforcement mechanisms. Each + tenant maintains an isolated privacy budget that cannot be + influenced by other tenants' learning activities, ensuring that + cross-tenant privacy guarantees remain intact regardless of + adversarial behavior by other participants. Tenant Gateways + implement the Federated Policy Enforcement framework [draft-cui- + dmsc-agent-cdi] to harmonize local privacy policies with global + federated learning requirements while preventing policy conflicts + that could compromise privacy guarantees. All inter-component + communications MUST use TLS 1.3 [RFC8446] with mutual + authentication based on X.509 certificates [RFC5280] to prevent + network-level attacks. + + The protocol supports heterogeneous agent types through a + standardized privacy-preserving model update interface that + abstracts underlying model architectures while ensuring consistent + privacy accounting. Agents MUST register their learning + capabilities and privacy requirements with their tenant's gateway, + which negotiates appropriate differential privacy parameters with + the Federated Coordinator. The architecture maintains backward + compatibility with existing federated learning frameworks by + implementing standard aggregation interfaces that can be secured + through the PPALP privacy mechanisms without requiring + modifications to existing agent implementations. + + Privacy accounting occurs at multiple architectural layers to + provide comprehensive protection against composition attacks and + privacy budget exhaustion. The Federated Coordinator maintains + global privacy budget state and implements composition theorems to + track cumulative privacy expenditure across learning rounds. + Tenant Gateways enforce local privacy policies and MAY implement + additional privacy amplification techniques such as subsampling to + reduce privacy costs for their constituent agents. Privacy + Compliance Verifiers continuously monitor privacy budget + consumption and generate cryptographic proofs of compliance that + can be audited by external parties without revealing sensitive + learning parameters or model information. + +5. Differential Privacy for Agent Model Updates + + This section specifies the differential privacy mechanisms that + MUST be applied to agent model parameter updates to provide formal + privacy guarantees in multi-tenant federated learning + environments. All participating agents MUST implement differential + privacy mechanisms that satisfy ε-differential privacy for a pre- + negotiated privacy parameter ε, where smaller values of ε provide + stronger privacy guarantees but may reduce model utility. The + differential privacy implementation MUST use the Gaussian + mechanism for continuous-valued parameters and the exponential + mechanism for discrete-valued selections, calibrated to the global + sensitivity of the learning algorithm as defined in [draft-kale- + agntcy-federated-privacy]. + + Privacy budget allocation MUST be managed across multiple learning + rounds to prevent privacy depletion over time. Each tenant MUST + maintain a privacy budget tracker that accounts for the cumulative + privacy cost across all federated learning rounds, where the total + privacy cost is bounded by composition theorems. The system MUST + implement advanced composition using the moments accountant method + or Rényi differential privacy to achieve tighter privacy bounds + than basic composition would allow. Privacy budgets SHOULD be + allocated proportionally to the expected utility gain from each + learning round, with mechanisms for tenants to reserve budget for + future high-priority learning tasks. + + Noise calibration for model parameter updates MUST be performed + based on the L2 sensitivity of the gradient computation, which is + bounded through gradient clipping techniques. Before applying + differential privacy noise, gradients MUST be clipped to a maximum + norm C, where C is negotiated during protocol initialization based + on the trade-off between privacy, utility, and convergence + requirements. The Gaussian noise added to each parameter update + MUST have variance σ² = 2C²ln(1.25/δ)/ε² for (ε,δ)-differential + privacy, where δ represents the probability of privacy failure and + MUST be set to be cryptographically negligible (typically δ ≤ + 10⁻⁶). + + The protocol MUST maintain detailed privacy accounting across + learning rounds using a standardized privacy ledger format that + records the privacy cost of each operation. This ledger MUST track + per-tenant privacy expenditure, cross-tenant privacy interactions, + and cumulative privacy debt according to the composition theorems. + The privacy accounting system MUST provide cryptographic proofs of + privacy budget compliance that can be verified by Privacy + Compliance Verifiers as specified in Section 7. When a tenant's + privacy budget is exhausted, the system MUST either terminate that + tenant's participation or implement privacy budget renewal + mechanisms with appropriate cooling-off periods to prevent privacy + budget laundering attacks. + + The differential privacy implementation MUST be compatible with + the secure aggregation protocols defined in Section 6, ensuring + that privacy guarantees are maintained even when combined with + cryptographic operations. The noise addition process MUST occur + before any cryptographic encoding for secure aggregation, and the + protocol MUST verify that the combination of differential privacy + and secure aggregation does not introduce additional privacy + vulnerabilities through cryptographic side channels or timing + attacks. All differential privacy parameters, including ε, δ, and + clipping bounds, MUST be negotiated during the protocol handshake + phase and cryptographically committed to prevent manipulation + during the learning process. + +6. Secure Multi-Tenant Federated Aggregation + + This section defines the cryptographic protocols that enable + secure aggregation of model parameters across tenant boundaries + while preserving privacy guarantees established in Section 5. The + secure aggregation protocol MUST ensure that no individual tenant + can learn information about other tenants' model updates beyond + what is revealed by the final aggregated result. The protocol + combines homomorphic encryption with secure multiparty computation + techniques to achieve this property while maintaining + computational efficiency suitable for practical federated learning + deployments. + + The Multi-Tenant Federated Averaging mechanism serves as the + foundation for secure parameter aggregation. Each tenant's Privacy + Compliance Verifier MUST encrypt their differentially-private + model updates using a threshold homomorphic encryption scheme + before transmission to the Federated Coordinator. The encryption + MUST use a (t,n)-threshold scheme where t represents the minimum + number of tenants required for decryption and n represents the + total number of participating tenants. This ensures that no single + tenant or coordinator can decrypt individual updates, while still + enabling computation over encrypted parameters. The homomorphic + encryption scheme SHOULD support both addition and limited + multiplication operations to accommodate various neural network + architectures commonly used in agent learning systems. + + The secure multiparty computation protocol proceeds in three + phases: commitment, computation, and verification. During the + commitment phase, each tenant generates a cryptographic commitment + to their encrypted model update using a computationally-hiding and + perfectly-binding commitment scheme. The Federated Coordinator + collects all commitments and broadcasts them to participating + tenants for verification. In the computation phase, tenants + collaboratively execute a secure aggregation protocol that + computes the weighted average of model parameters without + revealing individual contributions. The protocol MUST be secure + against up to t-1 malicious participants and SHOULD provide + robustness against participant dropout through verifiable secret + sharing techniques. + + Verification mechanisms ensure correctness of the aggregation + process and detect potential manipulation attempts. Each + participating tenant MUST verify the integrity of the aggregation + using zero-knowledge proofs that demonstrate correct execution of + the secure computation protocol. The ZKP-based Agent Attestation + mechanism enables tenants to prove their compliance with the + differential privacy requirements specified in Section 5 without + revealing their actual noise parameters or model updates. These + proofs MUST be verified by the Federated Coordinator and recorded + in an immutable audit trail as specified in Section 7. + Additionally, the protocol includes range proofs to verify that + model parameter updates fall within expected bounds, preventing + gradient manipulation attacks that could compromise model + convergence or extract private information. + + The aggregation protocol MUST support heterogeneous agent types by + normalizing model parameters to a common representation before + encryption and aggregation. Tenants with different model + architectures encode their updates using a standardized parameter + mapping that preserves semantic meaning while enabling secure + computation. The protocol SHOULD maintain backward compatibility + with existing federated learning frameworks by providing adapter + layers that translate between PPALP message formats defined in + Section 8 and legacy federated learning APIs. Performance + optimizations including parameter compression, selective + aggregation of model layers, and asynchronous update mechanisms + MAY be implemented provided they do not compromise the privacy + guarantees established by the differential privacy and secure + aggregation components. + +7. Privacy Compliance and Verification + + Privacy compliance in federated agent learning environments + requires cryptographic mechanisms that provide verifiable proof of + adherence to differential privacy guarantees while maintaining + audit capabilities for regulatory requirements. This section + defines the Privacy Compliance and Verification framework that + enables tenants to demonstrate privacy compliance without + revealing sensitive implementation details or compromising the + privacy of their learning processes. The framework combines zero- + knowledge proofs, selective disclosure attestations, and + cryptographic erasure mechanisms to provide comprehensive privacy + verification capabilities. + + The Privacy Compliance Verifier MUST implement zero-knowledge + proof protocols that allow federated agents to demonstrate + differential privacy adherence without revealing actual noise + values, data distributions, or model parameters. Following the SD- + JWT Privacy-Preserving Trust Proof pattern from [draft-drake- + email-tpm-attestation], the verifier SHALL use Selective + Disclosure JWT mechanisms [RFC7519] to enable privacy-preserving + attestation of compliance properties. Each participating agent + MUST generate cryptographic proofs that demonstrate: (1) proper + calibration of differential privacy noise according to the + allocated privacy budget, (2) correct implementation of the + Gaussian mechanism or equivalent noise generation, and (3) + adherence to composition theorems across multiple learning rounds. + These proofs MUST be constructed using non-interactive zero- + knowledge proof systems such as zk-SNARKs or zk-STARKs that + provide succinctness and efficient verification. + + Audit trail mechanisms MUST maintain cryptographically verifiable + logs of all privacy-relevant operations while preserving the + confidentiality of sensitive learning data. The audit system SHALL + record privacy budget expenditures, aggregation operations, and + tenant isolation boundary enforcement without logging actual model + parameters or gradient values. Each audit entry MUST include a + timestamp, tenant identifier, privacy budget allocation, and + cryptographic hash of the differential privacy parameters used. + The audit trail MUST support selective disclosure to authorized + auditors while preventing unauthorized access to privacy-sensitive + operational details. Privacy budget accounting MUST be maintained + across all learning rounds with cryptographic commitments that + prevent double-spending of privacy allocations. + + Cryptographic erasure capabilities MUST be implemented to address + regulatory requirements for data deletion and agent memory cleanup + as specified in [draft-gaikwad-aps-profile]. The system SHALL + support cryptographic erasure of agent memory associated with + specific user or agent identities through key destruction + mechanisms that render associated encrypted data permanently + inaccessible. When a deletion request is received, the Privacy + Compliance Verifier MUST coordinate the erasure of all federated + learning artifacts associated with the specified identity, + including gradient histories, model update records, and privacy + budget allocations. The erasure process MUST generate + cryptographic proofs of deletion that demonstrate the irreversible + destruction of the requested data across all participating + federated nodes. + + Privacy compliance verification MUST support Privacy-Respecting + Capability Attestation mechanisms that enable verification of + agent privacy capabilities without revealing implementation- + specific details. Following patterns from [draft-huang-rats- + agentic-eat-cap-attest], agents MUST be able to attest to their + differential privacy implementation capabilities, secure + aggregation support, and tenant isolation enforcement without + disclosing proprietary algorithms or security configurations. The + attestation process SHALL use hardware-backed trust anchors where + available, with fallback to software-based attestation for + environments without trusted execution capabilities. All privacy + compliance proofs and attestations MUST be timestamped and include + validity periods to prevent replay attacks and ensure freshness of + compliance claims. + +8. Protocol Message Formats and Flows + + This section defines the concrete message formats, communication + flows, and API definitions for the Privacy-Preserving Agent + Learning Protocol (PPALP). All message exchanges MUST use JSON + format as specified in [RFC8259] with UTF-8 encoding. Protocol + implementations MUST support TLS 1.3 [RFC8446] for transport + security and MUST authenticate using OAuth 2.0 [RFC6749] bearer + tokens or X.509 certificates [RFC5280]. The protocol defines four + primary message categories: initialization messages for + establishing privacy parameters, update messages for transmitting + differentially private model parameters, aggregation messages for + secure multi-tenant computation, and verification messages for + privacy compliance validation. + + The protocol message structure follows a common envelope format + with mandatory header fields. Each message MUST include a + "version" field specifying the PPALP protocol version, a "type" + field indicating the message category, a "tenantid" field for + tenant isolation enforcement, and a "timestamp" field using ISO + 8601 format. Messages involving privacy budget allocation MUST + include a "privacybudget" object containing epsilon and delta + values as defined in Section 5. Security-critical messages such as + model updates and aggregation requests MUST include a "signature" + field containing a JWS signature [RFC7519] for message + authentication and integrity verification. + + The federated learning session begins with a Privacy Parameter + Negotiation flow initiated by the Federated Coordinator. The + coordinator sends a "privacyinit" message specifying the global + privacy budget, differential privacy mechanism, and aggregation + method. Each Tenant Gateway responds with a "privacyaccept" + message confirming participation and local privacy constraints. + Model update flows use "modelupdate" messages containing encrypted + differentially private gradients, privacy proof attestations, and + secure aggregation shares. The Federated Coordinator processes + these through "aggregationrequest" and "aggregation_response" + messages that implement the secure multi-tenant aggregation + protocol defined in Section 6. + + Privacy compliance verification occurs through dedicated message + flows involving the Privacy Compliance Verifier component. Agents + MUST send "privacyproof" messages containing zero-knowledge proofs + of differential privacy adherence for each model update. The + verifier responds with "compliancestatus" messages indicating + verification success or failure with specific error codes. Audit + trail generation uses "audit_log" messages that record privacy + budget consumption, aggregation participation, and compliance + verification events. All audit messages MUST be cryptographically + signed and include tamper-evident sequence numbers for regulatory + compliance. + + The protocol defines standardized error handling through HTTP + status codes [RFC9110] and structured error responses. Privacy + budget exhaustion MUST return HTTP 429 with a + "privacybudgetexceeded" error code and remaining budget + information. Tenant isolation violations MUST return HTTP 403 with + detailed violation descriptions for security monitoring. + Implementation-specific extensions MAY add custom message fields + using the "extensions" object within the message envelope, + provided they do not compromise privacy guarantees or tenant + isolation requirements. Reference implementations MUST provide + JSON Schema validation files and OpenAPI specifications for all + message formats to ensure interoperability across different PPALP + implementations. + + Example message flows demonstrate typical protocol interactions + including session establishment, multi-round federated learning + with privacy budget management, and graceful session termination + with privacy compliance verification. The appendix includes + complete JSON Schema definitions for all message types, sample + message exchanges showing proper privacy parameter negotiation, + and error handling examples covering common failure scenarios such + as aggregation timeouts and privacy proof validation failures. + +9. Security Considerations + + PPALP addresses multiple security threats present in multi-tenant + federated learning environments through defense-in-depth + mechanisms. The protocol MUST implement protections against + gradient inversion attacks [RFC8446] by ensuring differential + privacy noise addition occurs before any parameter sharing, with + privacy budgets calculated according to composition theorems + defined in Section 5. Membership inference attacks are mitigated + through tenant isolation enforcement, where each tenant's Privacy + Compliance Verifier cryptographically verifies that cross-tenant + information leakage remains below specified epsilon-delta bounds. + Model poisoning attacks are addressed through secure aggregation + protocols that include Byzantine-fault-tolerant mechanisms and + zero-knowledge proofs of honest participation. + + Key management in PPALP follows a hierarchical trust model where + the Federated Coordinator maintains root cryptographic + credentials, while each tenant operates independent key + hierarchies for their agent populations. Tenant Gateways MUST + establish mutually authenticated channels using TLS 1.3 [RFC8446] + with certificate pinning, and rotate encryption keys according to + the privacy budget consumption rate to ensure forward secrecy. The + protocol supports both pre-shared keys for closed consortium + deployments and public key infrastructure integration [RFC5280] + for open multi-tenant scenarios. Cross-tenant cryptographic + isolation MUST be maintained such that compromise of one tenant's + keys cannot affect the privacy guarantees of other tenants' + learning processes. + + Operational security considerations for multi-tenant deployments + include audit logging of all privacy budget expenditures, secure + deletion mechanisms for ephemeral cryptographic material, and + side-channel attack mitigation. The protocol MUST log all + differential privacy parameter selections, aggregation events, and + privacy compliance verification results to enable post-hoc + security analysis while ensuring these logs themselves do not leak + private information. Network-level protections SHOULD include + traffic analysis resistance through padding and timing + obfuscation, particularly for Agent Gateway intercommunication as + specified in [draft-han-rtgwg-agent-gateway-intercomm-framework]. + Deployments MUST implement secure boot and attestation mechanisms + for Privacy Compliance Verifiers to prevent tampering with privacy + enforcement logic. + + The protocol provides resistance to collusion attacks through + cryptographic commitment schemes and verifiable privacy budget + accounting across multiple learning rounds. When tenant subsets + attempt to correlate their local model updates to infer + information about non-colluding tenants, the secure aggregation + protocol ensures that only differentially private aggregate + statistics are revealed. However, the protocol assumes honest-but- + curious adversaries and MAY NOT provide protection against active + adversaries who deviate from the protocol specification. + Deployments requiring protection against malicious adversaries + SHOULD implement additional verification mechanisms and consider + reduced privacy parameters to account for adaptive attacks over + multiple learning epochs. + +10. IANA Considerations + + This document defines new protocol elements that require + registration with the Internet Assigned Numbers Authority (IANA) + to ensure interoperability and avoid conflicts with existing + protocols. The Privacy-Preserving Agent Learning Protocol (PPALP) + introduces novel message types, error codes, and protocol + identifiers that extend existing federated learning and privacy- + preserving computation frameworks as defined in [draft-kale- + agntcy-federated-privacy]. + + IANA SHALL establish a new registry titled "Privacy-Preserving + Agent Learning Protocol (PPALP) Parameters" under the "AI Agent + Protocol Parameters" registry group. This registry SHALL contain + three sub-registries: "PPALP Message Types", "PPALP Error Codes", + and "PPALP Privacy Compliance Identifiers". The PPALP Message + Types registry SHALL include entries for differential privacy + update messages (DPUPDATE), secure aggregation requests + (SECAGGREQ), secure aggregation responses (SECAGGRESP), privacy + budget allocation messages (PRIVBUDGET), tenant isolation + verification messages (TENANTVERIFY), and zero-knowledge proof + submission messages (ZKPSUBMIT). Each message type SHALL be + assigned a unique 16-bit identifier following the allocation + policies specified in [RFC8259] for JSON-based protocol + extensions. + + The PPALP Error Codes registry SHALL define error conditions + specific to privacy-preserving federated learning operations. + Required error codes include PRIVACYBUDGETEXCEEDED (4001), + TENANTISOLATIONVIOLATION (4002), + DIFFERENTIALPRIVACYVERIFICATIONFAILED (4003), + SECUREAGGREGATIONTIMEOUT (4004), INSUFFICIENTPRIVACYPARAMETERS + (4005), and ZKPVERIFICATION_FAILED (4006). These error codes + extend the HTTP status code space as defined in [RFC9110] and + SHALL follow the expert review allocation policy with designated + experts appointed from the privacy-preserving computation and + federated learning communities. + + The PPALP Privacy Compliance Identifiers registry SHALL contain + standardized identifiers for privacy mechanisms, verification + schemes, and compliance frameworks used within the protocol. This + registry SHALL include identifiers for differential privacy + mechanisms (DPGAUSSIAN, DPLAPLACE), secure aggregation protocols + (SECAGGBFV, SECAGGCKKS), and zero-knowledge proof systems + (ZKPBULLETPROOFS, ZKPPLONK). Registration policies for this + registry SHALL follow the Specification Required policy as defined + in [RFC2119], with specifications requiring formal privacy + analysis and security proofs. Updates to these registries SHALL be + coordinated with the broader AI agent protocol standardization + efforts referenced in [draft-berlinai-vera] to ensure consistency + across related privacy-preserving agent communication protocols. + +11. References + +11.1. Normative References + + [RFC 2119] + RFC 2119 + + [RFC 8174] + RFC 8174 + + [RFC 8259] + RFC 8259 + + [RFC 7519] + RFC 7519 + + [RFC 8446] + RFC 8446 + + [draft-kale-agntcy-federated-privacy] + draft-kale-agntcy-federated-privacy + +11.2. Informative References + + [RFC 6749] + RFC 6749 + + [RFC 9110] + RFC 9110 + + [RFC 5280] + RFC 5280 + + [draft-berlinai-vera] + draft-berlinai-vera + + [draft-huang-acme-scalable-agent-enrollment] + draft-huang-acme-scalable-agent-enrollment + + [draft-messous-eat-ai] + draft-messous-eat-ai + + [draft-li-dmsc-mcps-agw] + draft-li-dmsc-mcps-agw + + [draft-gaikwad-aps-profile] + draft-gaikwad-aps-profile + + [draft-drake-email-tpm-attestation] + draft-drake-email-tpm-attestation + + [draft-huang-rats-agentic-eat-cap-attest] + draft-huang-rats-agentic-eat-cap-attest + + +Author's Address + + Generated by IETF Draft Analyzer + Family: agent-ecosystem + 2026-03-04 diff --git a/data/reports/generated-drafts/draft-ai-agent-provenance-assurance-ecosystem-00.txt b/data/reports/generated-drafts/draft-ai-agent-provenance-assurance-ecosystem-00.txt new file mode 100644 index 0000000..5f6fb5b --- /dev/null +++ b/data/reports/generated-drafts/draft-ai-agent-provenance-assurance-ecosystem-00.txt @@ -0,0 +1,1085 @@ +Internet-Draft lake +Intended status: standards-track March 2026 +Expires: September 05, 2026 + + + Agent Provenance Assurance Ecosystem (APAE) Framework + draft-agent-ecosystem-agent-provenance-assurance-ecosystem-00 + +Abstract + + The proliferation of AI agents across distributed systems creates + critical challenges for establishing verifiable chains of + identity, capabilities, and operational history. This document + defines the Agent Provenance Assurance Ecosystem (APAE) Framework, + a comprehensive system for tracking, verifying, and assuring the + provenance of AI agents throughout their lifecycle. The framework + establishes a multi-layered architecture encompassing agent + identity attestation, capability verification, operational audit + trails, and cross-domain provenance tracking. APAE integrates with + existing identity management systems, authorization protocols, and + communication frameworks to provide end-to-end provenance + assurance without disrupting current agent ecosystems. The + framework supports both lightweight deployments for development + environments and high-assurance configurations for regulated + industries, enabling the same agent infrastructure to operate + across varying trust requirements while maintaining verifiable + provenance chains. + +Status of This Memo + + This Internet-Draft is submitted in full conformance with the + provisions of BCP 78 and BCP 79. + + This document is intended to have standards-track status. + Distribution of this memo is unlimited. + +Terminology + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL + NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", + "MAY", and "OPTIONAL" in this document are to be interpreted as + described in BCP 14 [RFC2119] [RFC8174] when, and only when, they + appear in all capitals, as shown here. + + Agent Provenance Chain + A verifiable sequence of records documenting an agent's + identity, capabilities, delegations, and operational history + from creation through current state + + Attestation Level + A classification of the strength and scope of cryptographic and + procedural evidence supporting agent identity and capability + claims + + Capability Manifest + A signed document describing an agent's current models, tools, + policies, and operational constraints with cryptographic + integrity protection + + Provenance Anchor + A cryptographically verifiable root of trust that establishes + the initial identity and capabilities of an agent at creation + time + + Cross-Domain Provenance + The preservation and verification of agent provenance + information across different administrative domains, trust + boundaries, and protocol ecosystems + + Audit Trail Federation + The controlled sharing and verification of agent operational + logs across multiple systems while preserving privacy and + security constraints + + +Table of Contents + + 1. Introduction ................................................ 3 + 2. Terminology ................................................. 4 + 3. Problem Statement and Requirements .......................... 5 + 4. APAE Architecture Overview .................................. 6 + 5. Agent Identity and Attestation Layer ........................ 7 + 6. Capability and Manifest Verification ........................ 8 + 7. Provenance Audit and Logging Framework ...................... 9 + 8. Cross-Ecosystem Integration Patterns ........................ 10 + 9. Deployment Profiles and Trust Models ........................ 11 + 10. Security Considerations ..................................... 12 + 11. IANA Considerations ......................................... 13 + 12. References .................................................. 14 + +1. Introduction + + The deployment of AI agents across distributed systems has + fundamentally transformed how automated decision-making and task + execution occur in modern computing environments. As organizations + increasingly rely on AI agents for critical operations ranging + from customer service interactions to financial transaction + processing and infrastructure management, the need for verifiable + provenance tracking has become paramount. Unlike traditional + software components with static capabilities, AI agents exhibit + dynamic behavior through model updates, policy modifications, and + capability evolution, creating complex challenges for establishing + trust and accountability in distributed deployments [draft-chen- + ai-agent-auth-new-requirements]. + + Current approaches to agent identity and authorization, while + addressing immediate authentication needs, fail to provide + comprehensive visibility into agent provenance across their + operational lifecycle. Organizations lack standardized mechanisms + to verify not only who created an agent, but also what models it + currently runs, which policies govern its behavior, how its + capabilities have evolved over time, and what operations it has + performed across distributed systems. This gap becomes + particularly critical when agents operate across organizational + boundaries, undergo delegation to other agents, or when regulatory + compliance requires detailed audit trails of automated decision- + making processes [draft-jiang-seat-dynamic-attestation]. + + The challenges of agent provenance extend beyond simple identity + verification to encompass the full spectrum of agent lifecycle + management. Agent creation involves establishing cryptographic + roots of trust and initial capability manifests. Agent delegation + requires preserving provenance chains while enabling authorized + capability transfer between entities. Capability evolution demands + continuous attestation as agents load new models, update policies, + or modify their operational constraints. Operational history + tracking necessitates comprehensive audit trails that maintain + integrity across system boundaries while supporting privacy + preservation and selective disclosure requirements [draft-liu- + oauth-a2a-profile]. + + Existing identity management systems, authorization protocols, and + audit frameworks provide essential building blocks but lack the + specialized constructs needed for comprehensive agent provenance + assurance. Standard identity protocols such as OAuth 2.0 [RFC6749] + and JWT [RFC7519] enable agent authentication but do not capture + the dynamic nature of agent capabilities or provide mechanisms for + tracking operational history. Certificate-based systems [RFC5280] + can establish initial identity but fail to accommodate the + continuous evolution of agent capabilities. Current audit systems + focus on user actions rather than autonomous agent behavior, + creating gaps in accountability for automated operations. + + This document defines the Agent Provenance Assurance Ecosystem + (APAE) Framework to address these challenges through a + comprehensive, multi-layered approach to agent provenance + tracking. APAE establishes standardized mechanisms for agent + identity attestation, capability verification, operational audit + trails, and cross-domain provenance preservation. The framework + integrates with existing authentication and authorization systems + while extending them with agent-specific provenance capabilities, + enabling organizations to retrofit provenance assurance into + deployed agent ecosystems without disrupting current operations. + + The scope of APAE encompasses the complete agent lifecycle from + initial creation through operational retirement. This includes + establishing provenance anchors at agent creation, maintaining + verifiable capability manifests as agents evolve, tracking + delegation relationships and authority transfers, logging + operational activities with cryptographic integrity, and + federating provenance information across organizational and + protocol boundaries. The framework supports flexible deployment + models ranging from lightweight development environments to high- + assurance configurations required by regulated industries, + enabling the same underlying infrastructure to adapt to varying + trust requirements while maintaining consistent provenance + semantics across all deployment contexts. + +2. Terminology + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL + NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", + "MAY", and "OPTIONAL" in this document are to be interpreted as + described in BCP 14 [RFC2119] [RFC8174] when, and only when, they + appear in all capitals, as shown here. + + This document defines the following terms for use within the Agent + Provenance Assurance Ecosystem (APAE) Framework: + + Agent: An autonomous software entity that acts on behalf of users, + services, or other agents, typically incorporating AI/ML models + for decision-making and task execution as defined in [draft-chen- + ai-agent-auth-new-requirements]. + + Agent Identity Primitive: A fundamental cryptographic construct + (such as a public key, certificate, or distributed identifier) + that serves as the basis for agent authentication and identity + verification throughout the agent's lifecycle. + + Agent Provenance Chain: A chronologically ordered, + cryptographically linked sequence of records that documents an + agent's complete history including initial creation, identity + establishment, capability modifications, delegation relationships, + and operational activities. Each link in the chain MUST be + verifiable and tamper-evident, forming an immutable audit trail + from the agent's provenance anchor through its current operational + state. + + Attestation Level: A standardized classification system that + quantifies the strength, scope, and trustworthiness of evidence + supporting agent identity and capability claims. Attestation + levels range from basic self-assertions suitable for development + environments to high-assurance cryptographic attestations meeting + regulatory compliance requirements. Higher attestation levels + require stronger cryptographic evidence, more rigorous validation + procedures, and enhanced tamper-resistance mechanisms. + + Capability Manifest: A structured, digitally signed document that + comprehensively describes an agent's current operational + configuration including loaded AI/ML models, available tools and + APIs, active behavioral policies, operational constraints, and + security boundaries. As specified in [draft-jiang-seat-dynamic- + attestation], capability manifests provide cryptographically + verifiable assurance about an agent's actual capabilities and + constraints at the time of attestation. + + Cross-Domain Provenance: The preservation, validation, and + verification of agent provenance information as agents operate + across heterogeneous administrative domains, trust boundaries, + protocol ecosystems, and organizational jurisdictions. Cross- + domain provenance ensures that provenance chains remain intact and + verifiable even when agents interact with systems using different + identity management frameworks, authorization protocols, or + security models as described in [draft-liu-oauth-a2a-profile]. + + Delegation Chain: A verifiable sequence of authorization grants + and capability transfers that documents how operational authority + and permissions flow from an originating principal (user, service, + or agent) through intermediary agents to the currently acting + agent. Each delegation in the chain MUST be cryptographically + verifiable and include scope limitations, temporal constraints, + and revocation mechanisms. + + Operational Audit Trail: A tamper-evident log of agent activities, + decisions, and state changes that provides accountability and + forensic capabilities for agent operations. Audit trails include + sufficient detail to reconstruct agent behavior while preserving + privacy and confidentiality requirements through selective + disclosure and zero-knowledge proof mechanisms. + + Provenance Anchor: The cryptographically verifiable root of trust + that establishes the foundational identity and initial + capabilities of an agent at creation time. Provenance anchors + serve as the starting point for all subsequent provenance chain + entries and MUST be issued by trusted authorities with appropriate + key management and certificate lifecycle processes as defined in + [RFC5280]. + + Provenance Registry: A distributed system that stores, indexes, + and provides query interfaces for agent provenance information + while maintaining appropriate access controls and privacy + protections. Registries enable cross-domain provenance lookup, + verification, and audit trail federation across organizational + boundaries. + + Trust Boundary: A logical or physical demarcation point where + different security domains, administrative authorities, or trust + models intersect, requiring explicit validation and translation of + provenance information to maintain chain integrity and + verifiability. + + These terms are used consistently throughout this specification to + ensure clarity and interoperability in multi-stakeholder + environments deploying agent provenance assurance capabilities. + +3. Problem Statement and Requirements + + The emergence of autonomous AI agents in distributed systems + presents unprecedented challenges for establishing verifiable + chains of identity, capabilities, and operational history. Unlike + traditional software components with static configurations, AI + agents exhibit dynamic behavior patterns, evolve their + capabilities through learning and tool acquisition, and operate + through complex delegation relationships that span multiple + administrative domains. Current identity and authorization + frameworks, while adequate for human users and simple service-to- + service authentication, lack the semantic richness and temporal + granularity required to track agent provenance across their full + lifecycle. The absence of standardized provenance tracking + mechanisms creates significant risks including unauthorized + capability escalation, untraceable delegation chains, and + inability to audit agent decision-making processes in regulated + environments. + + Agent delegation presents particular challenges as agents + frequently spawn sub-agents, delegate tasks to peer agents, or + operate on behalf of other entities through complex authorization + chains. Traditional OAuth 2.0 [RFC6749] delegation models assume + relatively simple delegation relationships and static capability + sets, whereas agent-to-agent delegation involves dynamic + capability inheritance, constraint propagation, and context- + dependent authorization decisions. The Agent Authorization Profile + [draft-aap-oauth-profile] addresses some of these challenges + through structured claims, but requires a comprehensive provenance + framework to establish the trustworthiness of those claims across + domain boundaries. Furthermore, agents may acquire new + capabilities through model updates, tool integrations, or policy + modifications during their operational lifetime, necessitating + continuous provenance tracking rather than static identity + attestation. + + Cross-ecosystem interoperability compounds these challenges as + agents must operate across heterogeneous systems with varying + trust models, identity providers, and security requirements. An + agent created in one organization's development environment may + later operate in a partner's production system or a regulated + cloud service, each requiring different levels of provenance + assurance and audit granularity. Existing identity management + protocols like SCIM [draft-abbey-scim-agent-extension] provide + mechanisms for agent identity synchronization, but lack the + semantic frameworks necessary to verify capability claims and + operational constraints across trust boundaries. The absence of + standardized provenance interchange formats prevents comprehensive + audit trails and limits the ability to establish end-to-end + accountability for agent actions. + + The APAE framework MUST provide verifiable agent identity + establishment and preservation mechanisms that support + cryptographic attestation of agent creation, modification, and + delegation events. The framework MUST enable tracking of + capability evolution including model updates, tool acquisitions, + and policy changes with tamper-evident audit trails. Agent + delegation chains MUST be cryptographically verifiable with + support for constraint inheritance and capability subset + enforcement as specified in the authentication requirements for AI + agents [draft-chen-ai-agent-auth-new-requirements]. The framework + MUST support cross-domain provenance tracking that preserves + verifiability while respecting privacy and security boundaries + between administrative domains. + + The framework MUST integrate with existing OAuth 2.0 [RFC6749] and + JWT [RFC7519] infrastructure without requiring protocol + modifications to deployed systems. Human oversight requirements + MUST be traceable through provenance chains with verifiable + enforcement of human-in-the-loop constraints for sensitive + operations. The framework MUST support multiple assurance levels + ranging from lightweight development environments to high- + assurance regulated deployments with appropriate cryptographic + strength and audit granularity. Operational audit trails MUST + provide sufficient detail for regulatory compliance while + supporting privacy-preserving federation across organizational + boundaries. + + Security requirements include protection against provenance + tampering, replay attacks, and unauthorized capability escalation + through cryptographic integrity mechanisms. The framework MUST + provide defense against agent impersonation, delegation chain + forgery, and capability manifest manipulation while maintaining + acceptable performance characteristics for high-volume agent + interactions. Privacy preservation MUST be supported through + selective disclosure mechanisms and zero-knowledge proofs where + full provenance transparency conflicts with confidentiality + requirements. The framework MUST support revocation and recovery + mechanisms for compromised agent identities while preserving + historical audit trail integrity. + +4. APAE Architecture Overview + + The Agent Provenance Assurance Ecosystem (APAE) Framework employs + a multi-layered architecture designed to provide comprehensive + provenance tracking while maintaining compatibility with existing + agent infrastructures. The architecture consists of four primary + layers: the Identity Attestation Layer, the Capability and + Manifest Verification Layer, the Provenance Audit and Logging + Layer, and the Registry and Discovery Layer. Each layer operates + independently while providing well-defined interfaces for inter- + layer communication and data exchange. This modular design enables + selective deployment of framework components based on specific + operational requirements and trust models, allowing organizations + to implement provenance assurance incrementally without disrupting + existing agent ecosystems. + + The Identity Attestation Layer serves as the foundational trust + anchor for the APAE framework, establishing and maintaining + verifiable agent identities throughout their operational + lifecycle. This layer implements cryptographic attestation + mechanisms compatible with existing identity management systems as + specified in [RFC6749] and emerging agent authentication + requirements outlined in [draft-chen-ai-agent-auth-new- + requirements]. Agent identities are established through Provenance + Anchors that create immutable cryptographic bindings between agent + instances and their initial capability sets. The layer maintains + delegation chains that preserve identity continuity across agent + spawning, capability updates, and cross-domain transfers, ensuring + that each agent's lineage remains verifiable regardless of + operational complexity or administrative boundaries. + + The Capability and Manifest Verification Layer implements the AI + Agent Manifest Attestation mechanism to provide continuous + assurance of agent capabilities and operational constraints. This + layer generates and validates Capability Manifests that + cryptographically bind agent identities to their current models, + tools, policies, and Working Memory configurations as described in + [draft-jiang-seat-dynamic-attestation]. Manifest verification + occurs through a combination of static analysis and runtime + attestation, ensuring that declared capabilities match actual + agent implementations. The layer integrates with authorization + frameworks defined in [draft-liu-oauth-a2a-profile] to enforce + capability-based access controls and prevent agents from exceeding + their declared operational boundaries. + + The Provenance Audit and Logging Layer captures comprehensive + operational histories through tamper-evident audit trails that + document agent actions, decisions, and state transitions. This + layer implements Audit Trail Federation mechanisms that enable + secure sharing of provenance information across administrative + domains while preserving privacy and confidentiality requirements. + The logging framework supports both real-time audit streaming for + high-assurance environments and batch processing for performance- + sensitive deployments. Audit records are cryptographically linked + to agent identities and capability manifests, creating verifiable + chains of operational evidence that support compliance, debugging, + and security analysis requirements. + + The Registry and Discovery Layer provides the infrastructure + services necessary for cross-ecosystem provenance verification and + agent lifecycle management. This layer implements Ecosystem + Registries that resolve agent identifiers to concrete endpoints + while maintaining provenance metadata for discovery and + verification operations. The registry services support + hierarchical trust models that enable both centralized and + federated deployment patterns, allowing organizations to maintain + local control over agent registration while participating in + broader provenance ecosystems. Integration with existing DNS and + PKI infrastructure ensures compatibility with current internet + protocols while providing the specialized services required for + agent provenance assurance. + + Component integration occurs through standardized APIs that + abstract the complexity of provenance operations from agent + implementations and management systems. The framework defines + integration points with existing OAuth 2.0 authorization servers + [RFC6749], JWT token validation systems [RFC7519], and X.509 + certificate authorities [RFC5280] to leverage established trust + infrastructure. Cross-layer communication employs CBOR Web Token + (CWT) formats [RFC9052] for efficient provenance data exchange, + while maintaining compatibility with JSON-based systems through + bidirectional transformation protocols. This integration approach + enables the APAE framework to operate as both a standalone + provenance system and as an enhancement layer for existing agent + infrastructures, supporting gradual adoption paths that minimize + deployment risk and operational disruption. + +5. Agent Identity and Attestation Layer + + The Agent Identity and Attestation Layer forms the foundational + trust anchor for the APAE framework by establishing + cryptographically verifiable agent identities and maintaining + their integrity throughout distributed operations. This layer + defines mechanisms for creating immutable Provenance Anchors at + agent instantiation, enabling subsequent verification of agent + authenticity and delegation chains across administrative + boundaries. The attestation mechanisms MUST support multiple trust + models ranging from self-signed certificates for development + environments to hardware-backed attestation for high-assurance + deployments, ensuring consistent identity semantics while + accommodating diverse operational requirements. + + Agent identity establishment begins with the creation of a + cryptographic identity pair and corresponding Provenance Anchor + that binds the agent's initial state, capabilities, and authorized + delegation scope. The Provenance Anchor MUST include the agent's + public key, creation timestamp, initial Capability Manifest hash, + and attestation metadata as defined in [RFC5280] certificate + extensions. For agents created through delegation, the Provenance + Anchor MUST reference the parent agent's identity and include a + delegation certificate chain as specified in Section 4.3 of + [draft-aap-oauth-profile]. The attestation layer SHOULD integrate + with existing Public Key Infrastructure (PKI) systems and identity + providers to leverage established trust relationships while + maintaining agent-specific provenance requirements. + + Identity preservation across transactions requires embedding agent + identity information within protocol tokens to maintain provenance + visibility throughout distributed agent interactions. Following + the patterns established in [draft-liu-oauth-a2a-profile], the + attestation layer MUST encode agent identity claims within JWT + tokens [RFC7519] using structured claims that capture agent + context, delegation chains, and operational constraints. The "sub" + claim MUST identify the agent using a stable identifier, while + custom claims including "agentid", "delegationchain", and + "capability_hash" provide machine-readable context for + authorization decisions. Token validation procedures MUST verify + both the cryptographic integrity of the token and the validity of + embedded delegation chains against current agent registry state. + + Delegation chain validation ensures that agents acting on behalf + of humans or other agents maintain verifiable authorization + inheritance throughout multi-hop delegation scenarios. The + attestation layer MUST implement validation rules that verify each + delegation link's cryptographic signature, temporal validity, and + scope constraints as defined in Section 5.2 of [draft-aap-oauth- + profile]. Validation procedures MUST check that each delegation in + the chain is properly authorized by its parent and that the + cumulative delegation scope does not exceed the original + authorization grant. For cross-domain delegations, the layer MUST + support federation mechanisms that enable delegation chain + verification across different administrative domains while + preserving local policy enforcement. + + Integration with existing identity management systems requires + protocol adapters that bridge APAE agent identity concepts with + established authentication and authorization frameworks including + OAuth 2.0 [RFC6749], SAML, and enterprise identity providers. The + attestation layer MUST provide standardized interfaces for + identity provider integration that preserve agent provenance + information while leveraging existing user directories and policy + engines. For environments requiring hardware-backed attestation, + the layer SHOULD integrate with Trusted Platform Module (TPM) + attestation mechanisms and secure enclave technologies to provide + cryptographic proof of agent execution environment integrity as + specified in [draft-jiang-seat-dynamic-attestation]. + + The attestation layer maintains agent identity lifecycle + management including identity renewal, revocation, and migration + scenarios that preserve provenance chain integrity across + operational changes. Identity renewal procedures MUST generate new + cryptographic material while maintaining linkage to previous + identity states through signed transition records. Revocation + mechanisms MUST support both immediate revocation for security + incidents and scheduled revocation for planned agent retirement, + with appropriate notification to dependent systems. For agent + migration scenarios, the layer MUST provide protocols for securely + transferring agent identity and associated provenance data between + execution environments while maintaining cryptographic integrity + and audit trail continuity. + +6. Capability and Manifest Verification + + The APAE framework establishes comprehensive mechanisms for + verifying agent capabilities, loaded models, active policies, and + operational constraints through structured capability manifests + and cryptographic validation procedures. Agents MUST maintain up- + to-date capability manifests that accurately reflect their current + operational state, including all loaded models, available tools, + active security policies, and operational constraints. These + manifests serve as authoritative declarations of agent + capabilities that can be independently verified by other agents, + infrastructure components, and human operators. The framework + supports both static capability declarations established at agent + creation time and dynamic capability updates that reflect runtime + changes to agent configuration. + + Capability manifests MUST be structured as JSON documents + conforming to a standardized schema that includes sections for + model identification, tool descriptions, policy specifications, + and operational metadata. Each manifest MUST include cryptographic + signatures from the agent's identity key as defined in Section 5, + enabling verification of manifest authenticity and integrity. The + manifest format incorporates semantic capability descriptions that + support capability-based discovery mechanisms, allowing agents to + locate and interact with other agents based on functional + requirements rather than network topology. Manifests MAY include + capability hierarchies and dependency relationships that describe + how complex capabilities are composed from simpler primitives, + enabling fine-grained capability matching and verification. + + The framework defines validation procedures that enable both local + and remote verification of agent capabilities through multiple + assurance mechanisms. Agents MUST implement self-attestation + procedures that generate cryptographic proofs of their current + capability state, including verification that loaded models match + declared specifications and that active policies are properly + enforced. The framework supports oracle-free evaluation mechanisms + that allow agents to demonstrate their capabilities through + standardized test interactions without requiring external ground + truth verification systems. For higher assurance levels, the + framework MAY utilize remote attestation procedures where trusted + third parties verify agent capabilities through controlled testing + environments or hardware-based attestation mechanisms. + + Capability verification integrates with the APAE audit framework + to maintain comprehensive records of capability changes and + verification events throughout an agent's operational lifecycle. + All capability updates MUST be logged to the provenance audit + trail with cryptographic timestamps and verification evidence. The + framework supports incremental capability verification where only + modified capabilities require re-validation, reducing + computational overhead while maintaining security properties. + Verification procedures MUST account for capability delegation + scenarios where agents operate with restricted or derived + capabilities from their base configuration, ensuring that + delegation constraints are properly enforced and documented. + + The framework establishes integration patterns with existing + authorization and policy systems through standardized capability + assertion formats compatible with OAuth 2.0 scopes [RFC6749] and + JWT claims [RFC7519]. Capability manifests MAY be embedded in + access tokens or presented as separate attestation documents + depending on the integration requirements of the target system. + The framework supports prioritization mechanisms that ensure + critical capability verification traffic receives appropriate + network and processing priority, particularly in high-throughput + agent communication scenarios. Capability verification procedures + MUST preserve privacy by supporting selective disclosure of + capability information while maintaining the ability to verify + relevant capabilities for specific interactions. + +7. Provenance Audit and Logging Framework + + The provenance audit and logging framework establishes + comprehensive mechanisms for recording, storing, and verifying the + operational history of AI agents throughout their lifecycle. This + framework builds upon the identity attestation and capability + verification layers to create tamper-evident audit trails that + preserve agent provenance across administrative domains and + protocol boundaries. The audit framework integrates with existing + logging infrastructure while providing specialized capabilities + for agent-specific events including delegation chains, capability + modifications, and cross-domain interactions. + + Agent operations MUST generate structured audit records using a + standardized format that includes cryptographic integrity + protection and temporal ordering guarantees. Each audit record + contains the agent identity from the attestation layer, operation + type, relevant capability manifest references, timestamp with + cryptographic time-binding, and operation-specific metadata. The + audit record format builds upon JSON Web Signature [RFC7515] + structures to ensure cryptographic integrity while maintaining + human readability for operational troubleshooting. Records MUST + include sufficient context to reconstruct the agent's state and + decision-making process at the time of the logged operation, + enabling comprehensive provenance verification. + + The framework defines multiple audit trail storage models to + accommodate different deployment profiles and trust requirements. + Local audit storage provides high-performance logging for single- + domain deployments, while distributed audit architectures enable + cross-domain provenance tracking through secure federation + protocols. Audit trails MAY be stored in blockchain-based systems + for maximum tamper resistance, traditional database systems with + cryptographic integrity checking, or hybrid approaches that + balance performance and assurance requirements. The storage layer + MUST implement retention policies that comply with regulatory + requirements while supporting efficient querying and verification + operations across potentially large audit datasets. + + Cross-domain audit trail federation enables provenance tracking as + agents operate across multiple systems and administrative + boundaries. The federation protocol builds upon the Agent + Communication Gateway architecture [draft-agent-gw] to establish + secure channels for audit trail sharing while preserving privacy + and confidentiality constraints. Federation participants MUST + implement access control policies that govern which audit + information can be shared across domain boundaries, ensuring that + sensitive operational details remain protected while enabling + necessary provenance verification. The federation protocol + supports both real-time audit streaming for active monitoring and + batch synchronization for historical audit trail reconstruction. + + Audit trail verification mechanisms provide cryptographic + assurance of audit record integrity and completeness across + distributed storage systems. Verification protocols MUST detect + tampering, insertion attacks, and selective deletion of audit + records while providing efficient proof generation for compliance + reporting. The framework integrates with QUIC-based + publish/subscribe systems [draft-a2a-moqt-transport] to enable + real-time audit verification and alerting when provenance + violations are detected. Verification results are themselves + logged to create a complete audit chain that can demonstrate the + integrity of the provenance tracking system to external auditors + and regulatory authorities. + + The audit framework defines standard retention policies and + archival procedures that balance operational requirements with + storage efficiency and regulatory compliance. Short-term audit + data SHOULD be stored with high availability and low latency + access to support real-time monitoring and incident response, + while long-term archival systems focus on integrity preservation + and cost-effective storage. Automated policy enforcement ensures + that audit data transitions through appropriate lifecycle stages + while maintaining cryptographic integrity and chain-of-custody + documentation required for legal and regulatory purposes. + +8. Cross-Ecosystem Integration Patterns + + The APAE framework is designed to integrate seamlessly with + existing identity, authorization, and communication ecosystems + through well-defined integration patterns. These patterns enable + organizations to retrofit provenance assurance capabilities into + deployed agent systems without requiring wholesale replacement of + existing infrastructure. The integration approach leverages + established protocols and standards while extending them with + agent-specific provenance metadata and verification mechanisms. + + Integration with OAuth 2.0 and OpenID Connect ecosystems follows + the Agent Authorization Profile (AAP) [draft-aap-oauth-profile] + extension pattern. Existing OAuth 2.0 authorization servers can be + extended to issue agent-specific access tokens that include + provenance claims alongside traditional authorization claims. The + APAE framework defines standardized JWT [RFC7519] claim extensions + that carry provenance chain identifiers, attestation levels, and + capability manifest references within OAuth access tokens. + Authorization servers MUST validate provenance claims during token + issuance and MAY enforce provenance-based authorization policies. + Resource servers can extract provenance information from access + tokens to make fine-grained authorization decisions based on agent + identity, delegation chains, and operational constraints without + requiring separate provenance lookups. + + Identity management systems integration leverages the SCIM Agent + Extension [draft-abbey-scim-agent-extension] to represent agents + as first-class identity resources. Existing SCIM [RFC7644] + deployments can be extended with agent resource types and user + schema extensions for agent relationships, enabling centralized + management of agent identities alongside human users. The APAE + framework specifies how provenance anchors and capability + manifests are stored as extended attributes within SCIM agent + resources. Identity providers MUST maintain provenance metadata + consistency when provisioning or updating agent identities across + connected systems. User schema extensions enable tracking of + delegation relationships between human users and their associated + agents, supporting organizational governance requirements for + agent oversight. + + Communication protocol integration patterns address both + synchronous and asynchronous agent interactions across different + transport mechanisms. For HTTP-based communications, the framework + defines standardized headers that carry provenance attestations + and audit trail references alongside existing authentication + headers. Message-based systems can embed provenance metadata + within message headers or signed payloads using COSE [RFC9052] + structures for cryptographic integrity. The framework specifies + how existing API gateways and service meshes can be configured to + extract, validate, and propagate provenance information across + service boundaries. Protocol adapters SHOULD preserve provenance + chains when translating between different communication protocols + or message formats. + + Retrofitting guidance for deployed systems emphasizes incremental + adoption patterns that minimize operational disruption. + Organizations can begin by deploying APAE registry services + alongside existing infrastructure to collect provenance data + without enforcing verification policies. Existing agents can be + gradually onboarded by adding provenance metadata to their + identity records and configuring audit logging to feed into APAE + audit trail storage. The framework supports hybrid deployments + where some agents participate in full provenance tracking while + others operate with reduced assurance levels during transition + periods. Migration tooling can extract existing audit logs and + identity information to bootstrap provenance chains for previously + deployed agents. + + Legacy system integration addresses scenarios where existing agent + systems cannot be directly modified to support APAE protocols. + Proxy components can be deployed to intercept agent communications + and inject provenance metadata based on static configuration or + external attestation sources. Gateway services can perform + provenance validation on behalf of legacy systems while presenting + traditional authentication and authorization interfaces to + unchanged applications. The framework defines compatibility modes + that allow APAE-enabled systems to interact safely with non-APAE + systems while maintaining provenance tracking for supported + interactions. Organizations SHOULD document provenance gaps when + integrating with legacy systems and implement compensating + controls where full provenance assurance cannot be achieved. + +9. Deployment Profiles and Trust Models + + The APAE framework defines three primary deployment profiles to + accommodate varying operational requirements, risk tolerances, and + regulatory constraints across different environments. Each profile + represents a distinct configuration of trust anchors, verification + requirements, and assurance mechanisms while maintaining + architectural compatibility to enable agent mobility between + environments. + + The Development Profile provides minimal provenance overhead + suitable for development, testing, and low-risk operational + environments. In this configuration, agent identity MAY be + established through self-signed certificates or local trust + anchors, capability manifests SHOULD be cryptographically signed + but MAY use development keys, and audit trails MAY be stored + locally with basic integrity protection. The Development Profile + enables rapid iteration and testing while introducing core + provenance concepts without the infrastructure overhead of higher + assurance levels. Cross-domain provenance tracking in Development + Profile deployments SHOULD preserve chain integrity but MAY accept + lower verification standards for external attestation anchors. + + The Enterprise Profile establishes intermediate assurance levels + appropriate for business-critical applications, regulated + industries with moderate risk profiles, and multi-organizational + collaborations. This profile MUST implement cryptographically + verifiable provenance anchors rooted in organizational PKI or + approved certificate authorities, capability manifests MUST be + signed by authorized capability authorities, and audit trails MUST + be protected against tampering through cryptographic mechanisms + such as hash chains or digital signatures per [RFC5280]. The + Enterprise Profile MUST support human oversight requirements as + defined in [draft-aap-oauth-profile], enabling enforcement of + human-in-the-loop controls based on agent capabilities, + operational context, or regulatory requirements. Cross-domain + provenance federation in Enterprise deployments MUST implement + bilateral or multilateral trust agreements with explicit policy + mappings for attestation level recognition. + + The High-Assurance Profile provides maximum security and + verification suitable for national security applications, critical + infrastructure, and highly regulated environments with stringent + compliance requirements. This profile MUST implement hardware- + backed provenance anchors using mechanisms consistent with [draft- + jiang-seat-dynamic-attestation], all capability manifests MUST + undergo formal verification processes before deployment, and audit + trails MUST be stored in tamper-evident systems with distributed + verification. High-Assurance deployments MUST implement real-time + capability verification, continuous operational monitoring, and + mandatory human oversight for all agent actions exceeding + predefined risk thresholds. The High-Assurance Profile MUST + support air-gapped operation modes where cross-domain provenance + verification occurs through offline cryptographic proof exchange + rather than real-time federation protocols. + + Trust models within APAE deployments establish the foundation for + provenance verification and cross-domain interoperability while + accommodating different organizational risk appetites and + regulatory frameworks. The framework defines three trust model + categories: Direct Trust, where all agents operate within a single + administrative domain with unified trust anchors; Federated Trust, + where multiple domains establish bilateral or multilateral + agreements for provenance recognition with explicit policy + mappings; and Zero Trust, where each provenance claim undergoes + independent verification regardless of source domain. Zero Trust + configurations MUST implement continuous verification of agent + identity, capabilities, and operational constraints, treating all + provenance claims as potentially compromised until + cryptographically verified against current trust anchors. + Federated Trust models SHOULD implement policy translation + mechanisms to map attestation levels and capability + classifications between domains with different trust frameworks. + + Configuration guidelines for each deployment profile specify + minimum cryptographic requirements, key management practices, and + operational procedures necessary to achieve the target assurance + level. Development Profile deployments MAY use simplified key + management with local certificate authorities and reduced audit + granularity, while Enterprise Profile deployments MUST implement + organizational key management policies consistent with business + risk assessments and applicable regulatory requirements. High- + Assurance Profile configurations MUST implement defense-in-depth + approaches including hardware security modules for key protection, + formal verification of configuration integrity, and continuous + monitoring for provenance chain anomalies or attacks. All + deployment profiles MUST support migration paths to higher + assurance levels, enabling the same agent infrastructure to + operate across varying trust requirements while maintaining + verifiable provenance chains through configuration upgrades rather + than architectural changes. + +10. Security Considerations + + The APAE framework introduces novel security challenges beyond + traditional identity and authentication systems due to the + dynamic, autonomous nature of AI agents and the distributed + character of their operational environments. The framework MUST + address threats across multiple attack vectors including identity + spoofing, provenance chain manipulation, capability + misrepresentation, and audit trail tampering. Unlike static + systems, AI agents can modify their behavior, delegate authority, + and evolve capabilities during runtime, creating attack surfaces + that extend beyond initial deployment security assumptions. The + security model MUST account for the fact that agents operate + across trust boundaries, potentially in adversarial environments, + while maintaining verifiable provenance chains that can be + validated by third parties without exposing sensitive operational + details. + + Privacy preservation represents a critical security requirement as + provenance chains inherently contain sensitive information about + agent capabilities, operational patterns, and delegation + relationships. The framework MUST implement selective disclosure + mechanisms that allow verification of specific provenance claims + without revealing the complete operational history, as specified + in the Capability Manifest attestation procedures [draft-jiang- + seat-dynamic-attestation]. Privacy-preserving techniques such as + zero-knowledge proofs, selective redaction, and differential + privacy SHOULD be employed to protect sensitive provenance data + while maintaining verification capabilities. Cross-domain + provenance sharing MUST implement privacy controls that respect + jurisdictional boundaries and organizational policies, ensuring + that provenance verification can occur without inappropriate + information disclosure between administrative domains. + + Tamper resistance mechanisms are essential for maintaining the + integrity of provenance chains throughout the agent lifecycle. The + framework MUST employ cryptographic techniques including digital + signatures, hash chains, and merkle trees to ensure that + provenance records cannot be modified or deleted without + detection. Agent Identity Preservation patterns MUST be + implemented to maintain cryptographic binding between agent + identity and provenance records across delegation chains and + cross-domain operations [draft-liu-oauth-a2a-profile]. The + framework SHOULD implement distributed ledger or consensus + mechanisms for high-assurance deployments where centralized tamper + resistance is insufficient. All provenance anchors MUST be + cryptographically bound to hardware security modules or trusted + execution environments in high-assurance configurations to prevent + root-level compromise of the provenance chain. + + The threat model encompasses both external adversaries attempting + to compromise agent provenance and insider threats from + compromised agents or malicious operators within trusted domains. + External threats include provenance spoofing attacks where + adversaries attempt to forge agent identities or capability + claims, replay attacks using captured provenance tokens, and man- + in-the-middle attacks during cross-domain provenance verification. + The framework MUST implement robust authentication and + authorization controls as defined in the Traceable Identity and + Provenance requirements [draft-chen-ai-agent-auth-new- + requirements], including time-bound attestations, nonce-based + replay protection, and mutual authentication during provenance + exchanges. Insider threat mitigation MUST include separation of + duties for provenance administration, cryptographic audit logs + that cannot be modified by system administrators, and anomaly + detection for unusual provenance patterns that may indicate + compromise. + + Attack mitigation strategies MUST address the unique + characteristics of AI agent systems including their ability to + rapidly scale, adapt, and potentially collaborate in unexpected + ways. The framework SHOULD implement rate limiting and reputation + mechanisms to prevent provenance flooding attacks where + adversaries attempt to overwhelm verification systems with invalid + provenance claims. Behavioral analysis MUST be employed to detect + agents operating outside their declared capabilities or exhibiting + patterns inconsistent with their provenance claims. The audit + trail federation mechanisms MUST include Byzantine fault tolerance + to ensure that provenance verification remains reliable even when + some participating systems are compromised or behaving + maliciously. + + Security controls for provenance data MUST include encryption at + rest and in transit, access controls based on least privilege + principles, and secure key management for all cryptographic + operations. The framework MUST integrate with existing PKI + infrastructure [RFC5280] and modern cryptographic standards + [RFC9052] while supporting post-quantum cryptographic algorithms + for long-term provenance chain protection. High-assurance + deployments MUST implement hardware security modules for key + storage and cryptographic operations, while lightweight + deployments MAY use software-based cryptographic implementations + with appropriate security controls. All security controls MUST be + configurable based on deployment profiles to ensure that the same + framework can support varying security requirements from + development environments to regulated production systems. + +11. IANA Considerations + + This document requires several IANA registrations to establish the + necessary protocol elements for the Agent Provenance Assurance + Ecosystem (APAE) Framework. The registrations encompass URI + schemes for agent identification and provenance tracking, MIME + types for provenance data formats, and registry namespaces for + standardized provenance attributes and attestation levels. + + The framework introduces new URI schemes that MUST be registered + with IANA to enable consistent agent identification and provenance + chain references across implementations. The "agent-id" URI scheme + provides a standardized format for globally unique agent + identifiers that preserve identity across delegation chains and + administrative domains. The "provenance-chain" URI scheme enables + direct references to specific provenance records and audit trail + segments, supporting cross-domain provenance verification as + specified in Section 8. These URI schemes follow the registration + procedures defined in [RFC7595] and include comprehensive security + considerations for preventing identifier collision and spoofing + attacks. + + New MIME types are required for the structured data formats + defined by the APAE framework, particularly for capability + manifests and provenance audit records. The "application/agent- + manifest+json" MIME type identifies capability manifest documents + as specified in Section 6, enabling proper content negotiation and + validation of agent capability attestations. The + "application/provenance-audit+cbor" MIME type identifies binary- + encoded audit trail records that provide tamper-evident + operational history logging. These MIME types support both human- + readable JSON formats for development environments and compact + CBOR encodings for high-throughput production deployments, + aligning with the deployment profiles described in Section 9. + + The framework establishes a new IANA registry for standardized + provenance attributes and attestation levels to ensure + interoperability across different APAE implementations. The "Agent + Provenance Attributes" registry defines canonical attribute names + for agent identity properties, capability descriptors, and + operational metadata that appear in provenance chains and audit + records. The "Agent Attestation Levels" registry provides + standardized identifiers for different levels of cryptographic and + procedural assurance, ranging from self-signed development + attestations to hardware-backed high-assurance certifications + required in regulated environments. + + Registration of the "apae" namespace is requested for use in JSON + Web Token (JWT) claims [RFC7519] and CBOR Web Token (CWT) claims + [RFC9052] that carry agent provenance information within existing + token-based authentication and authorization flows. This namespace + ensures that APAE-specific claims do not conflict with existing + JWT/CWT claim names while enabling seamless integration with OAuth + 2.0 [RFC6749] and related authorization frameworks. The namespace + registration includes provisions for hierarchical claim + organization to support future extensions of the framework without + requiring additional IANA actions. + +12. References + +12.1. Normative References + + [RFC 2119] + RFC 2119 + + [RFC 8174] + RFC 8174 + + [RFC 6749] + RFC 6749 + + [RFC 7519] + RFC 7519 + + [RFC 5280] + RFC 5280 + + [RFC 9052] + RFC 9052 + + [draft-chen-ai-agent-auth-new-requirements] + draft-chen-ai-agent-auth-new-requirements + + [draft-jiang-seat-dynamic-attestation] + draft-jiang-seat-dynamic-attestation + + [draft-liu-oauth-a2a-profile] + draft-liu-oauth-a2a-profile + + [draft-aap-oauth-profile] + draft-aap-oauth-profile + +12.2. Informative References + + [RFC 8446] + RFC 8446 + + [RFC 9110] + RFC 9110 + + [RFC 8126] + RFC 8126 + + [RFC 8259] + RFC 8259 + + [draft-narvaneni-agent-uri] + draft-narvaneni-agent-uri + + [draft-wendt-stir-vesper] + draft-wendt-stir-vesper + + [draft-a2a-moqt-transport] + draft-a2a-moqt-transport + + [draft-abbey-scim-agent-extension] + draft-abbey-scim-agent-extension + + [draft-agent-gw] + draft-agent-gw + + [draft-ainp-protocol] + draft-ainp-protocol + + [draft-cowles-volt] + draft-cowles-volt + + [draft-aylward-daap-v2] + draft-aylward-daap-v2 + + [draft-guy-bary-stamp-protocol] + draft-guy-bary-stamp-protocol + + +Author's Address + + Generated by IETF Draft Analyzer + Family: agent-ecosystem + 2026-03-04 diff --git a/data/reports/generated-drafts/draft-ai-agent-rollback-protocol-00.txt b/data/reports/generated-drafts/draft-ai-agent-rollback-protocol-00.txt new file mode 100644 index 0000000..8bd9d4a --- /dev/null +++ b/data/reports/generated-drafts/draft-ai-agent-rollback-protocol-00.txt @@ -0,0 +1,804 @@ +Internet-Draft nmrg +Intended status: standards-track March 2026 +Expires: September 05, 2026 + + + Real-Time Agent Rollback Protocol (RARP) for Autonomous Network Operations + draft-agent-ecosystem-agent-rollback-protocol-00 + +Abstract + + Autonomous agents in network operations environments require the + ability to quickly and safely rollback actions when incorrect + decisions are made. While existing protocols enable agent + communication and coordination, no standardized mechanism exists + for distributed rollback operations across heterogeneous agent + systems. This document specifies the Real-Time Agent Rollback + Protocol (RARP), which provides coordinated rollback mechanisms + for autonomous network agents. RARP defines checkpoint creation, + rollback initiation procedures, state consistency verification, + and cross-domain rollback coordination through agent gateways. The + protocol integrates with existing agent communication frameworks + and supports both immediate rollback for safety-critical scenarios + and delayed rollback for complex distributed operations. RARP + enables production deployment of autonomous network operations by + providing the safety mechanisms necessary for agent decision + reversal across distributed systems. + +Status of This Memo + + This Internet-Draft is submitted in full conformance with the + provisions of BCP 78 and BCP 79. + + This document is intended to have standards-track status. + Distribution of this memo is unlimited. + +Terminology + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL + NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", + "MAY", and "OPTIONAL" in this document are to be interpreted as + described in BCP 14 [RFC2119] [RFC8174] when, and only when, they + appear in all capitals, as shown here. + + Rollback Point + A consistent state snapshot across distributed agents from + which rollback operations can be initiated + + Agent Transaction + A coordinated set of actions performed by one or more agents + that can be treated as an atomic unit for rollback purposes + + Rollback Coordinator + An entity responsible for orchestrating rollback operations + across multiple agents and domains + + Checkpoint Consistency + The property that all agents participating in a rollback point + have synchronized their state at the same logical time + + Cross-Domain Rollback + A rollback operation that spans multiple administrative or + protocol domains requiring gateway-mediated coordination + + Immediate Rollback + A rollback operation initiated without coordination delays for + safety-critical scenarios + + Coordinated Rollback + A rollback operation that requires multi-agent coordination and + consensus before execution + + +Table of Contents + + 1. Introduction ................................................ 3 + 2. Terminology ................................................. 4 + 3. Problem Statement ........................................... 5 + 4. RARP Architecture and Components ............................ 6 + 5. Checkpoint Creation and Management .......................... 7 + 6. Rollback Initiation and Coordination ........................ 8 + 7. Integration with Existing Agent Protocols ................... 9 + 8. Security Considerations ..................................... 10 + 9. IANA Considerations ......................................... 11 + 10. References .................................................. 12 + +1. Introduction + + The proliferation of autonomous agents in network operations has + introduced unprecedented capabilities for self-healing, + optimization, and adaptive management across complex distributed + systems. As described in [draft-chuyi-nmrg-ai-agent-network], AI- + powered agents can now perform sophisticated reasoning and + decision-making across previously isolated network management + domains. However, the autonomous nature of these systems + introduces a critical challenge: when agents make incorrect + decisions or encounter unexpected conditions, there exists no + standardized mechanism to safely and efficiently reverse their + actions across distributed environments. + + Current agent communication frameworks, including those specified + in [draft-fu-nmop-agent-communication-framework] and [draft-li- + dmsc-macp], provide robust mechanisms for agent coordination and + message exchange but do not address the fundamental requirement + for transaction-like rollback capabilities. While traditional + network management protocols such as NETCONF [RFC6241] include + rollback mechanisms for configuration changes, these operate + within single administrative domains and cannot coordinate complex + rollback operations across heterogeneous agent systems spanning + multiple domains and protocol layers. + + The Real-Time Agent Rollback Protocol (RARP) addresses this gap by + providing a standardized framework for coordinated rollback + operations in autonomous network environments. RARP builds upon + existing agent communication protocols and extends the cross- + domain collaboration mechanisms outlined in [draft-han-rtgwg- + agent-gateway-intercomm-framework] to enable rollback coordination + through gateway intermediaries. The protocol supports both + immediate rollback for safety-critical scenarios where agent + actions must be reversed without delay, and coordinated rollback + for complex distributed operations requiring multi-agent consensus + and state synchronization. + + The architecture defined in this document integrates with existing + agent controller coordination mechanisms [draft-jadoon-nmrg- + agentic-ai-autonomous-networks] while introducing specialized + rollback coordinators and checkpoint managers that operate + alongside current agent communication infrastructure. RARP + leverages established security frameworks including TLS 1.3 + [RFC8446] and OAuth 2.0 [RFC6749] to ensure authenticated and + authorized rollback operations across administrative boundaries. + By providing these safety mechanisms, RARP enables the production + deployment of autonomous network operations with the confidence + that agent decisions can be safely reversed when necessary. + + This specification defines the protocol semantics, message formats + using JSON [RFC8259] encoding, and integration patterns necessary + for implementing RARP across diverse agent ecosystems. The key + words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", + and "OPTIONAL" in this document are to be interpreted as described + in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in + all capitals, as shown here. + +2. Terminology + + This document uses terminology consistent with existing agent + communication and network management protocols. The key words + "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", + "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and + "OPTIONAL" in this document are to be interpreted as described in + BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all + capitals, as shown here. + + The following terms are defined for use throughout this + specification: + + Agent: An autonomous software entity capable of making decisions + and performing actions in network operations environments, as + defined in [draft-fu-nmop-agent-communication-framework]. Agents + operate with varying degrees of autonomy and may collaborate + through standardized communication protocols. + + Agent Gateway: A protocol intermediary that enables communication + and coordination between agents operating in different + administrative domains or using different communication protocols, + as specified in [draft-han-rtgwg-agent-gateway-intercomm- + framework]. Agent gateways provide protocol translation and policy + enforcement for cross-domain agent interactions. + + Agent Transaction: A coordinated set of actions performed by one + or more agents that can be treated as an atomic unit for rollback + purposes. Agent transactions may span multiple network devices, + protocol domains, or administrative boundaries and maintain + consistency properties across distributed operations. + + Checkpoint: A persistent snapshot of agent state and network + configuration that serves as a potential rollback target. + Checkpoints contain sufficient information to restore agents and + affected network elements to a previously known consistent state. + + Checkpoint Consistency: The property that all agents participating + in a rollback point have synchronized their state at the same + logical time. Consistency verification ensures that rollback + operations restore the system to a coherent state across all + participating entities. + + Checkpoint Manager: A system component responsible for creating, + storing, validating, and managing rollback checkpoints. Checkpoint + managers coordinate with agents to capture state snapshots and + maintain checkpoint metadata required for rollback operations. + + Coordination State: The current status of multi-agent + collaboration activities, including pending transactions, active + rollback operations, and inter-agent dependencies. Coordination + states are maintained by rollback coordinators to ensure proper + sequencing of rollback operations. + + Cross-Domain Rollback: A rollback operation that spans multiple + administrative or protocol domains requiring gateway-mediated + coordination. Cross-domain rollbacks involve additional complexity + for authentication, authorization, and state synchronization + across domain boundaries. + + Coordinated Rollback: A rollback operation that requires multi- + agent coordination and consensus before execution. Coordinated + rollbacks involve explicit agreement protocols to ensure all + affected agents participate in the rollback operation and reach + consistent post-rollback states. + + Immediate Rollback: A rollback operation initiated without + coordination delays for safety-critical scenarios. Immediate + rollbacks prioritize rapid response over coordination completeness + and are typically used when network safety or security is at + immediate risk. + + Rollback Coordinator: An entity responsible for orchestrating + rollback operations across multiple agents and domains. Rollback + coordinators implement the consensus and coordination protocols + required for distributed rollback operations and may operate in + hierarchical configurations for scalability. + + Rollback Point: A consistent state snapshot across distributed + agents from which rollback operations can be initiated. Rollback + points represent verified consistent states that can be safely + restored through coordinated agent actions. + +3. Problem Statement + + The deployment of autonomous agents in network operations + environments introduces fundamental challenges in ensuring + operational safety through reliable rollback mechanisms. Current + agent communication protocols, including those specified in + [draft-fu-nmop-agent-communication-framework] and [draft-han- + rtgwg-agent-gateway-intercomm-framework], provide sophisticated + mechanisms for agent coordination and cross-domain collaboration + but lack standardized approaches for distributed rollback + operations. When autonomous agents make incorrect decisions or + encounter unexpected failure conditions, the ability to quickly + and consistently revert to a known-good state becomes critical for + maintaining network stability and service availability. + + State consistency across distributed agent systems presents the + most significant challenge in implementing effective rollback + mechanisms. Unlike traditional centralized systems where rollback + operations can be performed atomically, autonomous network agents + operate across multiple administrative domains, protocol layers, + and time scales as described in [draft-jadoon-nmrg-agentic-ai- + autonomous-networks]. Each agent maintains its own local state and + interacts with network infrastructure through different + interfaces, including NETCONF [RFC6241], RESTful APIs, and + proprietary management protocols. Ensuring that all participating + agents can synchronously return to a consistent checkpoint state + requires sophisticated coordination mechanisms that current agent + communication frameworks do not provide. The distributed nature of + these systems means that network partitions, communication delays, + and partial failures can result in inconsistent rollback states + where some agents successfully revert while others remain in post- + action states. + + Cross-domain coordination introduces additional complexity as + agents operating in different administrative domains must + coordinate rollback operations through gateway intermediaries. The + agent gateway framework specified in [draft-han-rtgwg-agent- + gateway-intercomm-framework] enables cross-domain agent + collaboration but does not address the specific requirements for + propagating rollback requests, maintaining checkpoint consistency + across domain boundaries, or handling authorization and security + constraints in multi-domain rollback scenarios. Different domains + may have varying rollback policies, checkpoint retention + requirements, and security constraints that must be negotiated and + enforced during cross-domain rollback operations. Furthermore, the + hierarchical nature of network operations means that rollback + decisions made at higher levels may cascade to multiple lower- + level domains, requiring sophisticated dependency tracking and + coordination protocols. + + Timing constraints in network operations environments create + additional challenges for rollback protocol design. Safety- + critical scenarios, such as security incidents or cascading + failures, require immediate rollback capabilities that cannot wait + for full distributed coordination to complete. However, immediate + rollback operations risk creating inconsistent states if not all + participating agents can execute the rollback synchronously. + Conversely, complex distributed operations may require coordinated + rollback procedures that involve extensive negotiation and + validation phases, but network conditions may change during these + coordination periods, potentially invalidating the target rollback + state. Current agent communication protocols lack mechanisms for + expressing these timing constraints and do not provide + differentiated handling for immediate versus coordinated rollback + scenarios. + + Existing agent communication frameworks also lack adequate + mechanisms for rollback-specific concerns including checkpoint + metadata management, rollback authorization, and audit trail + generation. The multi-agent coordination protocols specified in + [draft-li-dmsc-macp] provide general coordination primitives but + do not address the specific state management requirements for + maintaining consistent checkpoint data across distributed systems. + Additionally, current protocols do not define standardized + approaches for validating checkpoint integrity, handling rollback + conflicts when multiple agents attempt simultaneous rollback + operations, or providing the detailed audit capabilities required + for post-rollback analysis and compliance reporting in production + network environments. + +4. RARP Architecture and Components + + The Real-Time Agent Rollback Protocol architecture is designed to + integrate seamlessly with existing autonomous agent + infrastructures while providing coordinated rollback capabilities + across distributed network operations environments. The + architecture follows a layered approach that separates rollback + coordination logic from agent-specific implementations, enabling + deployment across heterogeneous agent systems. RARP components + leverage existing agent communication frameworks defined in + [draft-fu-nmop-agent-communication-framework] and integrate with + agent gateway mechanisms specified in [draft-han-rtgwg-agent- + gateway-intercomm-framework] to provide cross-domain rollback + coordination capabilities. + + The core RARP architecture consists of three primary component + types: Rollback Coordinators, Checkpoint Managers, and Agent + Rollback Interfaces. Rollback Coordinators serve as the + orchestration layer for rollback operations and MUST implement + coordination protocols for both immediate and delayed rollback + scenarios. These coordinators maintain awareness of agent + relationships, transaction boundaries, and rollback dependencies + across the distributed system. Checkpoint Managers handle the + creation, storage, validation, and retrieval of rollback points, + implementing consistency verification procedures to ensure + distributed state coherence. Agent Rollback Interfaces provide the + integration layer between RARP components and existing agent + systems, translating rollback operations into agent-specific state + restoration procedures while maintaining compatibility with + established agent communication protocols. + + RARP supports both hierarchical and distributed deployment models + to accommodate varying network topologies and administrative + requirements. In hierarchical deployments, a primary Rollback + Coordinator oversees subordinate coordinators within each + administrative domain, providing centralized rollback decision- + making while delegating local coordination to domain-specific + components. This model aligns with the centralized agent + controller coordination patterns described in [draft-jadoon-nmrg- + agentic-ai-autonomous-networks] and enables efficient rollback + operations across large-scale autonomous network deployments. + Distributed deployments eliminate single points of failure by + implementing peer-to-peer coordination among Rollback + Coordinators, using consensus mechanisms to ensure consistent + rollback decisions across all participating domains. + + Integration with existing agent gateway infrastructure enables + RARP to operate across heterogeneous agent systems without + requiring modifications to established communication protocols. + Agent gateways specified in [draft-han-rtgwg-agent-gateway- + intercomm-framework] are extended with RARP capability negotiation + and rollback message translation functions, allowing rollback + coordination between agents using different communication + frameworks. The architecture maintains protocol compatibility by + implementing rollback operations as extensions to existing agent + collaboration protocols rather than replacing established + communication mechanisms. This approach ensures that RARP can be + incrementally deployed in production environments without + disrupting existing agent operations. + + The RARP architecture incorporates checkpoint consistency + verification mechanisms that operate independently of agent- + specific state representations. Checkpoint Managers implement + distributed timestamp synchronization and state validation + procedures to ensure that rollback points represent truly + consistent distributed states across all participating agents. The + architecture supports integration with AI Agent Network systems as + described in [draft-chuyi-nmrg-ai-agent-network] by providing + rollback interfaces that can reverse automated reasoning and + decision-making operations performed by large language model-based + agents. Component communication within the RARP architecture + utilizes secure transport mechanisms including TLS 1.3 [RFC8446] + and QUIC [RFC9000] to ensure rollback coordination messages are + protected against tampering and unauthorized access during + transmission between distributed components. + +5. Checkpoint Creation and Management + + Checkpoint creation in RARP enables autonomous agents to establish + consistent state snapshots that serve as restoration points for + rollback operations. Agents MUST implement checkpoint creation + capabilities that capture both local state information and + coordination metadata necessary for distributed rollback + operations. The checkpoint creation process involves state + serialization, metadata generation, and consistency coordination + with peer agents participating in the same logical transaction + scope. Agents SHOULD create checkpoints at natural transaction + boundaries and MAY create additional checkpoints based on risk + assessment algorithms or external triggers. + + The checkpoint data structure MUST include agent state + information, transaction identifiers, temporal consistency + markers, and dependency relationships with other agents as + specified in [draft-han-rtgwg-agent-gateway-intercomm-framework]. + Checkpoint metadata MUST conform to the JSON format specified in + [RFC8259] and include fields for checkpoint identifier, creation + timestamp, agent identifier, transaction scope, dependency list, + and integrity verification data. Cross-domain checkpoints MUST + additionally include gateway coordination information and domain- + specific authorization tokens as defined in [draft-fu-nmop-agent- + communication-framework]. The checkpoint identifier MUST be + globally unique and SHOULD incorporate both temporal and spatial + components to ensure uniqueness across distributed deployments. + + Checkpoint storage mechanisms MUST provide durability guarantees + appropriate for the operational context and SHOULD implement + redundancy strategies to prevent single points of failure. Agents + MAY utilize local storage, distributed storage systems, or + centralized checkpoint repositories depending on deployment + constraints and consistency requirements. Storage implementations + MUST support atomic write operations and SHOULD provide integrity + verification through cryptographic mechanisms as specified in + [RFC8446]. Cross-domain checkpoint storage MUST implement access + control mechanisms that respect administrative boundaries while + enabling authorized rollback operations. + + Checkpoint consistency verification ensures that distributed + checkpoints represent a globally consistent state across all + participating agents. The consistency verification process MUST + implement logical clock synchronization or vector clock mechanisms + to establish temporal relationships between distributed + checkpoints. Agents MUST validate checkpoint consistency before + committing checkpoint data and SHOULD implement timeout mechanisms + to handle non-responsive participants. For cross-domain scenarios, + consistency verification MUST account for network partitions and + administrative policy constraints that may affect coordination + capabilities. + + Checkpoint lifecycle management encompasses creation, validation, + storage, retrieval, and cleanup operations across the distributed + agent system. Agents MUST implement checkpoint retention policies + that balance storage costs with rollback capability requirements + and SHOULD provide configuration mechanisms for policy + customization. Checkpoint cleanup operations MUST respect + dependency relationships and transaction boundaries to prevent + premature deletion of required rollback data. The checkpoint + manager component SHOULD implement background processes for + checkpoint optimization, compression, and garbage collection to + maintain system performance over extended operational periods. + +6. Rollback Initiation and Coordination + + Rollback operations in RARP are initiated through a well-defined + trigger and coordination mechanism that ensures consistent state + recovery across distributed agent systems. Rollback initiation can + occur through multiple pathways: explicit administrative commands, + automated safety triggers when agents detect anomalous conditions, + or cascade triggers when dependent agent operations fail. The + protocol defines two primary rollback modes - immediate rollback + for safety-critical scenarios where rapid state recovery is + essential, and coordinated rollback for complex distributed + operations requiring multi-agent consensus. All rollback + operations MUST specify a target rollback point identifier and + include sufficient context information to enable receiving agents + to validate the rollback request against their local checkpoint + metadata. + + The coordination messaging framework builds upon the Cross-Domain + Agent Collaboration Protocol [draft-han-rtgwg-agent-gateway- + intercomm-framework] to enable rollback operations across + heterogeneous agent systems and administrative boundaries. When a + rollback coordinator receives a rollback initiation request, it + MUST first validate the requesting entity's authorization and + verify that the target rollback point exists across all + participating agents. The coordinator then broadcasts a rollback + preparation message to all agents within the rollback scope, + allowing each agent to perform local consistency checks and report + any conflicts or dependencies that might prevent successful + rollback. This two-phase approach ensures that rollback operations + only proceed when all participating agents can successfully return + to the specified rollback point without creating inconsistent + intermediate states. + + Immediate rollback scenarios bypass the standard coordination + phase when safety-critical conditions are detected, such as + security breaches or network failures that require rapid + remediation. In immediate rollback mode, the rollback coordinator + MUST issue rollback execution commands directly to all + participating agents without waiting for preparation + confirmations, accepting the risk of temporary inconsistency in + favor of rapid recovery. Agents receiving immediate rollback + commands SHALL prioritize rollback execution over normal + operations and SHOULD complete rollback within the time bounds + specified in the rollback request. The protocol defines fallback + procedures for handling agents that cannot complete immediate + rollback operations, including isolation mechanisms to prevent + inconsistent agents from affecting the recovered system state. + + Coordinated rollback operations involve a more complex multi-phase + protocol that ensures consistency across distributed agent systems + through explicit consensus mechanisms. Following the preparation + phase, agents that successfully validate the rollback request send + confirmation messages to the rollback coordinator, while agents + that detect conflicts or missing checkpoint data send abort + messages with detailed error information. The coordinator + implements a configurable consensus policy that determines whether + to proceed with rollback based on the responses received - strict + consensus requires all agents to confirm, while majority consensus + allows rollback to proceed if a sufficient percentage of agents + confirm readiness. If consensus is achieved, the coordinator + broadcasts commit messages triggering simultaneous rollback + execution; if consensus fails, the coordinator issues abort + messages and logs the rollback attempt for administrative review. + + Conflict resolution mechanisms address scenarios where multiple + concurrent rollback requests or overlapping rollback scopes create + coordination challenges. The protocol employs a priority-based + conflict resolution system where rollback requests include + priority levels, timestamps, and scope identifiers that enable + coordinators to determine precedence when conflicts occur. Higher + priority rollback operations, such as security-related rollbacks, + automatically supersede lower priority operations, while rollback + requests with overlapping scope are serialized based on timestamp + ordering. Cross-domain rollback conflicts are resolved through + gateway-mediated negotiation procedures that leverage the agent + controller coordination mechanisms defined in [draft-jadoon-nmrg- + agentic-ai-autonomous-networks] to ensure consistent rollback + decisions across administrative boundaries. + + The protocol includes comprehensive error handling and recovery + procedures for rollback coordination failures, recognizing that + rollback operations themselves may encounter system failures or + network partitions. When rollback coordination fails due to + network issues or coordinator failures, backup coordinators + automatically assume responsibility for completing the rollback + operation using persistent coordination state stored during the + initial phases. Partial rollback failures, where some agents + successfully rollback while others fail, trigger automatic + reconciliation procedures that either retry the failed rollback + operations or initiate compensating actions to restore system + consistency. All rollback coordination activities are logged with + sufficient detail to enable post-incident analysis and continuous + improvement of rollback procedures in production autonomous + network operations environments. + +7. Integration with Existing Agent Protocols + + RARP is designed to integrate seamlessly with existing agent + communication frameworks and protocols, leveraging established + mechanisms while extending them with rollback-specific + capabilities. The protocol operates as an overlay service that can + be bound to various underlying agent communication protocols, + including those defined in [draft-fu-nmop-agent-communication- + framework] and [draft-li-dmsc-macp]. Integration is achieved + through protocol-specific binding specifications that map RARP + operations to the message formats and coordination mechanisms of + the underlying framework. This approach ensures that RARP can be + deployed incrementally without requiring wholesale replacement of + existing agent infrastructure. + + For cross-domain scenarios, RARP extends the gateway mechanisms + defined in [draft-han-rtgwg-agent-gateway-intercomm-framework] to + support rollback coordination across administrative boundaries. + Agent gateways MUST implement RARP-specific message translation + and state synchronization functions when serving as intermediaries + for cross-domain rollback operations. The gateway extensions + include rollback capability negotiation during agent discovery, + checkpoint metadata translation between domains, and coordination + of distributed rollback timing. Gateways SHOULD maintain rollback + context for active cross-domain agent transactions and MUST + participate in checkpoint consistency verification procedures when + coordinating multi-domain rollbacks. + + RARP bindings for common transport protocols are defined to ensure + broad compatibility with existing deployments. For NETCONF-based + agent communication [RFC6241], RARP operations are encapsulated + within custom RPC operations that extend the base protocol + capabilities. HTTP/2 and HTTP/3 [RFC9000] bindings utilize JSON- + encoded messages [RFC8259] for rollback coordination, with TLS 1.3 + [RFC8446] providing transport security. WebSocket connections MAY + be used for real-time rollback notifications in environments + requiring low-latency coordination. Each binding specification + defines the mapping between RARP primitive operations and the + specific message formats and error handling mechanisms of the + underlying protocol. + + The integration architecture supports both centralized and + distributed coordination models as described in [draft-jadoon- + nmrg-agentic-ai-autonomous-networks]. In centralized deployments, + a single rollback coordinator interfaces with existing agent + controllers to provide system-wide rollback capabilities. + Distributed deployments utilize peer-to-peer coordination among + agents while maintaining compatibility with hierarchical agent + architectures. RARP implementations MUST support capability + advertisement through existing agent discovery mechanisms, + allowing agents to negotiate rollback support and identify + compatible rollback coordinators during system initialization. + + Authentication and authorization for RARP operations leverage + existing agent security frameworks where possible. OAuth 2.0 + [RFC6749] tokens MAY be used for cross-domain authorization when + integrating with web-based agent platforms. The protocol defines + extension points for integrating with domain-specific + authentication mechanisms while maintaining consistent rollback + authorization policies. Implementations SHOULD reuse existing + agent identity management infrastructure to minimize operational + complexity and ensure consistent security policies across normal + operations and rollback scenarios. + +8. Security Considerations + + The rollback capabilities provided by RARP introduce several + security considerations that must be addressed to ensure safe + deployment in production autonomous network environments. Rollback + operations inherently involve state manipulation and coordination + across distributed systems, creating potential attack vectors that + could be exploited to disrupt network operations or gain + unauthorized access to sensitive network state information. The + cross-domain nature of RARP operations, as described in [draft- + han-rtgwg-agent-gateway-intercomm-framework], further amplifies + these security concerns by introducing trust boundaries and + protocol translation points where security policies may differ. + + Authorization and access control for rollback operations MUST be + implemented using strong authentication mechanisms consistent with + [RFC8446] for transport-layer security and [RFC6749] for + authorization delegation across domains. Each rollback coordinator + and participating agent MUST authenticate its identity before + initiating or participating in rollback operations. The protocol + MUST enforce role-based access control where only authorized + entities can initiate rollback operations for specific network + domains or agent systems. Cross-domain rollback operations MUST + validate authorization chains through gateway intermediaries, + ensuring that rollback requests are properly authenticated at each + administrative boundary. Emergency or immediate rollback + operations SHOULD maintain security requirements while providing + expedited authorization paths for safety-critical scenarios. + + Comprehensive audit trails MUST be maintained for all rollback + operations to ensure accountability and enable forensic analysis + of network incidents. The audit system MUST record rollback + initiation events, participating agents, checkpoint identifiers, + authorization decisions, and completion status using tamper- + resistant logging mechanisms. These audit records MUST be + synchronized across participating domains and stored with + sufficient integrity protection to prevent unauthorized + modification. The audit trail format SHOULD be compatible with + existing network management audit systems and MUST include + sufficient detail to reconstruct the sequence of events leading to + and following rollback operations. + + Protection against malicious rollback attacks requires careful + consideration of potential attack vectors including replay + attacks, unauthorized rollback initiation, and checkpoint + poisoning. The protocol MUST implement sequence numbers and + timestamps to prevent replay of rollback messages, with + verification of message freshness using techniques consistent with + [RFC9000]. Rollback coordinators MUST validate checkpoint + integrity before executing rollback operations and SHOULD + implement rate limiting to prevent denial-of-service attacks + through excessive rollback requests. The protocol MUST detect and + mitigate attempts to rollback to compromised or maliciously + modified checkpoints through cryptographic verification of + checkpoint contents and metadata. + + Cross-domain security implications require special consideration + for trust establishment and security policy coordination between + administrative domains. Gateway entities facilitating cross-domain + rollback MUST enforce security policy translation and ensure that + rollback operations comply with the security requirements of all + participating domains. The protocol MUST support security policy + negotiation to establish common security parameters for cross- + domain rollback operations while maintaining the security + standards of the most restrictive participating domain. Inter- + domain rollback operations SHOULD implement additional + verification steps and MAY require human authorization for + operations that could significantly impact network stability + across domain boundaries. + +9. IANA Considerations + + This document requests the creation of several new IANA registries + for the Real-Time Agent Rollback Protocol (RARP) and the + registration of initial values. The registries are necessary to + ensure consistent implementation and interoperability of RARP + across different autonomous agent systems and administrative + domains. These registries support the protocol's integration with + existing agent communication frameworks as defined in [draft-fu- + nmop-agent-communication-framework] and cross-domain coordination + mechanisms specified in [draft-han-rtgwg-agent-gateway-intercomm- + framework]. + + IANA is requested to create a new registry group titled "Real-Time + Agent Rollback Protocol (RARP) Parameters" with four sub- + registries. The "RARP Message Types" registry MUST contain 16-bit + unsigned integer values from 0 to 65535, with values 0-255 + reserved for IANA allocation and 256-65535 designated for first- + come, first-served registration following [RFC8126] guidelines. + Initial registrations MUST include: ROLLBACKREQUEST (1), + ROLLBACKRESPONSE (2), CHECKPOINTCREATE (3), CHECKPOINTVALIDATE + (4), COORDINATIONINIT (5), and COORDINATIONCOMPLETE (6). Each + registration requires a message type name, numeric value, + description, and reference to this specification or subsequent + extensions. + + The "RARP Error Codes" registry SHALL use 16-bit unsigned integer + values with similar allocation policies. Initial error code + registrations MUST include: CHECKPOINTNOTFOUND (1001), + INSUFFICIENTPERMISSIONS (1002), ROLLBACKCONFLICT (1003), + CROSSDOMAINFAILURE (1004), STATEINCONSISTENT (1005), and + COORDINATIONTIMEOUT (1006). The "RARP Capability Identifiers" + registry uses string-based identifiers following the reverse DNS + naming convention to prevent namespace collisions. Initial + capability identifiers SHOULD include "rollback.immediate", + "rollback.coordinated", "checkpoint.distributed", and + "integration.gateway" to support the core protocol functionality + and integration patterns described in this specification. + + The "RARP Agent Transaction Types" registry supports the + classification and coordination of rollback operations across + heterogeneous agent systems. This registry uses string-based + identifiers and MUST include initial registrations for + "network.configuration", "routing.policy", "security.rule", and + "service.deployment" to align with common network operations use + cases. Registration procedures for all RARP registries MUST + require specification of the parameter name, value, description, + security considerations if applicable, and reference document. + Registrants SHOULD provide interoperability considerations when + the parameter affects cross-domain operations or integration with + existing protocols such as NETCONF [RFC6241] or agent gateway + frameworks. + + All RARP registry entries MUST be subject to expert review for + values in the IANA allocation ranges, with designated experts + evaluating technical soundness, potential conflicts with existing + registrations, and alignment with RARP architectural principles. + The expert review process SHALL consider the impact on cross- + domain rollback coordination and compatibility with existing agent + communication protocols. Registry updates affecting security- + sensitive parameters such as authorization capabilities or cross- + domain coordination mechanisms require additional security review + to ensure consistency with the security considerations outlined in + Section 8 of this specification and general security practices for + autonomous network operations. + +10. References + +10.1. Normative References + + [RFC 2119] + RFC 2119 + + [RFC 8174] + RFC 8174 + + [RFC 8259] + RFC 8259 + + [RFC 6241] + RFC 6241 + + [draft-han-rtgwg-agent-gateway-intercomm-framework] + draft-han-rtgwg-agent-gateway-intercomm-framework + + [draft-li-dmsc-macp] + draft-li-dmsc-macp + + [draft-fu-nmop-agent-communication-framework] + draft-fu-nmop-agent-communication-framework + +10.2. Informative References + + [RFC 8446] + RFC 8446 + + [RFC 9000] + RFC 9000 + + [RFC 6749] + RFC 6749 + + [draft-chuyi-nmrg-ai-agent-network] + draft-chuyi-nmrg-ai-agent-network + + [draft-jadoon-nmrg-agentic-ai-autonomous-networks] + draft-jadoon-nmrg-agentic-ai-autonomous-networks + + [draft-vandoulas-aidp] + draft-vandoulas-aidp + + [draft-cui-ai-agent-discovery-invocation] + draft-cui-ai-agent-discovery-invocation + + [draft-wang-nmrg-magent-im] + draft-wang-nmrg-magent-im + + [draft-cui-nmrg-llm-benchmark] + draft-cui-nmrg-llm-benchmark + + [draft-yue-anima-agent-recovery-networks] + draft-yue-anima-agent-recovery-networks + + +Author's Address + + Generated by IETF Draft Analyzer + Family: agent-ecosystem + 2026-03-04 diff --git a/data/reports/generated-drafts/draft-ai-agent-task-a-00.txt b/data/reports/generated-drafts/draft-ai-agent-task-a-00.txt new file mode 100644 index 0000000..f7e2eef --- /dev/null +++ b/data/reports/generated-drafts/draft-ai-agent-task-a-00.txt @@ -0,0 +1,793 @@ +Internet-Draft anima +Intended status: standards-track March 2026 +Expires: September 05, 2026 + + + Agent Task DAG: A Framework for Directed Acyclic Graph Execution in Multi-Agent Systems + draft-agent-ecosystem-agent-task-a-00 + +Abstract + + As AI agent systems become increasingly complex, there is a + growing need for structured approaches to orchestrate multi-step + tasks across multiple autonomous agents. This document defines the + Agent Task DAG (Directed Acyclic Graph) framework, which provides + a standardized approach for representing, executing, and managing + complex workflows in multi-agent environments. The framework + addresses key challenges including task decomposition, dependency + management, parallel execution, failure recovery, and human + oversight integration. By building upon existing agent + authorization profiles and task negotiation protocols, this + specification enables agents to coordinate complex workflows while + maintaining security, auditability, and the ability to incorporate + human-in-the-loop decision points. The framework supports both + fast execution in trusted environments and rigorous verification + in regulated contexts through configurable assurance profiles. + +Status of This Memo + + This Internet-Draft is submitted in full conformance with the + provisions of BCP 78 and BCP 79. + + This document is intended to have standards-track status. + Distribution of this memo is unlimited. + +Terminology + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL + NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", + "MAY", and "OPTIONAL" in this document are to be interpreted as + described in BCP 14 [RFC2119] [RFC8174] when, and only when, they + appear in all capitals, as shown here. + + Agent Task DAG + A directed acyclic graph representing a complex workflow where + nodes represent individual tasks and edges represent + dependencies between tasks + + Task Node + An individual unit of work within a DAG that can be executed by + one or more agents + + Execution Context + The runtime environment and state information associated with + DAG execution, including agent assignments, intermediate + results, and checkpoint data + + Checkpoint + A persistent snapshot of DAG execution state that enables + rollback and recovery operations + + Task Binding + The association of a task node with specific agent capabilities + or agent instances + + DAG Coordinator + An agent or system component responsible for orchestrating the + execution of a complete DAG workflow + + +Table of Contents + + 1. Introduction ................................................ 3 + 2. Terminology ................................................. 4 + 3. Problem Statement ........................................... 5 + 4. Agent Task DAG Framework .................................... 6 + 5. Task Execution Protocol ..................................... 7 + 6. Checkpoint and Recovery Mechanisms .......................... 8 + 7. Integration with Existing Agent Protocols ................... 9 + 8. Security Considerations ..................................... 10 + 9. IANA Considerations ......................................... 11 + 10. References .................................................. 12 + +1. Introduction + + The increasing sophistication of AI agent systems has created a + demand for structured approaches to orchestrate complex, multi- + step tasks across autonomous agents. While individual agents have + become capable of handling sophisticated reasoning and execution + tasks, real-world applications often require coordinating multiple + agents to complete workflows that involve parallel processing, + sequential dependencies, and dynamic task allocation. Current + approaches to multi-agent coordination typically rely on ad-hoc + communication patterns or simple request-response chains, which + lack the expressiveness and reliability needed for complex + enterprise and research applications. + + This document defines the Agent Task DAG (Directed Acyclic Graph) + framework, which provides a standardized approach for + representing, executing, and managing complex workflows in multi- + agent environments. The framework builds upon existing agent + protocols, particularly the Agent Authorization Profile [draft- + aap-oauth-profile] for security and authorization, and agent task + coordination mechanisms [draft-cui-ai-agent-task] for basic task + execution. By representing workflows as directed acyclic graphs, + the framework enables explicit modeling of task dependencies, + parallel execution opportunities, and conditional branching while + maintaining guarantees about workflow termination and consistency. + + The Agent Task DAG framework addresses several critical challenges + in multi-agent systems: task decomposition and dependency + management, efficient parallel execution across heterogeneous + agents, robust failure recovery and rollback mechanisms, and + integration of human oversight at critical decision points. The + framework leverages structured claims for agent context [draft- + aap-oauth-profile] to enable context-aware task assignment and + supports agent context distribution mechanisms [draft-chang-agent- + context-interaction] to maintain coherent state across complex + multi-round workflows. This approach ensures that agents can + coordinate effectively while maintaining security boundaries and + audit trails required in enterprise environments. + + The specification is designed to be protocol-agnostic and can + operate over various transport mechanisms including HTTP + [RFC9110], message queuing systems, and specialized agent + communication protocols. The framework integrates with existing + OAuth 2.0 [RFC6749] and JWT [RFC7519] infrastructure through the + Agent Authorization Profile, enabling seamless deployment in + environments that already support agent authentication and + authorization. The DAG representation follows JSON [RFC8259] + encoding standards to ensure broad compatibility and easy + integration with existing agent development frameworks. + + This document focuses specifically on the DAG execution framework + and does not address broader questions of agent discovery, + capability matching, or task marketplace mechanisms, which are + covered by complementary specifications. The framework assumes the + existence of agent authorization infrastructure and builds upon + established patterns for agent-to-agent communication while + providing the additional structure needed for complex workflow + coordination. + +2. Terminology + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL + NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", + "MAY", and "OPTIONAL" in this document are to be interpreted as + described in BCP 14 [RFC2119] [RFC8174] when, and only when, they + appear in all capitals, as shown here. + + This specification builds upon terminology established in the + Agent Authorization Profile [draft-aap-oauth-profile], AI Agent + Task specifications [draft-cui-ai-agent-task], and Agent Context + Interaction mechanisms [draft-chang-agent-context-interaction]. + The following terms are defined for use throughout this document: + + Agent Task DAG: A directed acyclic graph data structure + representing a complex multi-step workflow where nodes correspond + to individual tasks and directed edges represent dependency + relationships between tasks. The DAG enforces execution ordering + constraints while enabling parallel execution of independent task + branches. Each DAG maintains metadata including creation time, + ownership, and execution policies that govern how the workflow may + be executed across multiple agents. + + Task Node: An individual unit of work within an Agent Task DAG + that encapsulates a specific operation to be performed by one or + more AI agents. Each task node contains task specifications, + input/output schemas, execution constraints, and binding + requirements that determine which agents are capable of executing + the task. Task nodes maintain state information including + execution status, assigned agents, and result data as defined in + [draft-cui-ai-agent-task]. + + Execution Context: The runtime environment and associated state + information that governs the execution of an Agent Task DAG. The + execution context includes agent assignments, intermediate task + results, security credentials, operational constraints from Agent + Authorization Profiles [draft-aap-oauth-profile], and distributed + context information as specified in [draft-chang-agent-context- + interaction]. The execution context ensures consistency and + provides necessary information for task coordination across + multiple agents. + + Checkpoint: A persistent, immutable snapshot of Agent Task DAG + execution state captured at a specific point in time. Checkpoints + contain the complete execution context, task completion status, + intermediate results, and sufficient metadata to enable rollback + and recovery operations. Checkpoints serve as recovery points for + failure scenarios and decision points for human-in-the-loop + interventions. + + Task Binding: The process and resulting association between a task + node and specific agent capabilities or agent instances that will + execute the task. Task binding considers agent authorization + profiles, capability matching, resource availability, and security + constraints. The binding process may be performed statically + during DAG planning or dynamically during execution based on + runtime conditions. + + DAG Coordinator: An agent or system component responsible for + orchestrating the complete lifecycle of Agent Task DAG execution. + The DAG Coordinator manages task scheduling, monitors execution + progress, handles inter-agent communication, enforces security + policies, and coordinates checkpoint and recovery operations. The + coordinator maintains the authoritative view of DAG execution + state and serves as the primary interface for human oversight and + intervention. + +3. Problem Statement + + Current approaches to multi-agent task coordination suffer from + several fundamental limitations that impede the development of + robust, scalable autonomous systems. Existing coordination + mechanisms typically rely on ad-hoc communication patterns, simple + request-response protocols, or basic workflow engines that were + not designed for the dynamic, autonomous nature of AI agents. + While protocols like those defined in [draft-cui-ai-agent-task] + provide foundations for individual task execution, they lack + standardized approaches for managing complex workflows involving + multiple interdependent tasks across heterogeneous agent + populations. The Agent Authorization Profile [draft-aap-oauth- + profile] establishes important primitives for agent identity and + authorization, but does not address the orchestration challenges + that arise when multiple authorized agents must coordinate to + complete complex, multi-step objectives. + + The complexity of real-world AI agent applications demands + structured approaches to task decomposition and dependency + management that current protocols do not adequately address. + Agents operating in domains such as scientific research, business + process automation, or infrastructure management often require + workflows where tasks have intricate dependencies, may execute in + parallel when possible, and must handle partial failures + gracefully. Without standardized mechanisms for representing these + relationships, agent systems resort to brittle, custom + coordination logic that is difficult to audit, debug, or modify. + The lack of formal workflow representation also prevents effective + human oversight integration, as stakeholders cannot easily + understand or intervene in complex multi-agent processes. + + Agent Context Distribution mechanisms [draft-chang-agent-context- + interaction] have demonstrated that context sharing among agents + significantly impacts execution success rates, but current + approaches do not provide systematic ways to manage context + propagation through complex workflows. In multi-step processes, + intermediate results from one task often serve as inputs to + downstream tasks, creating context dependencies that must be + carefully managed to ensure workflow integrity. Existing protocols + lack standardized approaches for maintaining execution context + across task boundaries, leading to information loss, redundant + computation, and coordination failures that compromise overall + system reliability. + + Fault tolerance and recovery represent critical gaps in current + multi-agent coordination approaches. Real-world agent systems must + handle various failure modes including agent unavailability, task + timeouts, resource constraints, and partial execution failures. + Without systematic checkpoint and recovery mechanisms, workflows + often must restart completely when any component fails, leading to + inefficient resource utilization and poor user experience. The + absence of standardized rollback capabilities also complicates + human intervention scenarios, where domain experts may need to + modify workflow parameters or task assignments based on + intermediate results or changing requirements. + + Scalability challenges emerge when current coordination approaches + encounter workflows with dozens or hundreds of interdependent + tasks distributed across multiple agent instances. Simple + centralized coordination quickly becomes a bottleneck, while fully + decentralized approaches struggle with consistency and deadlock + prevention. The lack of standardized protocols for parallel task + execution, resource allocation, and progress monitoring prevents + agent systems from efficiently utilizing available computational + resources. Additionally, without formal workflow representation, + it becomes difficult to optimize task scheduling, predict resource + requirements, or provide meaningful progress indicators to human + stakeholders. + + These limitations necessitate a framework that provides: + structured representation of complex workflows with explicit + dependency management; standardized protocols for parallel + execution and agent coordination; systematic checkpoint and + recovery mechanisms that enable fault tolerance and human + intervention; integration with existing agent authorization and + context distribution mechanisms; and scalable execution patterns + that can accommodate workflows ranging from simple sequential + processes to complex parallel computations involving multiple + agent populations. + +4. Agent Task DAG Framework + + This section defines the core data model and execution semantics + for the Agent Task DAG framework. The framework provides a + structured approach for representing complex multi-agent workflows + as directed acyclic graphs, where individual tasks are modeled as + nodes and dependencies between tasks are represented as edges. The + data model builds upon existing agent protocol foundations while + introducing specific constructs needed for distributed workflow + orchestration. + + 4.1. DAG Data Model + + An Agent Task DAG MUST be represented as a JSON object [RFC8259] + that contains the complete specification of a workflow. The DAG + structure consists of three primary components: metadata + describing the overall workflow, a collection of task nodes + representing individual units of work, and dependency + relationships that define execution ordering constraints. Each DAG + MUST include a unique identifier, version information, and + execution parameters that govern how the workflow should be + processed. + + Task nodes within the DAG represent atomic units of work that can + be executed by autonomous agents. Each task node MUST specify its + execution requirements, including required agent capabilities, + input and output data schemas, and execution constraints such as + timeouts or resource limits. Task nodes SHOULD reference + standardized task types as defined in [draft-cui-ai-agent-task] + where applicable, enabling interoperability across different agent + implementations. The task specification MUST include sufficient + information for agents to determine their capability to execute + the task and negotiate execution parameters. + + Dependency relationships between task nodes are expressed through + edge definitions that establish partial ordering constraints over + the DAG. Each edge MUST specify source and target task nodes, with + the semantic meaning that the target task cannot begin execution + until the source task has completed successfully. Edges MAY + include conditional execution logic, allowing for branching + workflows based on the results of predecessor tasks. The framework + supports both data dependencies, where output from one task serves + as input to another, and control dependencies, where task ordering + is required for correctness without direct data flow. + + 4.2. Execution Context Management + + The Execution Context provides the runtime environment for DAG + processing and maintains state information throughout workflow + execution. The execution context MUST track the current state of + each task node, intermediate results produced during execution, + and metadata about agent assignments for each task. Context + information SHOULD be distributed among participating agents using + the mechanisms defined in [draft-chang-agent-context-interaction] + to ensure consistent state visibility across the multi-agent + system. + + Agent binding within the execution context associates task nodes + with specific agent instances or agent capability requirements. + The framework supports both static binding, where task assignments + are predetermined before execution begins, and dynamic binding, + where task assignments are resolved at runtime based on agent + availability and capability matching. When integrated with Agent + Authorization Profiles [draft-aap-oauth-profile], the execution + context MUST validate that assigned agents possess the necessary + authorization claims to execute their bound tasks. + + Checkpoint creation within the execution context enables + persistent state management and recovery capabilities. The + framework MUST support checkpoint creation at configurable + intervals, capturing the complete state of DAG execution including + task completion status, intermediate results, and current agent + assignments. Checkpoints SHOULD be created automatically before + task nodes that are marked as requiring human oversight, enabling + rollback to known-good states when human intervention modifies the + workflow execution path. + + 4.3. Task Execution Semantics + + Task execution within the DAG framework follows a coordination + model where a DAG Coordinator orchestrates workflow progress while + individual agents execute assigned tasks autonomously. The + coordinator MUST maintain the global view of DAG state and + determine when task dependencies have been satisfied, enabling + parallel execution of independent task branches. Task scheduling + MUST respect dependency constraints while maximizing parallel + execution opportunities to optimize overall workflow completion + time. + + The framework defines specific execution states for task nodes + including pending, ready, executing, completed, failed, and + skipped. State transitions MUST be coordinated through the DAG + Coordinator to ensure consistency across the distributed system. + When a task transitions to the ready state, the coordinator SHOULD + initiate agent assignment and task negotiation protocols to begin + execution. Failed tasks MAY trigger rollback procedures or + alternate execution paths depending on the configured failure + handling policies. + + Integration with existing agent protocols occurs through + standardized interfaces that abstract the underlying communication + mechanisms. The framework MUST support protocol-agnostic bindings + that allow integration with different agent discovery, + authorization, and communication protocols. Task execution + requests SHOULD include structured claims as defined in [draft- + aap-oauth-profile] when agent authorization is required, ensuring + that security and audit requirements are maintained throughout the + distributed workflow execution. + +5. Task Execution Protocol + + The Agent Task DAG execution protocol defines a standardized + approach for coordinating the execution of complex workflows + across multiple autonomous agents. The protocol builds upon + existing agent communication mechanisms and authorization + frameworks, particularly the Agent Authorization Profile [draft- + aap-oauth-profile], to enable secure and auditable workflow + execution. The execution model supports both centralized + coordination through a designated DAG Coordinator and distributed + execution patterns where agents negotiate task assignments + dynamically. + + The execution protocol operates through a series of well-defined + phases: initialization, task scheduling, parallel execution, and + completion verification. During initialization, the DAG + Coordinator validates the workflow structure, resolves task + bindings to available agents, and establishes the execution + context. Task scheduling follows topological ordering of the DAG, + with the coordinator identifying executable tasks (those with + satisfied dependencies) and dispatching them to appropriate + agents. The protocol supports parallel execution of independent + tasks while maintaining strict dependency ordering through state + synchronization mechanisms. + + Agent coordination during DAG execution relies on structured + message exchanges that convey task assignments, status updates, + and result propagation. Task assignment messages MUST include the + complete task specification, execution context parameters, and any + required authorization tokens following the Agent Authorization + Profile format [draft-aap-oauth-profile]. Agents respond with + acceptance confirmations that include estimated execution time and + resource requirements. Status update messages provide real-time + execution progress and MUST be sent at configurable intervals to + enable failure detection and recovery operations. + + State synchronization across the multi-agent system is achieved + through a combination of checkpoint mechanisms and distributed + context sharing. The DAG Coordinator maintains the authoritative + execution state, including task completion status, intermediate + results, and dependency satisfaction tracking. Agent Context + Distribution mechanisms [draft-chang-agent-context-interaction] + are employed to efficiently share relevant context information + among participating agents, reducing redundant data transfer while + ensuring each agent has access to necessary execution context. + Intermediate results from completed tasks are propagated to + dependent tasks through structured result messages that preserve + data lineage and enable audit trail construction. + + The protocol defines specific message formats for each phase of + execution, using JSON [RFC8259] structures that can be embedded + within existing agent communication protocols. Task execution + requests include fields for task identification, input parameters, + execution constraints, and callback endpoints for status + reporting. Result messages contain structured output data, + execution metadata, and quality indicators that enable downstream + tasks to validate input requirements. Error and exception messages + provide detailed failure information including error codes, + diagnostic data, and suggested recovery actions. + + Parallel execution coordination addresses the challenges of + resource contention and optimal scheduling across heterogeneous + agent capabilities. The protocol supports both push-based task + assignment, where the coordinator actively distributes work, and + pull-based execution, where agents request tasks based on their + availability and capabilities. Load balancing mechanisms consider + agent capacity, current workload, and task affinity when making + scheduling decisions. The protocol also defines procedures for + dynamic rescheduling when agents become unavailable or when + execution time estimates prove inaccurate, ensuring workflow + completion despite individual agent failures. + +6. Checkpoint and Recovery Mechanisms + + The Agent Task DAG framework MUST provide robust checkpoint and + recovery mechanisms to ensure workflow resilience and enable + graceful handling of failures, interruptions, and human + intervention points. Checkpoints represent persistent snapshots of + the DAG execution state at specific points in the workflow, + capturing sufficient information to resume execution from that + point or rollback to a previous stable state. The framework + defines three types of checkpoints: automatic checkpoints created + at predefined intervals or task completion boundaries, explicit + checkpoints requested by agents or human operators, and recovery + checkpoints generated immediately before high-risk operations that + may require rollback. + + Checkpoint creation MUST capture the complete execution context as + defined in Section 4, including the current state of all task + nodes, intermediate results, agent assignments, and security + context derived from Agent Authorization Profiles [draft-aap- + oauth-profile]. Each checkpoint MUST include a unique identifier, + timestamp, DAG version, execution state hash, and references to + any external resources or agent context information as specified + in [draft-chang-agent-context-interaction]. The checkpoint data + structure SHOULD be serialized using JSON [RFC8259] with optional + compression for large state objects, and MUST be digitally signed + to ensure integrity and authenticity. Checkpoints MAY be stored in + distributed storage systems to ensure availability across multiple + DAG Coordinators. + + The rollback procedure enables the DAG execution to revert to a + previous checkpoint when failures occur or human intervention + requires undoing completed work. When a rollback is initiated, the + DAG Coordinator MUST notify all participating agents of the + rollback operation, invalidate any results produced after the + target checkpoint, and restore the execution context to the + checkpoint state. Agents MUST acknowledge the rollback operation + and may need to perform agent-specific cleanup operations such as + releasing resources or notifying external systems. The rollback + operation MUST preserve audit trails by maintaining records of + both the original execution and the rollback event, ensuring + compliance with security and regulatory requirements. + + Failure recovery strategies operate at multiple levels within the + DAG execution framework, from individual task failures to complete + coordinator failures. For task-level failures, the framework + supports automatic retry with exponential backoff, task + reassignment to alternative agents with compatible capabilities, + and conditional continuation where dependent tasks may proceed + with degraded inputs. When coordinator failures occur, recovery + mechanisms leverage distributed checkpoints and coordinator + election protocols to restore execution state on alternative + infrastructure. The framework MUST support human-in-the-loop + recovery scenarios where automated recovery is insufficient, + providing interfaces for human operators to inspect checkpoint + states, approve recovery actions, and inject corrective context + information. + + The checkpoint and recovery mechanisms MUST integrate with the + agent authorization framework to ensure that recovery operations + maintain appropriate security boundaries and access controls. + Recovery operations SHOULD verify that participating agents still + possess valid authorization profiles and may require re- + authentication if significant time has elapsed since checkpoint + creation. The framework MUST provide configurable retention + policies for checkpoints, balancing storage efficiency with + recovery requirements, and MUST support secure deletion of + checkpoint data containing sensitive information when retention + periods expire or workflows complete successfully. + +7. Integration with Existing Agent Protocols + + This section describes how the Agent Task DAG framework integrates + with existing agent authorization, discovery, and communication + protocols to provide a comprehensive multi-agent workflow + execution environment. The framework is designed to be protocol- + agnostic while providing specific bindings for commonly used agent + protocols, enabling organizations to adopt DAG-based workflows + within their existing agent infrastructure. + + The DAG framework builds upon the Agent Authorization Profile + (AAP) [draft-aap-oauth-profile] to establish secure task execution + contexts. When a DAG Coordinator initiates workflow execution, it + MUST obtain appropriate authorization tokens for each + participating agent using the structured claims defined in AAP. + The task context claim within the agent's JWT token includes the + DAG identifier, task node assignments, and operational constraints + specific to the workflow. This approach ensures that agents can + verify their authorization to execute specific tasks within the + broader workflow context while maintaining the delegation chains + and human oversight requirements established in their + authorization profiles. + + Agent discovery and capability matching for DAG execution + leverages existing agent discovery protocols while extending them + with DAG-specific metadata. Agents participating in DAG workflows + SHOULD advertise their capabilities using structured capability + descriptors that include supported task types, execution + constraints, and checkpoint compatibility. The DAG Coordinator + uses this information during the task binding process to assign + task nodes to appropriate agents. When multiple agents are capable + of executing a particular task type, the coordinator MAY use load + balancing, geographic distribution, or other selection criteria to + optimize workflow execution. + + Context distribution among agents executing DAG workflows follows + the mechanisms defined in [draft-chang-agent-context-interaction], + with specific extensions for DAG execution state management. The + execution context for a DAG workflow includes the complete graph + structure, current execution state, intermediate task results, and + checkpoint metadata. Agents MUST receive sufficient context to + execute their assigned tasks while minimizing the distribution of + sensitive information to unauthorized agents. The framework + supports both push-based context distribution, where the DAG + Coordinator sends relevant context to agents before task + execution, and pull-based approaches where agents request specific + context elements as needed. + + The framework provides protocol bindings for common agent + communication patterns including HTTP-based REST APIs [RFC9110], + message queuing systems, and real-time communication protocols. + Each binding specifies how DAG execution messages are encoded, how + task results are reported, and how checkpoint operations are + coordinated across the distributed agent environment. Protocol- + specific considerations such as connection management, retry + mechanisms, and error handling are addressed within each binding + specification. For HTTP-based bindings, the framework defines + standardized endpoints for task execution, status reporting, and + checkpoint operations that can be implemented by any agent + supporting the DAG execution protocol. + + Integration with existing agent task protocols [draft-cui-ai- + agent-task] is achieved through task node adapters that translate + between DAG task specifications and protocol-specific task + representations. These adapters handle differences in task + parameterization, result formatting, and execution semantics while + preserving the dependency relationships and execution guarantees + required by the DAG framework. The framework also supports + integration with audit and compliance systems through standardized + logging interfaces that capture task execution events, + authorization decisions, and checkpoint operations in formats + compatible with existing security and compliance tools. + +8. Security Considerations + + The Agent Task DAG framework introduces unique security challenges + that extend beyond traditional single-agent systems. Multi-agent + workflows create expanded attack surfaces through inter-agent + communication channels, shared execution contexts, and distributed + state management. Malicious actors may attempt to inject + unauthorized tasks into DAG structures, manipulate task + dependencies to create privilege escalation paths, or exploit + checkpoint mechanisms to gain persistent access to workflow state. + The distributed nature of DAG execution also amplifies risks + related to agent impersonation, context poisoning, and + unauthorized workflow modification during execution. + + Task authorization within DAG workflows MUST leverage the Agent + Authorization Profile [draft-aap-oauth-profile] to establish fine- + grained permissions for each task node. Each task node SHOULD + include authorization requirements that specify which agent + capabilities, delegation chains, and operational constraints are + required for execution. The DAG Coordinator MUST verify that + assigned agents possess valid JWT tokens with appropriate + structured claims before initiating task execution. When tasks + involve sensitive operations or access to protected resources, + implementations SHOULD require fresh token validation rather than + relying on cached authorization state. Multi-step workflows that + span extended time periods MUST implement token refresh mechanisms + to maintain security throughout DAG execution. + + Context isolation represents a critical security boundary in + multi-agent DAG systems. Execution contexts MUST be isolated + between different DAG instances to prevent information leakage and + unauthorized access to intermediate results. Implementations + SHOULD use cryptographic techniques to protect context data in + transit and at rest, particularly when context distribution + mechanisms [draft-chang-agent-context-interaction] are employed + across network boundaries. Task nodes that handle sensitive data + MUST implement appropriate data classification and handling + controls, ensuring that context information is only accessible to + authorized agents within the workflow. The framework SHOULD + support configurable context sharing policies that allow + administrators to define which context elements can be shared + between tasks and which must remain isolated. + + Audit trail requirements for DAG execution are more complex than + single-agent scenarios due to the distributed and potentially + parallel nature of task execution. Implementations MUST maintain + comprehensive logs that capture DAG initiation, task assignments, + agent authorizations, execution outcomes, and any human + intervention points. Audit records SHOULD include cryptographic + signatures or integrity mechanisms to prevent tampering and + support forensic analysis. The checkpoint and recovery mechanisms + introduce additional logging requirements, as rollback operations + and failure recovery attempts MUST be fully auditable. + Organizations operating in regulated environments MAY require + enhanced audit capabilities that provide real-time monitoring of + DAG execution state and automated alerts for security policy + violations. + + The integration of human oversight points within DAG workflows + creates additional security considerations around authentication, + authorization, and workflow integrity. Human operators MUST be + properly authenticated before approving task continuations or + modifying workflow parameters. The framework SHOULD support multi- + factor authentication and role-based access controls for human + intervention points. Implementations MUST ensure that human + approval requirements cannot be bypassed through agent + coordination or DAG manipulation. When human operators modify + workflow parameters or approve exceptional conditions, these + actions MUST be cryptographically signed and integrated into the + workflow's audit trail to maintain end-to-end accountability. + +9. IANA Considerations + + This document introduces several new protocol elements and + identifiers that require IANA registration to ensure global + uniqueness and interoperability across implementations. The Agent + Task DAG framework extends existing agent communication protocols + with new message types, node classifications, and execution state + identifiers that must be standardized for consistent + implementation. + + The specification requires the establishment of a new "Agent Task + DAG Parameters" registry to manage the various identifiers used + within the framework. This registry MUST include sub-registries + for DAG node types, edge relationship types, execution states, + checkpoint types, and recovery action identifiers. Each sub- + registry MUST follow the "Specification Required" registration + policy as defined in [RFC8126], with designated experts reviewing + submissions for technical correctness and consistency with the + overall framework architecture. The registry MUST also accommodate + extensions that integrate with existing agent authorization + profiles as defined in [draft-aap-oauth-profile]. + + A new "application/vnd.ietf.agent-task-dag+json" media type + registration is REQUIRED for DAG workflow documents. This media + type MUST reference this specification and follow the JSON format + requirements specified in [RFC8259]. The media type enables proper + content negotiation when agents exchange DAG definitions and + execution state information. Additionally, new URI schemes "agent- + dag:" and "agent-task:" are proposed for identifying DAG instances + and individual task nodes respectively, requiring registration in + the "Uniform Resource Identifier (URI) Schemes" registry + maintained by IANA. + + The framework introduces new JWT claim names for representing DAG + execution context and task bindings within agent authorization + tokens, extending the structured claims mechanism defined in + [draft-aap-oauth-profile]. These claim names MUST be registered in + the "JSON Web Token Claims" registry established by [RFC7519]. The + new claims include "dagid", "tasknode", "executioncontext", + "checkpointref", and "recovery_state", each with specific semantic + meanings within the DAG execution protocol. Registration of these + claims ensures consistent interpretation across different agent + implementations and authorization servers. + + Finally, new HTTP header fields "DAG-Execution-ID" and "DAG- + Checkpoint" are introduced for coordination between agents during + DAG execution. These headers MUST be registered in the "Hypertext + Transfer Protocol (HTTP) Field Name Registry" as defined in + [RFC9110]. The headers enable stateless coordination mechanisms + and support the checkpoint and recovery procedures specified in + this framework, while maintaining compatibility with existing + HTTP-based agent communication protocols. + +10. References + +10.1. Normative References + + [RFC 2119] + RFC 2119 + + [RFC 8174] + RFC 8174 + + [RFC 8259] + RFC 8259 + + [RFC 7519] + RFC 7519 + + [draft-aap-oauth-profile] + draft-aap-oauth-profile + + [draft-cui-ai-agent-task] + draft-cui-ai-agent-task + + [draft-guy-bary-stamp-protocol] + draft-guy-bary-stamp-protocol + +10.2. Informative References + + [RFC 6749] + RFC 6749 + + [RFC 9110] + RFC 9110 + + [draft-chang-agent-context-interaction] + draft-chang-agent-context-interaction + + [draft-liu-dmsc-acps-arc] + draft-liu-dmsc-acps-arc + + [draft-rosenberg-aiproto-framework] + draft-rosenberg-aiproto-framework + + [draft-song-oauth-ai-agent-collaborate-authz] + draft-song-oauth-ai-agent-collaborate-authz + + [draft-mao-rtgwg-apn-framework-for-ioa] + draft-mao-rtgwg-apn-framework-for-ioa + + [draft-nandakumar-ai-agent-moq-transport] + draft-nandakumar-ai-agent-moq-transport + + +Author's Address + + Generated by IETF Draft Analyzer + Family: agent-ecosystem + 2026-03-04 diff --git a/data/reports/generated-drafts/draft-ai-primitives-for-00.txt b/data/reports/generated-drafts/draft-ai-primitives-for-00.txt new file mode 100644 index 0000000..2edb7ce --- /dev/null +++ b/data/reports/generated-drafts/draft-ai-primitives-for-00.txt @@ -0,0 +1,757 @@ +Internet-Draft anima +Intended status: standards-track March 2026 +Expires: September 05, 2026 + + + Human-in-the-Loop (HITL) Primitives for AI Agent Systems + draft-agent-ecosystem-primitives-for-00 + +Abstract + + As AI agents become increasingly autonomous in network operations + and other critical domains, the need for standardized human + oversight mechanisms becomes paramount. This document defines a + framework of Human-in-the-Loop (HITL) primitives that enable + structured human intervention, approval, and oversight in AI agent + decision-making processes. The framework provides three core + primitives: approval workflows that require explicit human consent + before action execution, override mechanisms that allow humans to + modify or halt agent decisions, and explainability interfaces that + provide transparency into agent reasoning. These primitives are + designed to be protocol-agnostic and can be integrated with + existing agent architectures to ensure human control over + autonomous systems. The specification addresses the critical gap + between fully autonomous AI operation and human accountability + requirements, particularly in regulated environments where human + oversight is mandatory. By standardizing these HITL mechanisms, + organizations can deploy AI agents with appropriate human + safeguards while maintaining operational efficiency and regulatory + compliance. + +Status of This Memo + + This Internet-Draft is submitted in full conformance with the + provisions of BCP 78 and BCP 79. + + This document is intended to have standards-track status. + Distribution of this memo is unlimited. + +Terminology + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL + NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", + "MAY", and "OPTIONAL" in this document are to be interpreted as + described in BCP 14 [RFC2119] [RFC8174] when, and only when, they + appear in all capitals, as shown here. + + HITL Primitive + A standardized mechanism that enables human oversight and + intervention in AI agent decision-making processes + + Approval Workflow + A structured process that requires explicit human consent + before an agent action is executed + + Override Mechanism + A capability that allows humans to modify, halt, or redirect + agent decisions in real-time + + Explainability Interface + A standardized method for agents to provide transparency into + their reasoning and decision-making processes + + Human Oversight + The structured involvement of human operators in monitoring, + approving, or modifying AI agent actions + + Decision Point + A moment in agent execution where human intervention may be + required or beneficial + + Intervention Trigger + A condition or threshold that activates human-in-the-loop + mechanisms + + +Table of Contents + + 1. Introduction ................................................ 3 + 2. Terminology ................................................. 4 + 3. Problem Statement ........................................... 5 + 4. HITL Primitive Framework .................................... 6 + 5. Approval Workflow Primitives ................................ 7 + 6. Override and Intervention Primitives ........................ 8 + 7. Explainability and Transparency Primitives .................. 9 + 8. Integration with Agent Architectures ........................ 10 + 9. Security Considerations ..................................... 11 + 10. IANA Considerations ......................................... 12 + 11. References .................................................. 13 + +1. Introduction + + The rapid advancement and deployment of AI agents in critical + network operations and infrastructure management has created an + urgent need for standardized human oversight mechanisms. As + documented in [draft-cui-nmrg-llm-nm] and [draft-irtf-nmrg-llm- + nm], AI agents are increasingly being deployed for network + management tasks that were traditionally performed by human + operators. However, the current landscape of AI agent systems + lacks consistent and interoperable Human-in-the-Loop (HITL) + mechanisms, creating significant risks for organizations that + require human accountability and oversight in their autonomous + systems. + + Current AI agent deployments typically implement ad-hoc or + proprietary mechanisms for human oversight, if any oversight + mechanisms exist at all. This inconsistency creates several + critical problems: organizations cannot easily integrate HITL + capabilities across different agent systems, human operators lack + standardized interfaces for agent oversight, and regulatory + compliance becomes difficult to achieve and demonstrate. The + absence of standardized HITL primitives means that each agent + implementation must create its own oversight mechanisms, leading + to fragmented approaches that cannot interoperate and may have + significant security or reliability gaps. + + The risks of uncontrolled autonomous operation are particularly + acute in regulated environments such as financial services, + healthcare, and critical infrastructure, where human oversight is + often legally mandated. When AI agents operate without appropriate + human safeguards, organizations face potential regulatory + violations, liability issues, and operational failures that could + have been prevented through proper human oversight. Furthermore, + the lack of standardized explainability interfaces means that + human operators often cannot understand or validate agent + decisions, undermining the effectiveness of any oversight + mechanisms that do exist. + + This document addresses these challenges by defining a + comprehensive framework of HITL primitives that can be integrated + with existing agent architectures in a protocol-agnostic manner. + The framework builds upon established patterns from OAuth 2.0 + [RFC6749] and JSON Web Tokens [RFC7519] to provide standardized + mechanisms for approval workflows, override capabilities, and + explainability interfaces. These primitives are designed to ensure + that human oversight can be consistently implemented and enforced + across different AI agent systems while maintaining the + operational efficiency benefits of autonomous operation. + + The HITL primitive framework specified in this document enables + organizations to deploy AI agents with appropriate human + safeguards that meet regulatory requirements and organizational + policies. By standardizing these mechanisms, the framework + facilitates interoperability between different agent systems and + provides a foundation for secure, accountable autonomous + operations. The primitives are designed to be composable and + configurable, allowing organizations to implement the level of + human oversight appropriate for their specific use cases and risk + tolerance. + +2. Terminology + + This document uses terminology consistent with [RFC2119] and + [RFC8174] when describing requirement levels. The key words + "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", + "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and + "OPTIONAL" in this document are to be interpreted as described in + BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all + capitals, as shown here. + + HITL Primitive refers to a standardized, composable mechanism that + enables structured human oversight and intervention in AI agent + decision-making processes. These primitives serve as the + fundamental building blocks for implementing human control over + autonomous systems and can be combined to create comprehensive + oversight frameworks tailored to specific operational + requirements. + + Approval Workflow defines a structured process that requires + explicit human consent before an agent action is executed. As + described in [draft-cui-nmrg-llm-nm] and [draft-irtf-nmrg-llm-nm], + these workflows enforce human control over automated actions by + creating mandatory checkpoints where agent decisions must receive + human validation. Approval workflows include mechanisms for + request formatting, response handling, timeout management, and + escalation procedures. + + Override Mechanism encompasses capabilities that allow humans to + modify, halt, or redirect agent decisions in real-time, both + during the decision-making process and after initial action has + begun. These mechanisms provide emergency intervention + capabilities and enable humans to maintain ultimate control over + agent behavior, even when agents are operating with significant + autonomy. + + Explainability Interface represents a standardized method for + agents to provide transparency into their reasoning and decision- + making processes. These interfaces enable informed human oversight + by presenting agent logic, data sources, confidence levels, and + decision rationale in human-comprehensible formats. The + explainability interface is essential for meaningful human + participation in approval workflows and override decisions. + + Human Oversight denotes the structured involvement of human + operators in monitoring, approving, or modifying AI agent actions. + This encompasses both proactive oversight through approval + workflows and reactive oversight through monitoring and + intervention capabilities. Human oversight requirements may be + specified through structured claims and validation patterns as + referenced in authorization frameworks [RFC6749] [RFC7519]. + + Decision Point identifies a specific moment in agent execution + where human intervention may be required, beneficial, or + optionally available. Decision points are defined based on action + criticality, risk assessment, regulatory requirements, or + organizational policy. Each decision point specifies the type of + human involvement required and the mechanisms through which such + involvement occurs. + + Intervention Trigger describes a condition, threshold, or event + that automatically activates human-in-the-loop mechanisms. + Triggers may be based on risk scores, confidence levels, + environmental changes, error conditions, or explicit policy rules. + When activated, intervention triggers initiate appropriate HITL + primitives to ensure human involvement in agent decision-making + processes. + +3. Problem Statement + + As AI agents become increasingly prevalent in critical network + infrastructure and operational environments, they are often + deployed with varying degrees of autonomy and inconsistent + mechanisms for human oversight. Current agent implementations + typically rely on ad-hoc or proprietary methods for human + intervention, ranging from simple logging systems to custom + approval interfaces that lack standardization across platforms and + vendors. This fragmentation creates significant challenges for + organizations attempting to maintain consistent oversight policies + across heterogeneous agent deployments, particularly in regulated + environments where human accountability is not merely preferred + but legally mandated. + + The absence of standardized Human-in-the-Loop (HITL) mechanisms + leads to several critical problems in autonomous agent deployment. + Without consistent approval workflows, agents may execute high- + impact actions without appropriate human review, potentially + causing unintended consequences in production systems. The lack of + standardized override mechanisms means that human operators cannot + reliably intervene when agents begin executing problematic + decisions, creating situations where autonomous systems continue + operating beyond safe parameters. Furthermore, the absence of + explainability interfaces prevents operators from understanding + agent reasoning, making it impossible to provide informed + oversight or learn from agent behavior patterns. These gaps are + particularly problematic in network management contexts, as + highlighted in [DRAFT-CUI-NMRG-LLM-NM] and [DRAFT-IRTF-NMRG-LLM- + NM], where LLM-generated network decisions require structured + human validation before execution. + + The consequences of uncontrolled autonomous operation extend + beyond immediate operational risks to encompass regulatory + compliance and accountability challenges. In many jurisdictions, + regulations require that critical decisions affecting network + infrastructure, user data, or service availability maintain clear + chains of human responsibility. Current agent systems often + operate as "black boxes" where the decision-making process is + opaque to human oversight, making it difficult or impossible to + demonstrate compliance with regulatory requirements. This opacity + also hinders incident response and post-mortem analysis, as + operators cannot determine why an agent made specific decisions or + identify patterns that might prevent future issues. + + The need for human accountability in AI agent systems is further + complicated by the temporal aspects of autonomous operation. + Unlike traditional software systems that execute predetermined + logic, AI agents make dynamic decisions based on environmental + conditions and learned behaviors that may not be fully predictable + at deployment time. This unpredictability necessitates real-time + human oversight capabilities that can adapt to emerging + situations. However, without standardized primitives for human + intervention, organizations resort to crude mechanisms such as + complete system shutdown or manual takeover, which eliminate the + benefits of autonomous operation while failing to provide granular + control over agent behavior. + + The lack of interoperability between different HITL + implementations creates additional operational burden and security + risks. Organizations deploying multiple agent systems must + maintain separate oversight interfaces and procedures for each + platform, increasing complexity and the likelihood of human error. + This fragmentation also prevents the development of unified + oversight dashboards and centralized approval workflows that could + improve operational efficiency while maintaining appropriate human + control. The security implications are equally concerning, as non- + standardized override mechanisms may lack proper authentication, + authorization, and audit capabilities, potentially enabling + unauthorized intervention in autonomous systems. + +4. HITL Primitive Framework + + This document defines a framework of Human-in-the-Loop (HITL) + primitives that provide standardized mechanisms for human + oversight of AI agent systems. The framework establishes three + core primitive categories that work together to ensure appropriate + human control over autonomous operations while maintaining + operational efficiency. These primitives are designed to be + protocol-agnostic and can be integrated with existing agent + architectures regardless of the underlying communication protocols + or decision-making systems. + + The HITL primitive framework operates on the principle that human + oversight requirements vary based on context, risk level, and + regulatory constraints. Each primitive category addresses a + specific aspect of human-agent interaction: approval workflows + ensure human consent for critical actions, override mechanisms + provide real-time intervention capabilities, and explainability + interfaces enable informed human decision-making. The framework + defines standardized interfaces and message formats that allow + these primitives to be composed into comprehensive oversight + systems tailored to specific operational requirements. + + At the architectural level, HITL primitives integrate with agent + systems through well-defined decision points where human + intervention may be required. These decision points are identified + during agent operation based on configurable triggers such as risk + thresholds, regulatory requirements, or operational policies. When + a decision point is reached, the appropriate HITL primitive is + activated, temporarily suspending autonomous operation until human + oversight is satisfied. This approach ensures that human oversight + requirements, as referenced in [draft-cui-nmrg-llm-nm] for network + management scenarios, can be consistently enforced across diverse + agent deployments. + + The framework establishes a common message structure for all HITL + primitives that includes essential metadata such as agent + identity, decision context, timestamp, and urgency level. This + standardized approach enables interoperability between different + agent systems and human oversight tools while providing the + flexibility to extend primitives for domain-specific requirements. + The message structure follows JSON formatting conventions per + [RFC8259] and incorporates security considerations including + authentication tokens and integrity protection mechanisms as + specified in [RFC7519] and [RFC8446]. + + Implementation of HITL primitives MUST ensure that human oversight + mechanisms cannot be bypassed or manipulated by agent systems. The + framework requires that primitive activation be deterministic and + based on verifiable conditions, preventing agents from selectively + avoiding human oversight. Additionally, all HITL interactions MUST + be logged with sufficient detail to support audit requirements and + accountability frameworks. This logging requirement supports the + human oversight validation patterns needed for authorization + systems and ensures compliance with regulatory oversight mandates. + +5. Approval Workflow Primitives + + Approval workflow primitives provide standardized mechanisms for + requiring explicit human consent before AI agents execute specific + actions. These primitives establish a structured framework where + agents identify decision points that require human oversight, + format approval requests with sufficient context for human + evaluation, and await explicit authorization before proceeding. + The approval workflow primitive ensures that critical or high-risk + agent actions cannot be executed without human validation, + maintaining human authority over autonomous systems while + preserving operational efficiency through selective intervention + points. + + The core approval request structure MUST include the proposed + action description, associated risk assessment, relevant context + for human evaluation, and expected execution timeline. Each + approval request MUST be uniquely identified and include + sufficient information for a human operator to make an informed + decision. The request format SHOULD follow structured data + conventions as defined in [RFC8259] to ensure consistent parsing + and presentation across different human interface systems. Agents + MUST provide clear rationale for why the action requires approval + and include any relevant alternative options that humans may + consider during the evaluation process. + + Human responses to approval requests MUST use standardized + response codes that clearly indicate approval, denial, or + modification instructions. Approved actions receive an explicit + authorization token that agents MUST validate before execution, + ensuring that only genuinely authorized actions proceed. Denied + requests MUST include human feedback when possible to enable agent + learning and improved future decision-making. The response format + SHOULD accommodate conditional approvals where humans specify + constraints or modifications to the proposed action while still + granting execution authority. + + Timeout handling mechanisms are critical components of approval + workflow primitives to prevent system deadlock when human + operators are unavailable. Agents MUST implement configurable + timeout periods appropriate to the urgency and criticality of the + requested action, with default behavior clearly specified for + timeout scenarios. When approval requests exceed timeout + thresholds, agents SHOULD implement fallback strategies such as + escalation to alternate human operators, execution of safe default + actions, or graceful degradation of service. The timeout + configuration SHOULD be contextually aware, allowing shorter + timeouts for routine operations and longer timeouts for complex + decisions requiring thorough human evaluation. + + Integration with authentication and authorization systems ensures + that approval responses originate from authorized human operators + with appropriate privileges for the requested action type. The + approval workflow primitive SHOULD leverage existing identity + frameworks such as those defined in [RFC6749] and [RFC7519] to + validate human operator credentials and maintain audit trails of + approval decisions. This integration enables fine-grained access + control where different categories of actions require approval + from operators with specific roles or clearance levels, supporting + organizational hierarchy and responsibility structures within + human-agent collaborative systems. + +6. Override and Intervention Primitives + + Override and intervention primitives provide real-time mechanisms + that allow human operators to modify, halt, or redirect agent + decisions during execution. These primitives are essential for + maintaining human control over autonomous systems, particularly in + situations where agent decisions may lead to undesirable outcomes + or where dynamic conditions require human judgment. The override + mechanisms MUST be designed to operate with minimal latency to + ensure timely human intervention when required. + + The core override primitive consists of three fundamental + operations: halt, modify, and redirect. The halt operation + immediately stops agent execution and places the system in a safe + state, while the modify operation allows humans to adjust specific + parameters or constraints of the current agent decision. The + redirect operation enables complete substitution of the agent's + proposed action with a human-specified alternative. Each override + operation MUST include authentication credentials as defined in + [RFC6749] and SHOULD provide a reason code indicating the basis + for intervention. Override requests MUST be processed + synchronously when possible, with acknowledgment timeouts not + exceeding implementation-defined thresholds. + + Emergency stop procedures represent a specialized category of + override primitives designed for critical situations requiring + immediate agent termination. These procedures MUST bypass normal + approval workflows and provide direct, low-latency mechanisms for + halting agent operations. Emergency stops SHOULD be implemented + through multiple redundant channels to ensure reliability, and + MUST trigger immediate notification to designated human + supervisors. The emergency stop primitive MUST include safeguards + to prevent accidental activation while ensuring accessibility + during genuine emergencies. + + Decision modification interfaces enable fine-grained human + adjustment of agent decisions without complete override. These + interfaces MUST provide structured formats for specifying + modifications to agent parameters, constraints, or objectives + using JSON [RFC8259] or equivalent structured data formats. + Modification requests SHOULD include validation mechanisms to + ensure proposed changes are within acceptable operational bounds. + The agent MUST acknowledge modification requests and indicate + whether the requested changes can be accommodated within current + operational constraints. + + Real-time intervention capabilities require agents to expose + decision points where human oversight can be effectively applied. + Decision points MUST be clearly identified in agent execution + flows, with appropriate pause mechanisms that allow human + evaluation without timeout penalties. Agents SHOULD provide + context information at each decision point, including current + state, proposed actions, and confidence levels. The intervention + interface MUST support both synchronous and asynchronous human + responses, with clear timeout behaviors defined for each + interaction mode. + + Integration with agent architectures requires override primitives + to maintain compatibility with existing agent communication + protocols while providing standardized intervention interfaces. + Override mechanisms SHOULD be implemented as middleware components + that can intercept agent communications without requiring + modification to core agent logic. The primitive framework MUST + support distributed scenarios where human operators may be remote + from agent execution environments, utilizing secure communication + channels as specified in [RFC8446] for all override operations. + +7. Explainability and Transparency Primitives + + This section defines standardized interfaces that enable AI agents + to provide transparency into their reasoning and decision-making + processes. Explainability primitives are essential for enabling + informed human oversight, as humans cannot effectively supervise + agent actions without understanding the underlying rationale. + These interfaces MUST provide structured information about agent + reasoning in formats that support human comprehension and + decision-making. + + The core explainability primitive is the Reasoning Trace, which + captures the agent's decision-making process in a structured + format. A Reasoning Trace MUST include the following elements: the + initial problem or goal statement, key inputs and data sources + consulted, reasoning steps taken, alternative options considered, + confidence levels for decisions, and any uncertainty or + limitations acknowledged by the agent. This trace SHOULD be + generated in JSON format [RFC8259] to ensure machine-readable + structure while remaining human-interpretable. The trace MUST be + available before any approval workflow is initiated, allowing + humans to make informed decisions about proposed agent actions. + + Agents MUST implement a Context Explanation interface that + provides on-demand details about specific aspects of their + reasoning. This interface allows human operators to query + particular decision points, request elaboration on confidence + levels, or explore alternative approaches that were considered but + rejected. The interface SHOULD support structured queries using + predefined categories such as "data-sources", "assumptions", + "risk-factors", and "alternatives". Responses MUST be provided in + a consistent format that enables both human review and automated + analysis for audit purposes. + + The Uncertainty Declaration primitive requires agents to + explicitly communicate their confidence levels and known + limitations regarding proposed actions. Agents MUST provide + quantitative confidence scores where applicable and qualitative + uncertainty statements for aspects that cannot be numerically + assessed. This primitive is particularly critical in regulated + environments where human operators need to understand the + reliability of agent recommendations before granting approval, as + specified in human oversight requirements frameworks [draft-cui- + nmrg-llm-nm]. + + To support audit and compliance requirements, explainability + interfaces MUST generate persistent explanation records that can + be stored and retrieved for later review. These records SHOULD + include timestamps, version information for the agent making + decisions, and cryptographic signatures to ensure integrity. The + explanation data MUST be structured to support automated analysis + and pattern detection, enabling organizations to identify trends + in agent decision-making and improve oversight processes over + time. + +8. Integration with Agent Architectures + + The integration of HITL primitives with existing agent + architectures requires careful consideration of both the agent's + internal decision-making processes and the external communication + protocols used for human interaction. Agent systems MUST implement + HITL primitives as composable components that can be inserted into + the agent's execution pipeline without requiring fundamental + architectural changes. This approach ensures that existing agent + deployments can adopt human oversight mechanisms incrementally, + maintaining backward compatibility while enhancing human control + capabilities. + + Agent architectures SHOULD implement HITL primitives through a + middleware layer that intercepts agent decisions at configurable + decision points. This middleware approach allows the same HITL + mechanisms to be applied across different agent types and + execution environments. The middleware MUST support protocol- + agnostic communication, enabling human oversight through various + channels including HTTP-based APIs [RFC9110], WebSocket + connections for real-time interaction, or message-oriented + protocols. The choice of communication protocol SHOULD be + configurable to accommodate different operational environments and + human interface requirements. + + Integration with authorization frameworks presents a critical + opportunity to enforce human oversight requirements at the system + level. Agent architectures SHOULD leverage OAuth 2.0 [RFC6749] + scopes and claims to specify when human approval is required for + specific actions, building upon human oversight requirement + patterns that embed HITL constraints directly into authorization + tokens [draft-aap-oauth-profile]. This integration ensures that + human oversight requirements are enforced consistently across + distributed agent systems and cannot be bypassed by individual + agent implementations. + + For network management applications, HITL primitives MUST + integrate with existing network management protocols and + frameworks while preserving the human-in-the-loop workflows + defined for LLM-generated network management decisions [draft-cui- + nmrg-llm-nm]. Agent architectures in network domains SHOULD + implement decision checkpoints that align with critical network + operations, ensuring that configuration changes, policy updates, + and topology modifications trigger appropriate human oversight + mechanisms. The integration MUST preserve existing network + management interfaces while adding human oversight capabilities as + an additional validation layer. + + The implementation of HITL primitives SHOULD support both + synchronous and asynchronous interaction patterns to accommodate + different operational requirements and human availability + constraints. Synchronous patterns are appropriate for real-time + decision approval, while asynchronous patterns enable human + oversight in environments where immediate human response is not + feasible. Agent architectures MUST implement timeout mechanisms + and fallback behaviors for both interaction patterns, ensuring + system stability when human oversight is delayed or unavailable. + + Configuration and policy management for HITL primitives SHOULD be + externalized from agent implementations to enable dynamic + adjustment of human oversight requirements without agent + redeployment. This externalization allows organizations to adjust + human oversight policies based on operational conditions, + regulatory requirements, or agent performance metrics. The + configuration mechanism MUST support fine-grained control over + which agent decisions require human oversight, the type of + oversight required, and the specific human operators authorized to + provide oversight for different decision categories. + +9. Security Considerations + + The security of HITL primitives is paramount, as these mechanisms + represent critical control points where human authority intersects + with autonomous agent operation. Authentication and authorization + of human operators MUST be implemented using strong cryptographic + methods, with multi-factor authentication RECOMMENDED for high- + impact decision points. Human operator credentials SHOULD be + managed through established identity frameworks such as OAuth 2.0 + [RFC6749] or equivalent, with token-based authentication providing + both security and auditability. Organizations MUST implement role- + based access controls that ensure only authorized personnel can + approve specific types of agent actions, with the principle of + least privilege applied to limit human operator permissions to + necessary functions only. + + Protection against manipulation and spoofing attacks requires + robust integrity mechanisms throughout the HITL workflow. All + approval requests, human responses, and override commands MUST be + cryptographically signed to prevent tampering and ensure non- + repudiation. The system MUST validate that approval workflows + cannot be bypassed through direct agent-to-agent communication or + through exploitation of timing vulnerabilities. Particular + attention MUST be paid to preventing replay attacks where + previously valid human approvals could be reused inappropriately. + Human operators MUST be provided with sufficient context and + verification mechanisms to detect potentially malicious approval + requests that might be designed to trick humans into approving + harmful actions. + + Secure communication channels are essential for protecting HITL + interactions from eavesdropping and man-in-the-middle attacks. All + communication between agents, HITL interfaces, and human operators + MUST use transport-layer security equivalent to TLS 1.3 [RFC8446] + or stronger. The system MUST implement proper certificate + validation and SHOULD use mutual TLS authentication where + feasible. Session management for human operators MUST include + appropriate timeout mechanisms to prevent unauthorized use of + abandoned sessions, with sensitive approval workflows requiring + fresh authentication for extended operations. + + The explainability interfaces present unique security challenges, + as they must balance transparency with protection of sensitive + algorithmic details and operational information. Explanations + provided to human operators MUST be sanitized to prevent + information disclosure that could be exploited by attackers to + reverse-engineer agent decision patterns or identify system + vulnerabilities. The system MUST implement access controls that + ensure explainability information is only provided to operators + with appropriate clearance levels for the specific operational + context. Additionally, all HITL interactions MUST be logged with + tamper-evident audit trails that include cryptographic checksums + and timestamps to ensure accountability and enable post-incident + analysis while protecting sensitive operational details from + unauthorized disclosure. + +10. IANA Considerations + + This document introduces several new protocol elements and + identifiers that require standardized registration to ensure + interoperability across implementations. IANA is requested to + establish and maintain registries for HITL primitive types, + approval workflow identifiers, and standardized response codes as + specified in this section. These registries will enable consistent + implementation of human-in-the-loop mechanisms across different + agent systems and organizational boundaries. + + IANA SHALL establish a new registry titled "Human-in-the-Loop + (HITL) Primitive Types" to maintain standardized identifiers for + the core HITL mechanisms defined in this specification. The + registry MUST include entries for "approval-workflow", "override- + mechanism", and "explainability-interface" as the initial + primitive types, with additional types to be registered through + the Specification Required policy as defined in [RFC8126]. Each + registry entry MUST include the primitive type identifier, a brief + description of its function, and a reference to the defining + specification. Registration requests MUST specify how the proposed + primitive type differs from existing entries and demonstrate clear + utility for human oversight scenarios. + + A second registry titled "HITL Approval Workflow Identifiers" + SHALL be established to maintain standardized workflow patterns + for approval primitives. This registry MUST include initial + entries for common workflow types such as "single-approver", + "multi-stage-approval", "consensus-required", and "emergency- + bypass", with new workflow identifiers registered under the + Specification Required policy. Each workflow identifier entry MUST + specify the approval pattern, required participant roles, decision + criteria, and timeout handling mechanisms. This registry enables + organizations to reference standardized approval patterns while + maintaining consistency across different agent deployments. + + IANA SHALL create a "HITL Response Codes" registry to standardize + the status and error codes used in human-in-the-loop + communications as defined in Section 5 and Section 6 of this + specification. The registry MUST include standard response codes + for approval granted (200), approval denied (403), timeout + exceeded (408), override initiated (300), and explanation + requested (250), following the pattern established by HTTP status + codes in [RFC9110]. Additional response codes MAY be registered + using the Expert Review policy, with registration requests + requiring demonstration of unique semantic meaning not covered by + existing codes. The registry MUST specify the numeric code, + textual description, applicable primitive types, and any special + handling requirements for each response code to ensure consistent + interpretation across implementations. + +11. References + +11.1. Normative References + + [RFC 2119] + RFC 2119 + + [RFC 8174] + RFC 8174 + + [RFC 8446] + RFC 8446 + + [RFC 9110] + RFC 9110 + + [RFC 8259] + RFC 8259 + + [draft-rosenberg-cheq] + draft-rosenberg-cheq + +11.2. Informative References + + [RFC 6749] + RFC 6749 + + [RFC 7519] + RFC 7519 + + [draft-cui-nmrg-llm-nm] + draft-cui-nmrg-llm-nm + + [draft-irtf-nmrg-llm-nm] + draft-irtf-nmrg-llm-nm + + [draft-rosenberg-aiproto-cheq] + draft-rosenberg-aiproto-cheq + + [draft-aap-oauth-profile] + draft-aap-oauth-profile + + [draft-cowles-volt] + draft-cowles-volt + + [draft-aylward-daap-v2] + draft-aylward-daap-v2 + + +Author's Address + + Generated by IETF Draft Analyzer + Family: agent-ecosystem + 2026-03-04 diff --git a/data/reports/generated-drafts/family-summary.md b/data/reports/generated-drafts/family-summary.md new file mode 100644 index 0000000..ef695c2 --- /dev/null +++ b/data/reports/generated-drafts/family-summary.md @@ -0,0 +1,26 @@ +# Draft Family: agent-ecosystem + +## AEM: Privacy-Preserving Agent Learning Protocol for Federated Multi-Tenant Environments +- Draft: `draft-ai-agent-learning-protocol-00` +- Gap: Agent Ecosystem Model +- Sections: 10 + +## ATD: Agent Task DAG: A Framework for Directed Acyclic Graph Execution in Multi-Agent Systems +- Draft: `draft-ai-agent-task-a-00` +- Gap: Agent Task DAG +- Sections: 9 + +## HITL: Human-in-the-Loop (HITL) Primitives for AI Agent Systems +- Draft: `draft-ai-primitives-for-00` +- Gap: Human-in-the-Loop +- Sections: 10 + +## AEPB: Real-Time Agent Rollback Protocol (RARP) for Autonomous Network Operations +- Draft: `draft-ai-agent-rollback-protocol-00` +- Gap: Agent Ecosystem Protocol Bindings +- Sections: 9 + +## APAE: Agent Provenance Assurance Ecosystem (APAE) Framework +- Draft: `draft-ai-agent-provenance-assurance-ecosystem-00` +- Gap: Agent Provenance Assurance Ecosystem +- Sections: 11 diff --git a/src/ietf_analyzer/pipeline/formatter.py b/src/ietf_analyzer/pipeline/formatter.py index c0d86af..918df01 100644 --- a/src/ietf_analyzer/pipeline/formatter.py +++ b/src/ietf_analyzer/pipeline/formatter.py @@ -2,10 +2,31 @@ from __future__ import annotations +import re import textwrap from datetime import datetime, timezone, timedelta +def _strip_markdown(text: str) -> str: + """Remove markdown formatting that Claude may leak into output.""" + # Bold/italic + text = re.sub(r'\*\*\*(.+?)\*\*\*', r'\1', text) + text = re.sub(r'\*\*(.+?)\*\*', r'\1', text) + text = re.sub(r'\*(.+?)\*', r'\1', text) + text = re.sub(r'___(.+?)___', r'\1', text) + text = re.sub(r'__(.+?)__', r'\1', text) + text = re.sub(r'_(.+?)_', r'\1', text) + # Markdown headers → plain text + text = re.sub(r'^#{1,6}\s+', '', text, flags=re.MULTILINE) + # Code fences + text = re.sub(r'```\w*\n?', '', text) + # Inline code + text = re.sub(r'`([^`]+)`', r'\1', text) + # Markdown links [text](url) → text + text = re.sub(r'\[([^\]]+)\]\([^)]+\)', r'\1', text) + return text + + class DraftFormatter: @staticmethod def format_draft(outline: dict, sections: list[str], family_name: str = "") -> str: @@ -18,7 +39,7 @@ class DraftFormatter: parts.append("") parts.append("Abstract") parts.append("") - parts.append(DraftFormatter._wrap_text(outline.get("abstract", ""))) + parts.append(DraftFormatter._wrap_text(_strip_markdown(outline.get("abstract", "")))) parts.append("") parts.append(DraftFormatter._status_memo(outline)) parts.append("") @@ -48,7 +69,7 @@ class DraftFormatter: stitle = section_info.get("title", f"Section {i}") parts.append(f"{i}. {stitle}") parts.append("") - parts.append(DraftFormatter._wrap_text(section_text)) + parts.append(DraftFormatter._wrap_text(_strip_markdown(section_text))) parts.append("") # References section @@ -87,8 +108,13 @@ class DraftFormatter: title = outline["title"] lines = [] - lines.append(f"Internet-Draft{' ' * 45}{wg}") - lines.append(f"Intended status: {status:<44s}{date_str}") + # Right-align WG/date to col 72 + id_label = "Internet-Draft" + pad = max(1, 72 - len(id_label) - len(wg)) + lines.append(f"{id_label}{' ' * pad}{wg}") + is_label = f"Intended status: {status}" + pad2 = max(1, 72 - len(is_label) - len(date_str)) + lines.append(f"{is_label}{' ' * pad2}{date_str}") lines.append(f"Expires: {exp_str}") lines.append("") lines.append("")