commit 6771a4c235a15ba4ceb811fd5011e950f91257af Author: Chris Nennemann Date: Sat Feb 28 00:36:45 2026 +0100 IETF Draft Analyzer v0.1.0 — track, categorize, and rate AI/agent drafts Python CLI tool that fetches AI/agent-related Internet-Drafts from the IETF Datatracker, rates them using Claude, generates embeddings via Ollama for similarity/clustering, and produces markdown reports. Features: - Fetch drafts by keyword from Datatracker API with full text download - Batch analysis with Claude (token-optimized, responses cached in SQLite) - Embedding-based similarity search and overlap cluster detection - Reports: overview, landscape by category, overlap clusters, weekly digest - SQLite with FTS5 for full-text search across 260 tracked drafts Initial analysis of 260 drafts reveals OAuth agent auth (13 drafts) and agent gateway/collaboration (10 drafts) as the most crowded clusters, while AI safety/alignment is underserved with the highest quality scores. Co-Authored-By: Claude Opus 4.6 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..496e787 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +__pycache__/ +*.pyc +*.egg-info/ +dist/ +build/ +data/drafts.db +data/config.json +.claude/ diff --git a/data/reports/digest.md b/data/reports/digest.md new file mode 100644 index 0000000..2a7d224 --- /dev/null +++ b/data/reports/digest.md @@ -0,0 +1,28 @@ +# Weekly Digest — IETF AI/Agent Drafts +*Generated 2026-02-27 22:54 UTC — showing drafts fetched in last 30 days* + +**260 drafts** in this period + + +## Awaiting Analysis (260 drafts) + +- [draft-mw-wimse-transitive-attestation](https://datatracker.ietf.org/doc/draft-mw-wimse-transitive-attestation/) — Transitive Attestation for Sovereign Workloads: A WIMSE Profile +- [draft-luan-rtgwg-sdaf](https://datatracker.ietf.org/doc/draft-luan-rtgwg-sdaf/) — Symmetry-Driven Asynchronous Forwarding with Fast Reroute for LEO Satellite Networks (SDAF) +- [draft-templin-manet-inet-omni](https://datatracker.ietf.org/doc/draft-templin-manet-inet-omni/) — MANET Internetworking with AERO/OMNI +- [draft-kartha-grd](https://datatracker.ietf.org/doc/draft-kartha-grd/) — Geospatial Resource Discovery (GRD): Problem Statement and Conceptual Architecture +- [draft-cui-nmrg-auto-test](https://datatracker.ietf.org/doc/draft-cui-nmrg-auto-test/) — Framework and Automation Levels for AI-Assisted Network Protocol Testing +- [draft-architect-cittamarket](https://datatracker.ietf.org/doc/draft-architect-cittamarket/) — The CITTAMARKET Protocol: Decentralized AGI Identity Anchoring via Bitcoin +- [draft-jeong-opsawg-intent-based-sdv-framework](https://datatracker.ietf.org/doc/draft-jeong-opsawg-intent-based-sdv-framework/) — An Intent-Based Management Framework for Software-Defined Vehicles in Intelligent Transportation Systems +- [draft-ietf-pim-zeroconf-mcast-addr-alloc-ps](https://datatracker.ietf.org/doc/draft-ietf-pim-zeroconf-mcast-addr-alloc-ps/) — Zeroconf Multicast Address Allocation Problem Statement and Requirements +- [draft-ietf-netconf-configuration-tracing](https://datatracker.ietf.org/doc/draft-ietf-netconf-configuration-tracing/) — External Trace ID for Configuration Tracing +- [draft-ahn-nmrg-5g-security-i2nsf-framework](https://datatracker.ietf.org/doc/draft-ahn-nmrg-5g-security-i2nsf-framework/) — An Integrated Security Service System for 5G Networks using an I2NSF Framework +- [draft-yue-moq-transporting-sensing-data](https://datatracker.ietf.org/doc/draft-yue-moq-transporting-sensing-data/) — Challenges in Transporting Sensing Data with Media Over QUIC +- [draft-moreno-lisp-uberlay](https://datatracker.ietf.org/doc/draft-moreno-lisp-uberlay/) — Uberlay Interconnection of Multiple LISP overlays +- [draft-sogomonian-aiip-architecture](https://datatracker.ietf.org/doc/draft-sogomonian-aiip-architecture/) — Architecture for the Artificial Intelligence Internet Protocol (AIIP) +- [draft-pbs-sidrops-roaanycast](https://datatracker.ietf.org/doc/draft-pbs-sidrops-roaanycast/) — Route Origin Authorization (ROA) Governance for Anycasted Services with Unique Origin ASNs +- [draft-bernardos-green-isac-uc](https://datatracker.ietf.org/doc/draft-bernardos-green-isac-uc/) — Integrated Sensing and Communications (ISAC) use case for GREEN +- [draft-sogomonian-ai-uri-scheme](https://datatracker.ietf.org/doc/draft-sogomonian-ai-uri-scheme/) — AI URI Scheme +- [draft-templin-manet-inet](https://datatracker.ietf.org/doc/draft-templin-manet-inet/) — MANET Internetworking: Problem Statement and Gap Analysis +- [draft-fu-cats-flow-lb](https://datatracker.ietf.org/doc/draft-fu-cats-flow-lb/) — Flow-Level Load Balancing of Computing-Aware Traffic Steering (CATS) +- [draft-ahn-opsawg-5g-security-i2nsf-framework](https://datatracker.ietf.org/doc/draft-ahn-opsawg-5g-security-i2nsf-framework/) — An Integrated Security Service System for 5G Networks using an I2NSF Framework +- [draft-bernardos-cats-isac-uc](https://datatracker.ietf.org/doc/draft-bernardos-cats-isac-uc/) — Integrated Sensing and Communications (ISAC) for CATS \ No newline at end of file diff --git a/data/reports/draft-narvaneni-agent-uri.md b/data/reports/draft-narvaneni-agent-uri.md new file mode 100644 index 0000000..6281172 --- /dev/null +++ b/data/reports/draft-narvaneni-agent-uri.md @@ -0,0 +1,21 @@ +# The agent:// Protocol -- A URI-Based Framework for Interoperable Agents +**draft-narvaneni-agent-uri** rev 02 + +- **Date:** 2025-10-16 +- **Pages:** 29 +- **Group:** individual +- **Datatracker:** https://datatracker.ietf.org/doc/draft-narvaneni-agent-uri/ +- **Text:** https://www.ietf.org/archive/id/draft-narvaneni-agent-uri-02.txt + +## Abstract +This document defines the agent:// protocol, a URI template-based + framework as described in RFC 6570 for addressing, invoking, and + interoperating with autonomous and semi-autonomous software agents. + It introduces a layered architecture that supports minimal + implementations (addressing and transport) and extensible features + (capability discovery, contracts, orchestration). The protocol aims + to foster interoperability among agents across ecosystems, platforms, + and modalities, enabling composable and collaborative intelligent + systems. + +*Not yet rated — run `ietf analyze` to generate a rating.* \ No newline at end of file diff --git a/data/reports/landscape.md b/data/reports/landscape.md new file mode 100644 index 0000000..2e1cf96 --- /dev/null +++ b/data/reports/landscape.md @@ -0,0 +1,575 @@ +# IETF AI/Agent Draft Landscape +*Generated 2026-02-27 23:29 UTC* + + +## A2A protocols (77 drafts) + +- **[draft-guy-bary-stamp-protocol](https://datatracker.ietf.org/doc/draft-guy-bary-stamp-protocol/)** (score: 4.6) — Defines STAMP protocol for cryptographic delegation and proof in AI agent systems. Provides task-bou +- **[draft-chang-agent-token-efficient](https://datatracker.ietf.org/doc/draft-chang-agent-token-efficient/)** (score: 4.5) — Defines ADOL (Agentic Data Optimization Layer) to address token bloat in agent communication protoco +- **[draft-chen-oauth-rar-agent-extensions](https://datatracker.ietf.org/doc/draft-chen-oauth-rar-agent-extensions/)** (score: 4.2) — Extends OAuth RAR with policy_context and lifecycle_binding members for AI agent environments. Enabl +- **[draft-mallick-muacp](https://datatracker.ietf.org/doc/draft-mallick-muacp/)** (score: 4.2) — Resource-efficient messaging protocol specifically designed for constrained IoT/Edge devices with de +- **[draft-narajala-ans](https://datatracker.ietf.org/doc/draft-narajala-ans/)** (score: 4.2) — Introduces Agent Name Service (ANS) as a DNS-based universal directory for AI agent discovery and ve +- **[draft-oauth-transaction-tokens-for-agents](https://datatracker.ietf.org/doc/draft-oauth-transaction-tokens-for-agents/)** (score: 4.2) — Extends OAuth Transaction Tokens framework to support agent context propagation with actor and princ +- **[draft-zhang-dmsc-mas-communication](https://datatracker.ietf.org/doc/draft-zhang-dmsc-mas-communication/)** (score: 4.2) — Analyzes security risks in multi-agent communication and limitations of existing protocols like TLS +- **[draft-li-dmsc-macp](https://datatracker.ietf.org/doc/draft-li-dmsc-macp/)** (score: 4.2) — Specifies a comprehensive multi-agent collaboration protocol suite using Agent Gateways for registra +- **[draft-yue-anima-agent-recovery-networks](https://datatracker.ietf.org/doc/draft-yue-anima-agent-recovery-networks/)** (score: 4.1) — Defines task-oriented multi-agent framework for fault recovery in converged mobile networks. Targets +- **[draft-nederveld-adl](https://datatracker.ietf.org/doc/draft-nederveld-adl/)** (score: 4.1) — Defines ADL, a JSON-based standard for describing AI agents including their capabilities, tools, per +- **[draft-mw-spice-actor-chain](https://datatracker.ietf.org/doc/draft-mw-spice-actor-chain/)** (score: 4.1) — Extends OAuth 2.0 Token Exchange with cryptographically verifiable actor chains to provide tamper-ev +- **[draft-ietf-lisp-nexagon](https://datatracker.ietf.org/doc/draft-ietf-lisp-nexagon/)** (score: 4.0) — Combines LISP with H3 spatial indexing to create geospatial intelligence network for physical-world +- **[draft-barney-caam](https://datatracker.ietf.org/doc/draft-barney-caam/)** (score: 4.0) — Specifies Contextual Agent Authorization Mesh for runtime authorization of agents after discovery, p +- **[draft-nennemann-wimse-ect](https://datatracker.ietf.org/doc/draft-nennemann-wimse-ect/)** (score: 4.0) — Defines Execution Context Tokens as JWT extension to WIMSE for tracking task execution in distribute +- **[draft-ainp-protocol](https://datatracker.ietf.org/doc/draft-ainp-protocol/)** (score: 3.9) — Defines semantic communication protocol for AI agents using intent-based routing and negotiation. Re +- **[draft-agent-gw](https://datatracker.ietf.org/doc/draft-agent-gw/)** (score: 3.9) — Proposes an Intelligent Agent Communication Gateway for large-scale multi-agent collaboration. Featu +- **[draft-mp-agntcy-ads](https://datatracker.ietf.org/doc/draft-mp-agntcy-ads/)** (score: 3.9) — Describes Agent Directory Service for storing and discovering AI agent metadata based on skills. Fea +- **[draft-rosenberg-aiproto-cheq](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-cheq/)** (score: 3.9) — Proposes CHEQ protocol for human confirmation of AI agent decisions before execution. Protects again +- **[draft-zeng-opsawg-llm-netconf-gap](https://datatracker.ietf.org/doc/draft-zeng-opsawg-llm-netconf-gap/)** (score: 3.9) — Analyzes gaps in existing network configuration protocols for LLM-driven intent-based networking. Id +- **[draft-akhavain-moussa-ai-network](https://datatracker.ietf.org/doc/draft-akhavain-moussa-ai-network/)** (score: 3.9) — Proposes Data and Agent Aware-Inference and Training Network (DA-ITN) architecture. Comprehensive mu +- **[draft-rosenberg-aiproto-a2t](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-a2t/)** (score: 3.9) — Defines Agent-to-Tool (A2T) protocol for integrating third-party APIs into AI agent operations. Prov +- **[draft-cui-ai-agent-discovery-invocation](https://datatracker.ietf.org/doc/draft-cui-ai-agent-discovery-invocation/)** (score: 3.9) — Proposes standardized protocol for AI agent discovery and invocation with common metadata format and +- **[draft-ravikiran-clawdentity-protocol](https://datatracker.ietf.org/doc/draft-ravikiran-clawdentity-protocol/)** (score: 3.9) — Specifies Clawdentity protocol for cryptographic identity and trust in AI agent communication. Provi +- **[draft-jurkovikj-httpapi-agentic-state](https://datatracker.ietf.org/doc/draft-jurkovikj-httpapi-agentic-state/)** (score: 3.9) — Defines Agentic State Transfer (AST) HTTP profile for managing canonical resource state across multi +- **[draft-tejido-swp-core](https://datatracker.ietf.org/doc/draft-tejido-swp-core/)** (score: 3.9) — Specifies SlimWire Protocol Core, a binary framing layer for agent/tool messaging with profile-based +- **[draft-luan-rtgwg-sdaf](https://datatracker.ietf.org/doc/draft-luan-rtgwg-sdaf/)** (score: 3.8) — Proposes symmetry-driven forwarding mechanism for LEO satellite networks to avoid routing loops and +- **[draft-zhao-nmop-network-management-agent](https://datatracker.ietf.org/doc/draft-zhao-nmop-network-management-agent/)** (score: 3.8) — Defines AI-driven Network Management Agent concept for Level 4 autonomous networks. Specifies integr +- **[draft-eckert-anima-acp-free-ani](https://datatracker.ietf.org/doc/draft-eckert-anima-acp-free-ani/)** (score: 3.8) — Describes lightweight variation of Autonomic Networking Infrastructure without expensive ACP impleme +- **[draft-rosenberg-aiproto-framework](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-framework/)** (score: 3.7) — Provides framework and requirements for AI agent protocols on the Internet. Surveys existing approac +- **[draft-an-nmrg-i2icf-cits](https://datatracker.ietf.org/doc/draft-an-nmrg-i2icf-cits/)** (score: 3.7) — Defines framework for orchestrating In-Network Computing Functions in Cooperative Intelligent Transp +- **[draft-melnikov-sasl2](https://datatracker.ietf.org/doc/draft-melnikov-sasl2/)** (score: 3.7) — Updates SASL framework to support modern authentication requirements including multi-factor authenti +- **[draft-sogomonian-aiip-architecture](https://datatracker.ietf.org/doc/draft-sogomonian-aiip-architecture/)** (score: 3.7) — Defines architectural model for Artificial Intelligence Internet Protocol (AIIP) enabling stateless, +- **[draft-rosenberg-aiproto](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto/)** (score: 3.7) — Defines N-ACT protocol for AI agents to discover and invoke third-party tools and APIs. Focuses on e +- **[draft-rosenberg-aiproto-nact](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-nact/)** (score: 3.7) — Defines N-ACT protocol for AI agents to discover and invoke third-party tools and APIs. Focuses on e +- **[draft-pocero-authkem-edhoc](https://datatracker.ietf.org/doc/draft-pocero-authkem-edhoc/)** (score: 3.7) — Extends EDHOC with KEM-based authentication for post-quantum resistance. Enables signature-free quan +- **[draft-zyyhl-agent-networks-framework](https://datatracker.ietf.org/doc/draft-zyyhl-agent-networks-framework/)** (score: 3.6) — Defines comprehensive framework for AI agent networks based on Agent Network Protocol (ANP). Provide +- **[draft-kotecha-agentic-dispute-protocol](https://datatracker.ietf.org/doc/draft-kotecha-agentic-dispute-protocol/)** (score: 3.6) — Defines a protocol for autonomous agents to file and resolve disputes through structured automated p +- **[draft-mao-rtgwg-agent-comm-protocol-gap-analysis](https://datatracker.ietf.org/doc/draft-mao-rtgwg-agent-comm-protocol-gap-analysis/)** (score: 3.6) — Analyzes gaps in existing networking and AI protocols for cross-device communication between AI agen +- **[draft-zlgsgl-rtgwg-agents-networking-framework](https://datatracker.ietf.org/doc/draft-zlgsgl-rtgwg-agents-networking-framework/)** (score: 3.6) — Introduces a comprehensive agents networking framework for enterprise and broadband environments. De +- **[draft-han-rtgwg-agent-gateway-intercomm-framework](https://datatracker.ietf.org/doc/draft-han-rtgwg-agent-gateway-intercomm-framework/)** (score: 3.6) — Defines framework for intercommunication between Agent Gateways in Agent Internet ecosystem. Address +- **[draft-yang-ioa-protocol](https://datatracker.ietf.org/doc/draft-yang-ioa-protocol/)** (score: 3.6) — Defines the Internet of Agents Protocol for distributed collaboration among heterogeneous AI agents. +- **[draft-rosenberg-cheq](https://datatracker.ietf.org/doc/draft-rosenberg-cheq/)** (score: 3.6) — Proposes CHEQ protocol for human-in-the-loop confirmation of AI agent decisions before execution. Us +- **[draft-mozleywilliams-dnsop-bandaid](https://datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-bandaid/)** (score: 3.6) — Proposes using DNS with SVCB records to enable AI agent discovery and capability advertisement. Leve +- **[draft-li-semantic-routing-architecture](https://datatracker.ietf.org/doc/draft-li-semantic-routing-architecture/)** (score: 3.6) — Introduces semantic routing architecture using intent vectors and trust scores for AI agent communic +- **[draft-vandoulas-aidp](https://datatracker.ietf.org/doc/draft-vandoulas-aidp/)** (score: 3.6) — Defines a comprehensive control-plane protocol for secure agent interactions with delegation, author +- **[draft-ietf-ace-edhoc-oscore-profile](https://datatracker.ietf.org/doc/draft-ietf-ace-edhoc-oscore-profile/)** (score: 3.6) — Defines ACE framework profile using EDHOC for mutual authentication and OSCORE for secure communicat +- **[draft-liu-oauth-a2a-profile](https://datatracker.ietf.org/doc/draft-liu-oauth-a2a-profile/)** (score: 3.6) — Specifies OAuth Transaction Token profile for Agent-to-Agent communication. Embeds call chain contex +- **[draft-liu-dmsc-acps-arc](https://datatracker.ietf.org/doc/draft-liu-dmsc-acps-arc/)** (score: 3.6) — Proposes Agent Collaboration Protocols architecture for Internet of Agents, covering agent lifecycle +- **[draft-liang-agentdns](https://datatracker.ietf.org/doc/draft-liang-agentdns/)** (score: 3.5) — Proposes a DNS-inspired naming and service discovery system for LLM agents to enable autonomous disc +- **[draft-song-oauth-ai-agent-collaborate-authz](https://datatracker.ietf.org/doc/draft-song-oauth-ai-agent-collaborate-authz/)** (score: 3.5) — Proposes OAuth 2.0 extension for multi-AI agent collaboration with applier-on-behalf-of authorizatio +- **[draft-mozley-aidiscovery](https://datatracker.ietf.org/doc/draft-mozley-aidiscovery/)** (score: 3.5) — Defines requirements and considerations for AI agent-to-agent discovery mechanisms. Addresses the fu +- **[draft-wang-hjs-accountability](https://datatracker.ietf.org/doc/draft-wang-hjs-accountability/)** (score: 3.5) — Defines HJS accountability layer for AI agents using blockchain-anchored timestamps to create immuta +- **[draft-meta-layer-overview](https://datatracker.ietf.org/doc/draft-meta-layer-overview/)** (score: 3.5) — Introduces Meta-layer concept as coordination substrate for presence, annotation, and governance on +- **[draft-zhang-rvp-problem-statement](https://datatracker.ietf.org/doc/draft-zhang-rvp-problem-statement/)** (score: 3.5) — Proposes Real-Virtual Agent Protocol for coordinating physical entities with digital agents through +- **[draft-zeng-opsawg-applicability-mcp-a2a](https://datatracker.ietf.org/doc/draft-zeng-opsawg-applicability-mcp-a2a/)** (score: 3.5) — Analyzes NETCONF limitations for advanced scenarios and proposes MCP and A2A protocols as complement +- **[draft-li-dmsc-mcps-agw](https://datatracker.ietf.org/doc/draft-li-dmsc-mcps-agw/)** (score: 3.5) — Defines a protocol suite using Agent Gateways as control-plane entities for multi-agent collaboratio +- **[draft-jiang-seat-dynamic-attestation](https://datatracker.ietf.org/doc/draft-jiang-seat-dynamic-attestation/)** (score: 3.4) — Defines dynamic attestation mechanisms for AI agents to convey runtime posture changes during long-l +- **[draft-romanchuk-normative-admissibility](https://datatracker.ietf.org/doc/draft-romanchuk-normative-admissibility/)** (score: 3.4) — Establishes a framework for evaluating whether autonomous agent speech acts are admissible based on +- **[draft-yan-a2a-device-agent-applicability](https://datatracker.ietf.org/doc/draft-yan-a2a-device-agent-applicability/)** (score: 3.4) — Discusses applying Agent-to-Agent (A2A) Protocol to network management for communication between Con +- **[draft-stephan-ai-agent-6g](https://datatracker.ietf.org/doc/draft-stephan-ai-agent-6g/)** (score: 3.4) — Examines AI agent communication protocols specifically for 6G systems based on 3GPP requirements. Ex +- **[draft-cosmos-protocol-specification](https://datatracker.ietf.org/doc/draft-cosmos-protocol-specification/)** (score: 3.3) — Defines comprehensive badge-based identity and communication system with trust scoring, post-quantum +- **[draft-sz-dmsc-iaip](https://datatracker.ietf.org/doc/draft-sz-dmsc-iaip/)** (score: 3.3) — Defines Intent-based Agent Interconnection Protocol (IAIP) for dynamic agent discovery and routing a +- **[draft-liu-rtgwg-agent-gateway-requirements](https://datatracker.ietf.org/doc/draft-liu-rtgwg-agent-gateway-requirements/)** (score: 3.2) — Discusses requirements for Agent Gateways in agent-to-agent communications to improve scalability, e +- **[draft-pioli-agent-discovery](https://datatracker.ietf.org/doc/draft-pioli-agent-discovery/)** (score: 3.2) — Specifies ARDP, a lightweight protocol for agent registration and discovery in distributed environme +- **[draft-gaikwad-woa](https://datatracker.ietf.org/doc/draft-gaikwad-woa/)** (score: 3.2) — Specifies Web of Agents (WoA) format using JSON Schema to describe AI agent inputs/outputs served fr +- **[draft-mao-rtgwg-apn-framework-for-ioa](https://datatracker.ietf.org/doc/draft-mao-rtgwg-apn-framework-for-ioa/)** (score: 3.2) — Applies Application-aware Performance Network framework to Internet of Agents scenario. Addresses ne +- **[draft-zhang-dmsc-ioa-semantic-interaction](https://datatracker.ietf.org/doc/draft-zhang-dmsc-ioa-semantic-interaction/)** (score: 3.2) — Specifies a semantic layer for Internet of Agents using ontology models and JSON-LD serialization. D +- **[draft-sun-zhang-iaip](https://datatracker.ietf.org/doc/draft-sun-zhang-iaip/)** (score: 3.2) — Defines Intent-based Agent Interconnection Protocol for Agent Gateways, focusing on semantic intent +- **[draft-yao-agent-auth-considerations](https://datatracker.ietf.org/doc/draft-yao-agent-auth-considerations/)** (score: 3.1) — Extends OAuth model for AI agent authentication and authorization in Agent Communication Networks. P +- **[draft-li-dmsc-inf-architecture](https://datatracker.ietf.org/doc/draft-li-dmsc-inf-architecture/)** (score: 3.1) — Proposes a network infrastructure architecture for large-scale multi-agent collaboration. Focuses on +- **[draft-a2a-moqt-transport](https://datatracker.ietf.org/doc/draft-a2a-moqt-transport/)** (score: 3.1) — Specifies transport of Agent-to-Agent protocol over Media over QUIC Transport. Leverages MOQT's publ +- **[draft-nandakumar-a2a-moqt-transport](https://datatracker.ietf.org/doc/draft-nandakumar-a2a-moqt-transport/)** (score: 3.0) — Identical specification to draft-a2a-moqt-transport for transporting Agent-to-Agent protocol over MO +- **[draft-hong-nmrg-agenticai-ps](https://datatracker.ietf.org/doc/draft-hong-nmrg-agenticai-ps/)** (score: 3.0) — Presents problem statement and motivations for applying Agentic AI to network management. Emphasizes +- **[draft-fu-nmop-agent-communication-framework](https://datatracker.ietf.org/doc/draft-fu-nmop-agent-communication-framework/)** (score: 3.0) — Proposes a multi-agent communication framework for network AIOps with AI gateway, Agent Name Service +- **[draft-cui-dmsc-agent-cdi](https://datatracker.ietf.org/doc/draft-cui-dmsc-agent-cdi/)** (score: 3.0) — Defines comprehensive framework for cross-domain AI agent interoperability including identity federa +- **[draft-yang-dmsc-ioa-task-protocol](https://datatracker.ietf.org/doc/draft-yang-dmsc-ioa-task-protocol/)** (score: 3.0) — Defines a protocol for distributed collaboration among heterogeneous AI agents, enabling dynamic tea +- **[draft-ramakrishna-satp-data-sharing](https://datatracker.ietf.org/doc/draft-ramakrishna-satp-data-sharing/)** (score: 2.9) — Defines a DLT-neutral protocol for sharing asset views and metadata across blockchain networks via g + +## AI safety / guardrails / alignment (1 drafts) + +- **[draft-chen-agent-decoupled-authorization-model](https://datatracker.ietf.org/doc/draft-chen-agent-decoupled-authorization-model/)** (score: 3.5) — This draft proposes a decoupled authorization framework for AI agents that enables dynamic, intent-b + +## AI safety/alignment (35 drafts) + +- **[draft-aylward-daap-v2](https://datatracker.ietf.org/doc/draft-aylward-daap-v2/)** (score: 4.8) — Defines comprehensive protocol for AI agent accountability including authentication, monitoring, and +- **[draft-guy-bary-stamp-protocol](https://datatracker.ietf.org/doc/draft-guy-bary-stamp-protocol/)** (score: 4.6) — Defines STAMP protocol for cryptographic delegation and proof in AI agent systems. Provides task-bou +- **[draft-drake-email-tpm-attestation](https://datatracker.ietf.org/doc/draft-drake-email-tpm-attestation/)** (score: 4.6) — Defines hardware attestation for email using TPM verification chains to prevent spam and provide Syb +- **[draft-goswami-agentic-jwt](https://datatracker.ietf.org/doc/draft-goswami-agentic-jwt/)** (score: 4.5) — Extends OAuth 2.0 with Agentic JWT to address authorization challenges in autonomous AI systems. Int +- **[draft-birkholz-verifiable-agent-conversations](https://datatracker.ietf.org/doc/draft-birkholz-verifiable-agent-conversations/)** (score: 4.5) — Defines CDDL-based data format for verifiable agent conversation records using COSE signing. Support +- **[draft-aylward-aiga-2](https://datatracker.ietf.org/doc/draft-aylward-aiga-2/)** (score: 4.5) — Comprehensive AI governance framework with tiered risk model, federated authority network, and econo +- **[draft-mw-wimse-transitive-attestation](https://datatracker.ietf.org/doc/draft-mw-wimse-transitive-attestation/)** (score: 4.3) — Defines WIMSE profile for cryptographically binding workload identities to their execution environme +- **[draft-aylward-aiga-1](https://datatracker.ietf.org/doc/draft-aylward-aiga-1/)** (score: 4.2) — Specifies AI Governance and Accountability Protocol with tiered risk-based governance model. Include +- **[draft-aap-oauth-profile](https://datatracker.ietf.org/doc/draft-aap-oauth-profile/)** (score: 4.2) — Defines an OAuth 2.0 authorization profile specifically for autonomous AI agents, extending existing +- **[draft-zhang-dmsc-mas-communication](https://datatracker.ietf.org/doc/draft-zhang-dmsc-mas-communication/)** (score: 4.2) — Analyzes security risks in multi-agent communication and limitations of existing protocols like TLS +- **[draft-jewell-aibdp](https://datatracker.ietf.org/doc/draft-jewell-aibdp/)** (score: 4.2) — Defines AI Boundary Declaration Protocol for expressing content usage boundaries for AI systems. Pro +- **[draft-liu-agent-operation-authorization](https://datatracker.ietf.org/doc/draft-liu-agent-operation-authorization/)** (score: 4.1) — Specifies framework for verifiable delegation of actions from humans to AI agents using JWT tokens. +- **[draft-cui-nmrg-llm-nm](https://datatracker.ietf.org/doc/draft-cui-nmrg-llm-nm/)** (score: 4.1) — Defines framework for collaborative network management between LLM agents and human operators. Intro +- **[draft-schulze-ecap](https://datatracker.ietf.org/doc/draft-schulze-ecap/)** (score: 4.1) — ECAP defines a cryptographically-verified protocol for web crawlers to obtain consent from hosts bef +- **[draft-mw-spice-actor-chain](https://datatracker.ietf.org/doc/draft-mw-spice-actor-chain/)** (score: 4.1) — Extends OAuth 2.0 Token Exchange with cryptographically verifiable actor chains to provide tamper-ev +- **[draft-barney-caam](https://datatracker.ietf.org/doc/draft-barney-caam/)** (score: 4.0) — Specifies Contextual Agent Authorization Mesh for runtime authorization of agents after discovery, p +- **[draft-rosenberg-aiproto-cheq](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-cheq/)** (score: 3.9) — Proposes CHEQ protocol for human confirmation of AI agent decisions before execution. Protects again +- **[draft-berlinai-vera](https://datatracker.ietf.org/doc/draft-berlinai-vera/)** (score: 3.9) — Introduces VERA, a zero-trust architecture for AI agent security with five enforcement pillars and c +- **[draft-chen-ai-agent-auth-new-requirements](https://datatracker.ietf.org/doc/draft-chen-ai-agent-auth-new-requirements/)** (score: 3.8) — Identifies new authentication and authorization requirements for AI agents that go beyond traditiona +- **[draft-ni-a2a-ai-agent-security-requirements](https://datatracker.ietf.org/doc/draft-ni-a2a-ai-agent-security-requirements/)** (score: 3.7) — Establishes security requirements for AI agents across their operational lifecycle. Covers provision +- **[draft-kotecha-agentic-dispute-protocol](https://datatracker.ietf.org/doc/draft-kotecha-agentic-dispute-protocol/)** (score: 3.6) — Defines a protocol for autonomous agents to file and resolve disputes through structured automated p +- **[draft-rosenberg-oauth-aauth](https://datatracker.ietf.org/doc/draft-rosenberg-oauth-aauth/)** (score: 3.6) — Extends OAuth 2.1 for AI agents operating through PSTN/SMS channels to obtain access tokens using PI +- **[draft-rosenberg-cheq](https://datatracker.ietf.org/doc/draft-rosenberg-cheq/)** (score: 3.6) — Proposes CHEQ protocol for human-in-the-loop confirmation of AI agent decisions before execution. Us +- **[draft-messous-eat-ai](https://datatracker.ietf.org/doc/draft-messous-eat-ai/)** (score: 3.6) — Defines an Entity Attestation Token profile for remote attestation of autonomous AI agents, specifyi +- **[draft-wang-hjs-accountability](https://datatracker.ietf.org/doc/draft-wang-hjs-accountability/)** (score: 3.5) — Defines HJS accountability layer for AI agents using blockchain-anchored timestamps to create immuta +- **[draft-ietf-sml-trust](https://datatracker.ietf.org/doc/draft-ietf-sml-trust/)** (score: 3.5) — Provides trust and security recommendations for handling structured data in email messages. Addresse +- **[draft-yuan-rtgwg-security-agent-usecase](https://datatracker.ietf.org/doc/draft-yuan-rtgwg-security-agent-usecase/)** (score: 3.4) — Proposes AI Network Security Agents for routers to provide intelligent, adaptive security capabiliti +- **[draft-huang-rats-agentic-eat-cap-attest](https://datatracker.ietf.org/doc/draft-huang-rats-agentic-eat-cap-attest/)** (score: 3.4) — Extends Entity Attestation Token (EAT) to support capability attestation for agentic AI systems. Ena +- **[draft-jiang-seat-dynamic-attestation](https://datatracker.ietf.org/doc/draft-jiang-seat-dynamic-attestation/)** (score: 3.4) — Defines dynamic attestation mechanisms for AI agents to convey runtime posture changes during long-l +- **[draft-romanchuk-normative-admissibility](https://datatracker.ietf.org/doc/draft-romanchuk-normative-admissibility/)** (score: 3.4) — Establishes a framework for evaluating whether autonomous agent speech acts are admissible based on +- **[draft-diaconu-agents-authz-info-sharing](https://datatracker.ietf.org/doc/draft-diaconu-agents-authz-info-sharing/)** (score: 3.2) — Addresses authorization challenges in distributed multi-agent systems across multiple domains. Cover +- **[draft-kale-agntcy-federated-privacy](https://datatracker.ietf.org/doc/draft-kale-agntcy-federated-privacy/)** (score: 3.2) — Specifies architecture for privacy-preserving federated learning across multi-tenant AI agent system +- **[draft-mvieuille-kerpass-ephemsec](https://datatracker.ietf.org/doc/draft-mvieuille-kerpass-ephemsec/)** (score: 3.1) — Specifies EPHEMSEC algorithm for generating one-time passwords using public key cryptography instead +- **[draft-contario-totp-secure-enrollment](https://datatracker.ietf.org/doc/draft-contario-totp-secure-enrollment/)** (score: 3.1) — Extends TOTP enrollment to prevent key compromise through QR code capture or key persistence in exte +- **[draft-architect-cittamarket](https://datatracker.ietf.org/doc/draft-architect-cittamarket/)** (score: 3.1) — Specifies protocol for immutable AGI system identification using Bitcoin blockchain anchoring. Defin + +## Agent discovery / registration (9 drafts) + +- **[draft-nandakumar-agent-sd-jwt](https://datatracker.ietf.org/doc/draft-nandakumar-agent-sd-jwt/)** (score: 3.9) — This draft defines SD-Card, a Selective Disclosure JWT encoding of Agent Cards that enables privacy- +- **[draft-wahl-scim-agent-schema](https://datatracker.ietf.org/doc/draft-wahl-scim-agent-schema/)** (score: 3.9) — This draft extends the SCIM (System for Cross-domain Identity Management) protocol to support AI age +- **[draft-huang-acme-scalable-agent-enrollment](https://datatracker.ietf.org/doc/draft-huang-acme-scalable-agent-enrollment/)** (score: 3.5) — This draft proposes two scalable models for certificate enrollment of AI agents: one using Zero-Know +- **[draft-zheng-dispatch-agent-identity-management](https://datatracker.ietf.org/doc/draft-zheng-dispatch-agent-identity-management/)** (score: 3.3) — This draft proposes an identity management framework for agents in an Internet of Agents (IOA) syste +- **[draft-narvaneni-agent-uri](https://datatracker.ietf.org/doc/draft-narvaneni-agent-uri/)** (score: 3.3) — This draft defines the agent:// URI scheme for addressing and interoperating with software agents ac +- **[draft-hw-ai-agent-6g](https://datatracker.ietf.org/doc/draft-hw-ai-agent-6g/)** (score: 3.1) — This draft analyzes requirements for agent protocols specifically tailored to 6G mobile networks, ex +- **[draft-cui-ai-agent-task](https://datatracker.ietf.org/doc/draft-cui-ai-agent-task/)** (score: 3.0) — This draft proposes requirements for standardized AI agent protocols to enable task-oriented coordin +- **[draft-yl-agent-id-requirements](https://datatracker.ietf.org/doc/draft-yl-agent-id-requirements/)** (score: 2.9) — This draft proposes requirements for digital identity management in AI agent communication protocols +- **[draft-wang-nmrg-magent-im](https://datatracker.ietf.org/doc/draft-wang-nmrg-magent-im/)** (score: 2.9) — This draft proposes a protocol-agnostic data model for multi-agent communication in autonomous netwo + +## Agent discovery/reg (50 drafts) + +- **[draft-narajala-ans](https://datatracker.ietf.org/doc/draft-narajala-ans/)** (score: 4.2) — Introduces Agent Name Service (ANS) as a DNS-based universal directory for AI agent discovery and ve +- **[draft-li-dmsc-macp](https://datatracker.ietf.org/doc/draft-li-dmsc-macp/)** (score: 4.2) — Specifies a comprehensive multi-agent collaboration protocol suite using Agent Gateways for registra +- **[draft-cui-dns-native-agent-naming-resolution](https://datatracker.ietf.org/doc/draft-cui-dns-native-agent-naming-resolution/)** (score: 4.1) — Specifies DNS-native naming and resolution for AI agents using FQDNs and SVCB records. Emphasizes DN +- **[draft-nederveld-adl](https://datatracker.ietf.org/doc/draft-nederveld-adl/)** (score: 4.1) — Defines ADL, a JSON-based standard for describing AI agents including their capabilities, tools, per +- **[draft-ainp-protocol](https://datatracker.ietf.org/doc/draft-ainp-protocol/)** (score: 3.9) — Defines semantic communication protocol for AI agents using intent-based routing and negotiation. Re +- **[draft-ietf-lake-authz](https://datatracker.ietf.org/doc/draft-ietf-lake-authz/)** (score: 3.9) — Specifies lightweight authorization using EDHOC for zero-touch device onboarding. Enables secure enr +- **[draft-agent-gw](https://datatracker.ietf.org/doc/draft-agent-gw/)** (score: 3.9) — Proposes an Intelligent Agent Communication Gateway for large-scale multi-agent collaboration. Featu +- **[draft-mp-agntcy-ads](https://datatracker.ietf.org/doc/draft-mp-agntcy-ads/)** (score: 3.9) — Describes Agent Directory Service for storing and discovering AI agent metadata based on skills. Fea +- **[draft-rosenberg-aiproto-a2t](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-a2t/)** (score: 3.9) — Defines Agent-to-Tool (A2T) protocol for integrating third-party APIs into AI agent operations. Prov +- **[draft-cui-ai-agent-discovery-invocation](https://datatracker.ietf.org/doc/draft-cui-ai-agent-discovery-invocation/)** (score: 3.9) — Proposes standardized protocol for AI agent discovery and invocation with common metadata format and +- **[draft-sogomonian-ai-uri-scheme](https://datatracker.ietf.org/doc/draft-sogomonian-ai-uri-scheme/)** (score: 3.8) — Defines experimental AI URI scheme for dedicated AI resource access. Enables native connectivity for +- **[draft-abbey-scim-agent-extension](https://datatracker.ietf.org/doc/draft-abbey-scim-agent-extension/)** (score: 3.8) — Extends SCIM 2.0 protocol to manage AI agents and agentic applications across domains. Adds new sche +- **[draft-eckert-anima-acp-free-ani](https://datatracker.ietf.org/doc/draft-eckert-anima-acp-free-ani/)** (score: 3.8) — Describes lightweight variation of Autonomic Networking Infrastructure without expensive ACP impleme +- **[draft-zheng-agent-identity-management](https://datatracker.ietf.org/doc/draft-zheng-agent-identity-management/)** (score: 3.7) — Defines comprehensive agent identity management for Internet of Agents systems. Covers agent registr +- **[draft-an-nmrg-i2icf-cits](https://datatracker.ietf.org/doc/draft-an-nmrg-i2icf-cits/)** (score: 3.7) — Defines framework for orchestrating In-Network Computing Functions in Cooperative Intelligent Transp +- **[draft-rosenberg-aiproto](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto/)** (score: 3.7) — Defines N-ACT protocol for AI agents to discover and invoke third-party tools and APIs. Focuses on e +- **[draft-rosenberg-aiproto-nact](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-nact/)** (score: 3.7) — Defines N-ACT protocol for AI agents to discover and invoke third-party tools and APIs. Focuses on e +- **[draft-zyyhl-agent-networks-framework](https://datatracker.ietf.org/doc/draft-zyyhl-agent-networks-framework/)** (score: 3.6) — Defines comprehensive framework for AI agent networks based on Agent Network Protocol (ANP). Provide +- **[draft-zlgsgl-rtgwg-agents-networking-framework](https://datatracker.ietf.org/doc/draft-zlgsgl-rtgwg-agents-networking-framework/)** (score: 3.6) — Introduces a comprehensive agents networking framework for enterprise and broadband environments. De +- **[draft-han-rtgwg-agent-gateway-intercomm-framework](https://datatracker.ietf.org/doc/draft-han-rtgwg-agent-gateway-intercomm-framework/)** (score: 3.6) — Defines framework for intercommunication between Agent Gateways in Agent Internet ecosystem. Address +- **[draft-yang-ioa-protocol](https://datatracker.ietf.org/doc/draft-yang-ioa-protocol/)** (score: 3.6) — Defines the Internet of Agents Protocol for distributed collaboration among heterogeneous AI agents. +- **[draft-mozleywilliams-dnsop-bandaid](https://datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-bandaid/)** (score: 3.6) — Proposes using DNS with SVCB records to enable AI agent discovery and capability advertisement. Leve +- **[draft-li-semantic-routing-architecture](https://datatracker.ietf.org/doc/draft-li-semantic-routing-architecture/)** (score: 3.6) — Introduces semantic routing architecture using intent vectors and trust scores for AI agent communic +- **[draft-mozleywilliams-dnsop-dnsaid](https://datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-dnsaid/)** (score: 3.6) — Uses existing DNS infrastructure for AI agent discovery through structured namespace and metadata ex +- **[draft-eggert-mailmaint-uaautoconf](https://datatracker.ietf.org/doc/draft-eggert-mailmaint-uaautoconf/)** (score: 3.6) — Specifies automatic configuration mechanism for email, calendar, and contact applications. Enables s +- **[draft-liu-dmsc-acps-arc](https://datatracker.ietf.org/doc/draft-liu-dmsc-acps-arc/)** (score: 3.6) — Proposes Agent Collaboration Protocols architecture for Internet of Agents, covering agent lifecycle +- **[draft-liang-agentdns](https://datatracker.ietf.org/doc/draft-liang-agentdns/)** (score: 3.5) — Proposes a DNS-inspired naming and service discovery system for LLM agents to enable autonomous disc +- **[draft-mozley-aidiscovery](https://datatracker.ietf.org/doc/draft-mozley-aidiscovery/)** (score: 3.5) — Defines requirements and considerations for AI agent-to-agent discovery mechanisms. Addresses the fu +- **[draft-ye-problems-and-requirements-of-dns-for-ioa](https://datatracker.ietf.org/doc/draft-ye-problems-and-requirements-of-dns-for-ioa/)** (score: 3.5) — Analyzes DNS challenges for Internet of Agents scenarios and identifies technical requirements. Expl +- **[draft-li-dmsc-mcps-agw](https://datatracker.ietf.org/doc/draft-li-dmsc-mcps-agw/)** (score: 3.5) — Defines a protocol suite using Agent Gateways as control-plane entities for multi-agent collaboratio +- **[draft-kartha-grd](https://datatracker.ietf.org/doc/draft-kartha-grd/)** (score: 3.4) — Defines architectural framework for discovering network resources based on physical location and con +- **[draft-stephan-ai-agent-6g](https://datatracker.ietf.org/doc/draft-stephan-ai-agent-6g/)** (score: 3.4) — Examines AI agent communication protocols specifically for 6G systems based on 3GPP requirements. Ex +- **[draft-zeng-nmrg-mcp-usecases-requirements](https://datatracker.ietf.org/doc/draft-zeng-nmrg-mcp-usecases-requirements/)** (score: 3.4) — Presents problem statement for integrating Model Context Protocol into network management for AI age +- **[draft-sz-dmsc-iaip](https://datatracker.ietf.org/doc/draft-sz-dmsc-iaip/)** (score: 3.3) — Defines Intent-based Agent Interconnection Protocol (IAIP) for dynamic agent discovery and routing a +- **[draft-jeong-opsawg-intent-based-sdv-framework](https://datatracker.ietf.org/doc/draft-jeong-opsawg-intent-based-sdv-framework/)** (score: 3.3) — Proposes intent-based management framework for Software-Defined Vehicles in ITS environments. Covers +- **[draft-liu-rtgwg-agent-gateway-requirements](https://datatracker.ietf.org/doc/draft-liu-rtgwg-agent-gateway-requirements/)** (score: 3.2) — Discusses requirements for Agent Gateways in agent-to-agent communications to improve scalability, e +- **[draft-pioli-agent-discovery](https://datatracker.ietf.org/doc/draft-pioli-agent-discovery/)** (score: 3.2) — Specifies ARDP, a lightweight protocol for agent registration and discovery in distributed environme +- **[draft-gaikwad-woa](https://datatracker.ietf.org/doc/draft-gaikwad-woa/)** (score: 3.2) — Specifies Web of Agents (WoA) format using JSON Schema to describe AI agent inputs/outputs served fr +- **[draft-tong-network-agent-use-cases-in-6g](https://datatracker.ietf.org/doc/draft-tong-network-agent-use-cases-in-6g/)** (score: 3.2) — Introduces network AI agent use cases in 6G focusing on connectivity services and third-party applic +- **[draft-meunier-webbotauth-registry](https://datatracker.ietf.org/doc/draft-meunier-webbotauth-registry/)** (score: 3.2) — Defines a JSON format for web bot signature agent cards to advertise identity, purpose, and cryptogr +- **[draft-mao-rtgwg-apn-framework-for-ioa](https://datatracker.ietf.org/doc/draft-mao-rtgwg-apn-framework-for-ioa/)** (score: 3.2) — Applies Application-aware Performance Network framework to Internet of Agents scenario. Addresses ne +- **[draft-zhang-dmsc-ioa-semantic-interaction](https://datatracker.ietf.org/doc/draft-zhang-dmsc-ioa-semantic-interaction/)** (score: 3.2) — Specifies a semantic layer for Internet of Agents using ontology models and JSON-LD serialization. D +- **[draft-sun-zhang-iaip](https://datatracker.ietf.org/doc/draft-sun-zhang-iaip/)** (score: 3.2) — Defines Intent-based Agent Interconnection Protocol for Agent Gateways, focusing on semantic intent +- **[draft-a2a-moqt-transport](https://datatracker.ietf.org/doc/draft-a2a-moqt-transport/)** (score: 3.1) — Specifies transport of Agent-to-Agent protocol over Media over QUIC Transport. Leverages MOQT's publ +- **[draft-levy-llm-uri-scheme](https://datatracker.ietf.org/doc/draft-levy-llm-uri-scheme/)** (score: 3.1) — Defines a URI scheme for identifying LLM endpoints with embedded configuration parameters. Creates a +- **[draft-vinaysingh-awp-wellknown](https://datatracker.ietf.org/doc/draft-vinaysingh-awp-wellknown/)** (score: 3.1) — Defines well-known URI and link relation for exposing website workflows to automated agents. Provide +- **[draft-nandakumar-a2a-moqt-transport](https://datatracker.ietf.org/doc/draft-nandakumar-a2a-moqt-transport/)** (score: 3.0) — Identical specification to draft-a2a-moqt-transport for transporting Agent-to-Agent protocol over MO +- **[draft-fu-nmop-agent-communication-framework](https://datatracker.ietf.org/doc/draft-fu-nmop-agent-communication-framework/)** (score: 3.0) — Proposes a multi-agent communication framework for network AIOps with AI gateway, Agent Name Service +- **[draft-yang-dmsc-ioa-task-protocol](https://datatracker.ietf.org/doc/draft-yang-dmsc-ioa-task-protocol/)** (score: 3.0) — Defines a protocol for distributed collaboration among heterogeneous AI agents, enabling dynamic tea +- **[draft-ietf-roll-enrollment-priority](https://datatracker.ietf.org/doc/draft-ietf-roll-enrollment-priority/)** (score: 2.9) — Provides mechanism for RPL Root to control enrollment announcements and adjust enrollment priorities + +## Agent identity/auth (86 drafts) + +- **[draft-aylward-daap-v2](https://datatracker.ietf.org/doc/draft-aylward-daap-v2/)** (score: 4.8) — Defines comprehensive protocol for AI agent accountability including authentication, monitoring, and +- **[draft-guy-bary-stamp-protocol](https://datatracker.ietf.org/doc/draft-guy-bary-stamp-protocol/)** (score: 4.6) — Defines STAMP protocol for cryptographic delegation and proof in AI agent systems. Provides task-bou +- **[draft-drake-email-tpm-attestation](https://datatracker.ietf.org/doc/draft-drake-email-tpm-attestation/)** (score: 4.6) — Defines hardware attestation for email using TPM verification chains to prevent spam and provide Syb +- **[draft-ietf-lake-app-profiles](https://datatracker.ietf.org/doc/draft-ietf-lake-app-profiles/)** (score: 4.6) — Defines canonical CBOR representation for EDHOC application profiles and coordination mechanisms for +- **[draft-goswami-agentic-jwt](https://datatracker.ietf.org/doc/draft-goswami-agentic-jwt/)** (score: 4.5) — Extends OAuth 2.0 with Agentic JWT to address authorization challenges in autonomous AI systems. Int +- **[draft-aylward-aiga-2](https://datatracker.ietf.org/doc/draft-aylward-aiga-2/)** (score: 4.5) — Comprehensive AI governance framework with tiered risk model, federated authority network, and econo +- **[draft-ietf-anima-constrained-voucher](https://datatracker.ietf.org/doc/draft-ietf-anima-constrained-voucher/)** (score: 4.3) — Adapts BRSKI secure device onboarding for constrained IoT environments using CBOR vouchers and CoAP/ +- **[draft-ietf-hpke-hpke](https://datatracker.ietf.org/doc/draft-ietf-hpke-hpke/)** (score: 4.3) — Comprehensive specification for hybrid public key encryption supporting arbitrary-sized plaintexts. +- **[draft-mw-wimse-transitive-attestation](https://datatracker.ietf.org/doc/draft-mw-wimse-transitive-attestation/)** (score: 4.3) — Defines WIMSE profile for cryptographically binding workload identities to their execution environme +- **[draft-dhir-http-agent-profile](https://datatracker.ietf.org/doc/draft-dhir-http-agent-profile/)** (score: 4.2) — Defines HTTP Agent Profile for authenticating agent traffic, separating human from agent traffic, an +- **[draft-chen-oauth-rar-agent-extensions](https://datatracker.ietf.org/doc/draft-chen-oauth-rar-agent-extensions/)** (score: 4.2) — Extends OAuth RAR with policy_context and lifecycle_binding members for AI agent environments. Enabl +- **[draft-aylward-aiga-1](https://datatracker.ietf.org/doc/draft-aylward-aiga-1/)** (score: 4.2) — Specifies AI Governance and Accountability Protocol with tiered risk-based governance model. Include +- **[draft-aap-oauth-profile](https://datatracker.ietf.org/doc/draft-aap-oauth-profile/)** (score: 4.2) — Defines an OAuth 2.0 authorization profile specifically for autonomous AI agents, extending existing +- **[draft-narajala-ans](https://datatracker.ietf.org/doc/draft-narajala-ans/)** (score: 4.2) — Introduces Agent Name Service (ANS) as a DNS-based universal directory for AI agent discovery and ve +- **[draft-oauth-transaction-tokens-for-agents](https://datatracker.ietf.org/doc/draft-oauth-transaction-tokens-for-agents/)** (score: 4.2) — Extends OAuth Transaction Tokens framework to support agent context propagation with actor and princ +- **[draft-zhang-dmsc-mas-communication](https://datatracker.ietf.org/doc/draft-zhang-dmsc-mas-communication/)** (score: 4.2) — Analyzes security risks in multi-agent communication and limitations of existing protocols like TLS +- **[draft-li-dmsc-macp](https://datatracker.ietf.org/doc/draft-li-dmsc-macp/)** (score: 4.2) — Specifies a comprehensive multi-agent collaboration protocol suite using Agent Gateways for registra +- **[draft-lake-pocero-authkem-ikr-edhoc](https://datatracker.ietf.org/doc/draft-lake-pocero-authkem-ikr-edhoc/)** (score: 4.2) — Specifies an optimized KEM-based authentication variant for EDHOC protocol in scenarios where the in +- **[draft-cui-dns-native-agent-naming-resolution](https://datatracker.ietf.org/doc/draft-cui-dns-native-agent-naming-resolution/)** (score: 4.1) — Specifies DNS-native naming and resolution for AI agents using FQDNs and SVCB records. Emphasizes DN +- **[draft-liu-agent-operation-authorization](https://datatracker.ietf.org/doc/draft-liu-agent-operation-authorization/)** (score: 4.1) — Specifies framework for verifiable delegation of actions from humans to AI agents using JWT tokens. +- **[draft-schulze-ecap](https://datatracker.ietf.org/doc/draft-schulze-ecap/)** (score: 4.1) — ECAP defines a cryptographically-verified protocol for web crawlers to obtain consent from hosts bef +- **[draft-mw-spice-actor-chain](https://datatracker.ietf.org/doc/draft-mw-spice-actor-chain/)** (score: 4.1) — Extends OAuth 2.0 Token Exchange with cryptographically verifiable actor chains to provide tamper-ev +- **[draft-spm-lake-pqsuites](https://datatracker.ietf.org/doc/draft-spm-lake-pqsuites/)** (score: 4.1) — Defines quantum-resistant cipher suites for EDHOC using ML-DSA signatures and ML-KEM key exchange. S +- **[draft-mishra-oauth-agent-grants](https://datatracker.ietf.org/doc/draft-mishra-oauth-agent-grants/)** (score: 4.0) — Extends OAuth 2.0 for AI agent authorization with human consent verification, revocation, and audit +- **[draft-barney-caam](https://datatracker.ietf.org/doc/draft-barney-caam/)** (score: 4.0) — Specifies Contextual Agent Authorization Mesh for runtime authorization of agents after discovery, p +- **[draft-nennemann-wimse-ect](https://datatracker.ietf.org/doc/draft-nennemann-wimse-ect/)** (score: 4.0) — Defines Execution Context Tokens as JWT extension to WIMSE for tracking task execution in distribute +- **[draft-ietf-lake-authz](https://datatracker.ietf.org/doc/draft-ietf-lake-authz/)** (score: 3.9) — Specifies lightweight authorization using EDHOC for zero-touch device onboarding. Enables secure enr +- **[draft-ietf-ace-coap-est-oscore](https://datatracker.ietf.org/doc/draft-ietf-ace-coap-est-oscore/)** (score: 3.9) — Specifies carrying EST certificate provisioning over CoAP using OSCORE protection instead of DTLS. B +- **[draft-berlinai-vera](https://datatracker.ietf.org/doc/draft-berlinai-vera/)** (score: 3.9) — Introduces VERA, a zero-trust architecture for AI agent security with five enforcement pillars and c +- **[draft-josefsson-chempat](https://datatracker.ietf.org/doc/draft-josefsson-chempat/)** (score: 3.9) — Generic framework for Post-Quantum/Traditional hybrid key encapsulation mechanisms. Provides concret +- **[draft-ravikiran-clawdentity-protocol](https://datatracker.ietf.org/doc/draft-ravikiran-clawdentity-protocol/)** (score: 3.9) — Specifies Clawdentity protocol for cryptographic identity and trust in AI agent communication. Provi +- **[draft-bradleylundberg-cfrg-arkg](https://datatracker.ietf.org/doc/draft-bradleylundberg-cfrg-arkg/)** (score: 3.9) — Defines Asynchronous Remote Key Generation algorithm enabling delegation of public key generation wi +- **[draft-ietf-emu-hybrid-pqc-eapaka](https://datatracker.ietf.org/doc/draft-ietf-emu-hybrid-pqc-eapaka/)** (score: 3.8) — Enhances EAP-AKA' with post-quantum cryptography to address quantum computing threats. Uses hybrid P +- **[draft-chen-ai-agent-auth-new-requirements](https://datatracker.ietf.org/doc/draft-chen-ai-agent-auth-new-requirements/)** (score: 3.8) — Identifies new authentication and authorization requirements for AI agents that go beyond traditiona +- **[draft-sogomonian-ai-uri-scheme](https://datatracker.ietf.org/doc/draft-sogomonian-ai-uri-scheme/)** (score: 3.8) — Defines experimental AI URI scheme for dedicated AI resource access. Enables native connectivity for +- **[draft-srijal-agents-policy](https://datatracker.ietf.org/doc/draft-srijal-agents-policy/)** (score: 3.8) — Specifies AGENTS.TXT protocol as strict plaintext policy file for automated clients, bots, and crawl +- **[draft-abbey-scim-agent-extension](https://datatracker.ietf.org/doc/draft-abbey-scim-agent-extension/)** (score: 3.8) — Extends SCIM 2.0 protocol to manage AI agents and agentic applications across domains. Adds new sche +- **[draft-eckert-anima-acp-free-ani](https://datatracker.ietf.org/doc/draft-eckert-anima-acp-free-ani/)** (score: 3.8) — Describes lightweight variation of Autonomic Networking Infrastructure without expensive ACP impleme +- **[draft-scim-agent-extension](https://datatracker.ietf.org/doc/draft-scim-agent-extension/)** (score: 3.7) — Extends SCIM 2.0 specification to manage agents and agentic applications across domains. Builds on e +- **[draft-zheng-agent-identity-management](https://datatracker.ietf.org/doc/draft-zheng-agent-identity-management/)** (score: 3.7) — Defines comprehensive agent identity management for Internet of Agents systems. Covers agent registr +- **[draft-melnikov-sasl2](https://datatracker.ietf.org/doc/draft-melnikov-sasl2/)** (score: 3.7) — Updates SASL framework to support modern authentication requirements including multi-factor authenti +- **[draft-ietf-lamps-attestation-freshness](https://datatracker.ietf.org/doc/draft-ietf-lamps-attestation-freshness/)** (score: 3.7) — Outlines how nonces are supplied to end entities by RA/CA for inclusion in attestation evidence with +- **[draft-ietf-lake-ra](https://datatracker.ietf.org/doc/draft-ietf-lake-ra/)** (score: 3.7) — Specifies remote attestation procedures integrated with EDHOC lightweight key exchange protocol. Ena +- **[draft-gaikwad-south-authorization](https://datatracker.ietf.org/doc/draft-gaikwad-south-authorization/)** (score: 3.7) — Authorization protocol supporting probabilistic decisions for agents and services. Enables uncertain +- **[draft-sogomonian-aiip-architecture](https://datatracker.ietf.org/doc/draft-sogomonian-aiip-architecture/)** (score: 3.7) — Defines architectural model for Artificial Intelligence Internet Protocol (AIIP) enabling stateless, +- **[draft-ni-a2a-ai-agent-security-requirements](https://datatracker.ietf.org/doc/draft-ni-a2a-ai-agent-security-requirements/)** (score: 3.7) — Establishes security requirements for AI agents across their operational lifecycle. Covers provision +- **[draft-pocero-authkem-edhoc](https://datatracker.ietf.org/doc/draft-pocero-authkem-edhoc/)** (score: 3.7) — Extends EDHOC with KEM-based authentication for post-quantum resistance. Enables signature-free quan +- **[draft-zyyhl-agent-networks-framework](https://datatracker.ietf.org/doc/draft-zyyhl-agent-networks-framework/)** (score: 3.6) — Defines comprehensive framework for AI agent networks based on Agent Network Protocol (ANP). Provide +- **[draft-rosenberg-oauth-aauth](https://datatracker.ietf.org/doc/draft-rosenberg-oauth-aauth/)** (score: 3.6) — Extends OAuth 2.1 for AI agents operating through PSTN/SMS channels to obtain access tokens using PI +- **[draft-mozleywilliams-dnsop-bandaid](https://datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-bandaid/)** (score: 3.6) — Proposes using DNS with SVCB records to enable AI agent discovery and capability advertisement. Leve +- **[draft-vandoulas-aidp](https://datatracker.ietf.org/doc/draft-vandoulas-aidp/)** (score: 3.6) — Defines a comprehensive control-plane protocol for secure agent interactions with delegation, author +- **[draft-messous-eat-ai](https://datatracker.ietf.org/doc/draft-messous-eat-ai/)** (score: 3.6) — Defines an Entity Attestation Token profile for remote attestation of autonomous AI agents, specifyi +- **[draft-ietf-ace-edhoc-oscore-profile](https://datatracker.ietf.org/doc/draft-ietf-ace-edhoc-oscore-profile/)** (score: 3.6) — Defines ACE framework profile using EDHOC for mutual authentication and OSCORE for secure communicat +- **[draft-liu-oauth-a2a-profile](https://datatracker.ietf.org/doc/draft-liu-oauth-a2a-profile/)** (score: 3.6) — Specifies OAuth Transaction Token profile for Agent-to-Agent communication. Embeds call chain contex +- **[draft-liu-dmsc-acps-arc](https://datatracker.ietf.org/doc/draft-liu-dmsc-acps-arc/)** (score: 3.6) — Proposes Agent Collaboration Protocols architecture for Internet of Agents, covering agent lifecycle +- **[draft-liang-agentdns](https://datatracker.ietf.org/doc/draft-liang-agentdns/)** (score: 3.5) — Proposes a DNS-inspired naming and service discovery system for LLM agents to enable autonomous disc +- **[draft-song-oauth-ai-agent-collaborate-authz](https://datatracker.ietf.org/doc/draft-song-oauth-ai-agent-collaborate-authz/)** (score: 3.5) — Proposes OAuth 2.0 extension for multi-AI agent collaboration with applier-on-behalf-of authorizatio +- **[draft-ahn-nmrg-5g-security-i2nsf-framework](https://datatracker.ietf.org/doc/draft-ahn-nmrg-5g-security-i2nsf-framework/)** (score: 3.5) — Presents integrated framework for automated 5G edge network security using I2NSF architecture and In +- **[draft-jia-oauth-scope-aggregation](https://datatracker.ietf.org/doc/draft-jia-oauth-scope-aggregation/)** (score: 3.5) — Extends OAuth 2.0 with scope aggregation to reduce authorization round-trips in multi-step AI agent +- **[draft-ietf-emu-pqc-eapaka](https://datatracker.ietf.org/doc/draft-ietf-emu-pqc-eapaka/)** (score: 3.5) — This draft proposes enhancing EAP-AKA' Forward Secrecy with Post-Quantum Key Encapsulation Mechanism +- **[draft-zhang-rvp-problem-statement](https://datatracker.ietf.org/doc/draft-zhang-rvp-problem-statement/)** (score: 3.5) — Proposes Real-Virtual Agent Protocol for coordinating physical entities with digital agents through +- **[draft-li-dmsc-mcps-agw](https://datatracker.ietf.org/doc/draft-li-dmsc-mcps-agw/)** (score: 3.5) — Defines a protocol suite using Agent Gateways as control-plane entities for multi-agent collaboratio +- **[draft-ar-emu-hybrid-pqc-eapaka](https://datatracker.ietf.org/doc/draft-ar-emu-hybrid-pqc-eapaka/)** (score: 3.5) — Enhances EAP-AKA' with hybrid post-quantum cryptography combining traditional and quantum-resistant +- **[draft-huang-rats-agentic-eat-cap-attest](https://datatracker.ietf.org/doc/draft-huang-rats-agentic-eat-cap-attest/)** (score: 3.4) — Extends Entity Attestation Token (EAT) to support capability attestation for agentic AI systems. Ena +- **[draft-jiang-seat-dynamic-attestation](https://datatracker.ietf.org/doc/draft-jiang-seat-dynamic-attestation/)** (score: 3.4) — Defines dynamic attestation mechanisms for AI agents to convey runtime posture changes during long-l +- **[draft-ramakrishna-satp-views-addresses](https://datatracker.ietf.org/doc/draft-ramakrishna-satp-views-addresses/)** (score: 3.4) — Defines view and addressing mechanisms for secure asset transfer between DLT systems. Enables cross- +- **[draft-cosmos-protocol-specification](https://datatracker.ietf.org/doc/draft-cosmos-protocol-specification/)** (score: 3.3) — Defines comprehensive badge-based identity and communication system with trust scoring, post-quantum +- **[draft-liu-rtgwg-agent-gateway-requirements](https://datatracker.ietf.org/doc/draft-liu-rtgwg-agent-gateway-requirements/)** (score: 3.2) — Discusses requirements for Agent Gateways in agent-to-agent communications to improve scalability, e +- **[draft-pioli-agent-discovery](https://datatracker.ietf.org/doc/draft-pioli-agent-discovery/)** (score: 3.2) — Specifies ARDP, a lightweight protocol for agent registration and discovery in distributed environme +- **[draft-diaconu-agents-authz-info-sharing](https://datatracker.ietf.org/doc/draft-diaconu-agents-authz-info-sharing/)** (score: 3.2) — Addresses authorization challenges in distributed multi-agent systems across multiple domains. Cover +- **[draft-ietf-emu-eap-edhoc](https://datatracker.ietf.org/doc/draft-ietf-emu-eap-edhoc/)** (score: 3.2) — Defines EAP authentication method based on EDHOC for constrained environments. Integrates EDHOC's li +- **[draft-lake-pocero-authkem-edhoc](https://datatracker.ietf.org/doc/draft-lake-pocero-authkem-edhoc/)** (score: 3.2) — This draft extends the EDHOC protocol to provide quantum-resistant authentication using KEM-based me +- **[draft-meunier-webbotauth-registry](https://datatracker.ietf.org/doc/draft-meunier-webbotauth-registry/)** (score: 3.2) — Defines a JSON format for web bot signature agent cards to advertise identity, purpose, and cryptogr +- **[draft-ra-emu-pqc-eapaka](https://datatracker.ietf.org/doc/draft-ra-emu-pqc-eapaka/)** (score: 3.2) — Enhances EAP-AKA' with post-quantum key encapsulation mechanisms to protect against quantum computer +- **[draft-yao-agent-auth-considerations](https://datatracker.ietf.org/doc/draft-yao-agent-auth-considerations/)** (score: 3.1) — Extends OAuth model for AI agent authentication and authorization in Agent Communication Networks. P +- **[draft-mvieuille-kerpass-ephemsec](https://datatracker.ietf.org/doc/draft-mvieuille-kerpass-ephemsec/)** (score: 3.1) — Specifies EPHEMSEC algorithm for generating one-time passwords using public key cryptography instead +- **[draft-contario-totp-secure-enrollment](https://datatracker.ietf.org/doc/draft-contario-totp-secure-enrollment/)** (score: 3.1) — Extends TOTP enrollment to prevent key compromise through QR code capture or key persistence in exte +- **[draft-architect-cittamarket](https://datatracker.ietf.org/doc/draft-architect-cittamarket/)** (score: 3.1) — Specifies protocol for immutable AGI system identification using Bitcoin blockchain anchoring. Defin +- **[draft-ni-wimse-ai-agent-identity](https://datatracker.ietf.org/doc/draft-ni-wimse-ai-agent-identity/)** (score: 3.0) — Applies WIMSE (Workload Identity in Multi System Environments) framework to AI agents for identity a +- **[draft-sipos-dtn-bp-safe](https://datatracker.ietf.org/doc/draft-sipos-dtn-bp-safe/)** (score: 3.0) — Defines security association negotiation protocol for Bundle Protocol agents in delay-tolerant netwo +- **[draft-chen-lake-edhoc-aka](https://datatracker.ietf.org/doc/draft-chen-lake-edhoc-aka/)** (score: 3.0) — Defines EDHOC-AKA authentication method combining AKA protocol with EDHOC for mobile network access +- **[draft-wendt-stir-vesper](https://datatracker.ietf.org/doc/draft-wendt-stir-vesper/)** (score: 3.0) — Formalizes framework for verifiable telephone number identity using delegate certificates and author +- **[draft-cui-dmsc-agent-cdi](https://datatracker.ietf.org/doc/draft-cui-dmsc-agent-cdi/)** (score: 3.0) — Defines comprehensive framework for cross-domain AI agent interoperability including identity federa +- **[draft-condrey-rats-witnessd-enrollment](https://datatracker.ietf.org/doc/draft-condrey-rats-witnessd-enrollment/)** (score: 3.0) — Specifies trust anchor bootstrap protocol for proof of process framework. Defines device enrollment, +- **[draft-pocero-authkem-ikr-edhoc](https://datatracker.ietf.org/doc/draft-pocero-authkem-ikr-edhoc/)** (score: 3.0) — This draft proposes a KEM-based authentication variant for EDHOC that optimizes for scenarios where +- **[draft-happel-structured-email-trust](https://datatracker.ietf.org/doc/draft-happel-structured-email-trust/)** (score: 2.9) — Provides trust and security recommendations for handling structured data in email messages. Focuses + +## Agent-to-agent communication protocols (12 drafts) + +- **[draft-nandakumar-agent-sd-jwt](https://datatracker.ietf.org/doc/draft-nandakumar-agent-sd-jwt/)** (score: 3.9) — This draft defines SD-Card, a Selective Disclosure JWT encoding of Agent Cards that enables privacy- +- **[draft-oauth-ai-agents-on-behalf-of-user](https://datatracker.ietf.org/doc/draft-oauth-ai-agents-on-behalf-of-user/)** (score: 3.7) — This draft extends OAuth 2.0 to enable AI agents to securely obtain access tokens for acting on beha +- **[draft-liu-agent-context-protocol](https://datatracker.ietf.org/doc/draft-liu-agent-context-protocol/)** (score: 3.5) — This draft proposes a standard protocol for AI agents to communicate context information to each oth +- **[draft-zheng-dispatch-agent-identity-management](https://datatracker.ietf.org/doc/draft-zheng-dispatch-agent-identity-management/)** (score: 3.3) — This draft proposes an identity management framework for agents in an Internet of Agents (IOA) syste +- **[draft-narvaneni-agent-uri](https://datatracker.ietf.org/doc/draft-narvaneni-agent-uri/)** (score: 3.3) — This draft defines the agent:// URI scheme for addressing and interoperating with software agents ac +- **[draft-hw-ai-agent-6g](https://datatracker.ietf.org/doc/draft-hw-ai-agent-6g/)** (score: 3.1) — This draft analyzes requirements for agent protocols specifically tailored to 6G mobile networks, ex +- **[draft-zhang-agent-gap-network](https://datatracker.ietf.org/doc/draft-zhang-agent-gap-network/)** (score: 3.0) — This draft identifies problems and gaps in mobile core networks for supporting AI agent communicatio +- **[draft-cui-ai-agent-task](https://datatracker.ietf.org/doc/draft-cui-ai-agent-task/)** (score: 3.0) — This draft proposes requirements for standardized AI agent protocols to enable task-oriented coordin +- **[draft-zhang-rtgwg-ai-agents-troubleshooting](https://datatracker.ietf.org/doc/draft-zhang-rtgwg-ai-agents-troubleshooting/)** (score: 2.9) — This draft defines use cases and communication protocol requirements for troubleshooting agents depl +- **[draft-yl-agent-id-requirements](https://datatracker.ietf.org/doc/draft-yl-agent-id-requirements/)** (score: 2.9) — This draft proposes requirements for digital identity management in AI agent communication protocols +- **[draft-wang-nmrg-magent-im](https://datatracker.ietf.org/doc/draft-wang-nmrg-magent-im/)** (score: 2.9) — This draft proposes a protocol-agnostic data model for multi-agent communication in autonomous netwo +- **[draft-xie-ai-agent-multimodal](https://datatracker.ietf.org/doc/draft-xie-ai-agent-multimodal/)** (score: 2.9) — This draft outlines requirements for multimodal communication in AI agent protocols, enabling agents + +## Autonomous netops (46 drafts) + +- **[draft-cui-nmrg-llm-benchmark](https://datatracker.ietf.org/doc/draft-cui-nmrg-llm-benchmark/)** (score: 4.3) — Provides comprehensive evaluation framework for LLM-based network configuration agents. Includes emu +- **[draft-wmz-nmrg-agent-ndt-arch](https://datatracker.ietf.org/doc/draft-wmz-nmrg-agent-ndt-arch/)** (score: 4.2) — Comprehensive architecture combining Network Digital Twin with Agentic AI for intent-based network o +- **[draft-yue-anima-agent-recovery-networks](https://datatracker.ietf.org/doc/draft-yue-anima-agent-recovery-networks/)** (score: 4.1) — Defines task-oriented multi-agent framework for fault recovery in converged mobile networks. Targets +- **[draft-cui-nmrg-llm-nm](https://datatracker.ietf.org/doc/draft-cui-nmrg-llm-nm/)** (score: 4.1) — Defines framework for collaborative network management between LLM agents and human operators. Intro +- **[draft-ietf-lisp-nexagon](https://datatracker.ietf.org/doc/draft-ietf-lisp-nexagon/)** (score: 4.0) — Combines LISP with H3 spatial indexing to create geospatial intelligence network for physical-world +- **[draft-zeng-opsawg-llm-netconf-gap](https://datatracker.ietf.org/doc/draft-zeng-opsawg-llm-netconf-gap/)** (score: 3.9) — Analyzes gaps in existing network configuration protocols for LLM-driven intent-based networking. Id +- **[draft-luan-rtgwg-sdaf](https://datatracker.ietf.org/doc/draft-luan-rtgwg-sdaf/)** (score: 3.8) — Proposes symmetry-driven forwarding mechanism for LEO satellite networks to avoid routing loops and +- **[draft-zhao-nmop-network-management-agent](https://datatracker.ietf.org/doc/draft-zhao-nmop-network-management-agent/)** (score: 3.8) — Defines AI-driven Network Management Agent concept for Level 4 autonomous networks. Specifies integr +- **[draft-eckert-anima-acp-free-ani](https://datatracker.ietf.org/doc/draft-eckert-anima-acp-free-ani/)** (score: 3.8) — Describes lightweight variation of Autonomic Networking Infrastructure without expensive ACP impleme +- **[draft-yuan-rtgwg-traffic-agent-usecase](https://datatracker.ietf.org/doc/draft-yuan-rtgwg-traffic-agent-usecase/)** (score: 3.7) — Presents use cases for AI agents optimizing network traffic through dynamic resource adjustment. Det +- **[draft-ietf-netconf-configuration-tracing](https://datatracker.ietf.org/doc/draft-ietf-netconf-configuration-tracing/)** (score: 3.7) — Specifies a NETCONF mechanism to map configuration modifications to their originating NMS using exte +- **[draft-mao-rtgwg-agent-comm-protocol-gap-analysis](https://datatracker.ietf.org/doc/draft-mao-rtgwg-agent-comm-protocol-gap-analysis/)** (score: 3.6) — Analyzes gaps in existing networking and AI protocols for cross-device communication between AI agen +- **[draft-zlgsgl-rtgwg-agents-networking-framework](https://datatracker.ietf.org/doc/draft-zlgsgl-rtgwg-agents-networking-framework/)** (score: 3.6) — Introduces a comprehensive agents networking framework for enterprise and broadband environments. De +- **[draft-han-rtgwg-agent-gateway-intercomm-framework](https://datatracker.ietf.org/doc/draft-han-rtgwg-agent-gateway-intercomm-framework/)** (score: 3.6) — Defines framework for intercommunication between Agent Gateways in Agent Internet ecosystem. Address +- **[draft-zm-rtgwg-mcp-troubleshooting](https://datatracker.ietf.org/doc/draft-zm-rtgwg-mcp-troubleshooting/)** (score: 3.6) — Proposes using Model Context Protocol (MCP) to enable LLM-based automated network troubleshooting. M +- **[draft-li-semantic-routing-architecture](https://datatracker.ietf.org/doc/draft-li-semantic-routing-architecture/)** (score: 3.6) — Introduces semantic routing architecture using intent vectors and trust scores for AI agent communic +- **[draft-cui-nmrg-auto-test](https://datatracker.ietf.org/doc/draft-cui-nmrg-auto-test/)** (score: 3.6) — Framework for AI-assisted network protocol testing using LLMs and automated test generation. Defines +- **[draft-moreno-lisp-uberlay](https://datatracker.ietf.org/doc/draft-moreno-lisp-uberlay/)** (score: 3.6) — Describes using LISP to interconnect multiple independent network overlays through a transit overlay +- **[draft-liu-dmsc-acps-arc](https://datatracker.ietf.org/doc/draft-liu-dmsc-acps-arc/)** (score: 3.6) — Proposes Agent Collaboration Protocols architecture for Internet of Agents, covering agent lifecycle +- **[draft-pbs-sidrops-roaanycast](https://datatracker.ietf.org/doc/draft-pbs-sidrops-roaanycast/)** (score: 3.6) — Defines best practices for managing Route Origin Authorizations (ROAs) for globally anycasted servic +- **[draft-ye-problems-and-requirements-of-dns-for-ioa](https://datatracker.ietf.org/doc/draft-ye-problems-and-requirements-of-dns-for-ioa/)** (score: 3.5) — Analyzes DNS challenges for Internet of Agents scenarios and identifies technical requirements. Expl +- **[draft-irtf-nmrg-llm-nm](https://datatracker.ietf.org/doc/draft-irtf-nmrg-llm-nm/)** (score: 3.5) — Defines framework for collaborative network management between LLMs and human operators with human-i +- **[draft-ahn-nmrg-5g-security-i2nsf-framework](https://datatracker.ietf.org/doc/draft-ahn-nmrg-5g-security-i2nsf-framework/)** (score: 3.5) — Presents integrated framework for automated 5G edge network security using I2NSF architecture and In +- **[draft-zhang-rvp-problem-statement](https://datatracker.ietf.org/doc/draft-zhang-rvp-problem-statement/)** (score: 3.5) — Proposes Real-Virtual Agent Protocol for coordinating physical entities with digital agents through +- **[draft-zeng-opsawg-applicability-mcp-a2a](https://datatracker.ietf.org/doc/draft-zeng-opsawg-applicability-mcp-a2a/)** (score: 3.5) — Analyzes NETCONF limitations for advanced scenarios and proposes MCP and A2A protocols as complement +- **[draft-yuan-rtgwg-security-agent-usecase](https://datatracker.ietf.org/doc/draft-yuan-rtgwg-security-agent-usecase/)** (score: 3.4) — Proposes AI Network Security Agents for routers to provide intelligent, adaptive security capabiliti +- **[draft-kartha-grd](https://datatracker.ietf.org/doc/draft-kartha-grd/)** (score: 3.4) — Defines architectural framework for discovering network resources based on physical location and con +- **[draft-yan-a2a-device-agent-applicability](https://datatracker.ietf.org/doc/draft-yan-a2a-device-agent-applicability/)** (score: 3.4) — Discusses applying Agent-to-Agent (A2A) Protocol to network management for communication between Con +- **[draft-yue-moq-transporting-sensing-data](https://datatracker.ietf.org/doc/draft-yue-moq-transporting-sensing-data/)** (score: 3.4) — Proposes using Media Over QUIC (MOQ) to transport large-scale, real-time sensing data in 6G networks +- **[draft-zeng-nmrg-mcp-usecases-requirements](https://datatracker.ietf.org/doc/draft-zeng-nmrg-mcp-usecases-requirements/)** (score: 3.4) — Presents problem statement for integrating Model Context Protocol into network management for AI age +- **[draft-jeong-opsawg-intent-based-sdv-framework](https://datatracker.ietf.org/doc/draft-jeong-opsawg-intent-based-sdv-framework/)** (score: 3.3) — Proposes intent-based management framework for Software-Defined Vehicles in ITS environments. Covers +- **[draft-chuyi-nmrg-ai-agent-network](https://datatracker.ietf.org/doc/draft-chuyi-nmrg-ai-agent-network/)** (score: 3.2) — Focuses on large language model-based agents for network operations and maintenance. Addresses pract +- **[draft-ahn-opsawg-5g-security-i2nsf-framework](https://datatracker.ietf.org/doc/draft-ahn-opsawg-5g-security-i2nsf-framework/)** (score: 3.2) — Proposes an integrated security framework for 5G edge networks using I2NSF architecture with Intent- +- **[draft-tong-network-agent-use-cases-in-6g](https://datatracker.ietf.org/doc/draft-tong-network-agent-use-cases-in-6g/)** (score: 3.2) — Introduces network AI agent use cases in 6G focusing on connectivity services and third-party applic +- **[draft-sun-zhang-iaip](https://datatracker.ietf.org/doc/draft-sun-zhang-iaip/)** (score: 3.2) — Defines Intent-based Agent Interconnection Protocol for Agent Gateways, focusing on semantic intent +- **[draft-li-dmsc-inf-architecture](https://datatracker.ietf.org/doc/draft-li-dmsc-inf-architecture/)** (score: 3.1) — Proposes a network infrastructure architecture for large-scale multi-agent collaboration. Focuses on +- **[draft-zeng-mcp-troubleshooting](https://datatracker.ietf.org/doc/draft-zeng-mcp-troubleshooting/)** (score: 3.1) — Applies Model Context Protocol to network management for intent-based troubleshooting. Maps MCP role +- **[draft-sipos-dtn-bp-safe](https://datatracker.ietf.org/doc/draft-sipos-dtn-bp-safe/)** (score: 3.0) — Defines security association negotiation protocol for Bundle Protocol agents in delay-tolerant netwo +- **[draft-bernardos-cats-isac-uc](https://datatracker.ietf.org/doc/draft-bernardos-cats-isac-uc/)** (score: 3.0) — Presents Integrated Sensing and Communications (ISAC) as a use case for CATS architecture. Explores +- **[draft-hong-nmrg-agenticai-ps](https://datatracker.ietf.org/doc/draft-hong-nmrg-agenticai-ps/)** (score: 3.0) — Presents problem statement and motivations for applying Agentic AI to network management. Emphasizes +- **[draft-zhao-nmrg-ai-agent-for-dtn](https://datatracker.ietf.org/doc/draft-zhao-nmrg-ai-agent-for-dtn/)** (score: 3.0) — Proposes AI agent architecture for Digital Twin Networks, integrating autonomous agents at each DTN +- **[draft-fu-nmop-agent-communication-framework](https://datatracker.ietf.org/doc/draft-fu-nmop-agent-communication-framework/)** (score: 3.0) — Proposes a multi-agent communication framework for network AIOps with AI gateway, Agent Name Service +- **[draft-leon-distributed-multi-signer](https://datatracker.ietf.org/doc/draft-leon-distributed-multi-signer/)** (score: 3.0) — Defines distributed DNSSEC multi-signer architecture with multi-signer agents and combiners. Introdu +- **[draft-yang-dmsc-ioa-task-protocol](https://datatracker.ietf.org/doc/draft-yang-dmsc-ioa-task-protocol/)** (score: 3.0) — Defines a protocol for distributed collaboration among heterogeneous AI agents, enabling dynamic tea +- **[draft-condrey-rats-witnessd-enrollment](https://datatracker.ietf.org/doc/draft-condrey-rats-witnessd-enrollment/)** (score: 3.0) — Specifies trust anchor bootstrap protocol for proof of process framework. Defines device enrollment, +- **[draft-ietf-roll-enrollment-priority](https://datatracker.ietf.org/doc/draft-ietf-roll-enrollment-priority/)** (score: 2.9) — Provides mechanism for RPL Root to control enrollment announcements and adjust enrollment priorities + +## Autonomous network operations (5 drafts) + +- **[draft-hw-ai-agent-6g](https://datatracker.ietf.org/doc/draft-hw-ai-agent-6g/)** (score: 3.1) — This draft analyzes requirements for agent protocols specifically tailored to 6G mobile networks, ex +- **[draft-zhang-agent-gap-network](https://datatracker.ietf.org/doc/draft-zhang-agent-gap-network/)** (score: 3.0) — This draft identifies problems and gaps in mobile core networks for supporting AI agent communicatio +- **[draft-cui-ai-agent-task](https://datatracker.ietf.org/doc/draft-cui-ai-agent-task/)** (score: 3.0) — This draft proposes requirements for standardized AI agent protocols to enable task-oriented coordin +- **[draft-zhang-rtgwg-ai-agents-troubleshooting](https://datatracker.ietf.org/doc/draft-zhang-rtgwg-ai-agents-troubleshooting/)** (score: 2.9) — This draft defines use cases and communication protocol requirements for troubleshooting agents depl +- **[draft-wang-nmrg-magent-im](https://datatracker.ietf.org/doc/draft-wang-nmrg-magent-im/)** (score: 2.9) — This draft proposes a protocol-agnostic data model for multi-agent communication in autonomous netwo + +## Data formats / semantics for AI interop (3 drafts) + +- **[draft-liu-agent-context-protocol](https://datatracker.ietf.org/doc/draft-liu-agent-context-protocol/)** (score: 3.5) — This draft proposes a standard protocol for AI agents to communicate context information to each oth +- **[draft-narvaneni-agent-uri](https://datatracker.ietf.org/doc/draft-narvaneni-agent-uri/)** (score: 3.3) — This draft defines the agent:// URI scheme for addressing and interoperating with software agents ac +- **[draft-xie-ai-agent-multimodal](https://datatracker.ietf.org/doc/draft-xie-ai-agent-multimodal/)** (score: 2.9) — This draft outlines requirements for multimodal communication in AI agent protocols, enabling agents + +## Data formats/interop (80 drafts) + +- **[draft-ietf-lake-app-profiles](https://datatracker.ietf.org/doc/draft-ietf-lake-app-profiles/)** (score: 4.6) — Defines canonical CBOR representation for EDHOC application profiles and coordination mechanisms for +- **[draft-chang-agent-token-efficient](https://datatracker.ietf.org/doc/draft-chang-agent-token-efficient/)** (score: 4.5) — Defines ADOL (Agentic Data Optimization Layer) to address token bloat in agent communication protoco +- **[draft-birkholz-verifiable-agent-conversations](https://datatracker.ietf.org/doc/draft-birkholz-verifiable-agent-conversations/)** (score: 4.5) — Defines CDDL-based data format for verifiable agent conversation records using COSE signing. Support +- **[draft-cui-nmrg-llm-benchmark](https://datatracker.ietf.org/doc/draft-cui-nmrg-llm-benchmark/)** (score: 4.3) — Provides comprehensive evaluation framework for LLM-based network configuration agents. Includes emu +- **[draft-ietf-anima-constrained-voucher](https://datatracker.ietf.org/doc/draft-ietf-anima-constrained-voucher/)** (score: 4.3) — Adapts BRSKI secure device onboarding for constrained IoT environments using CBOR vouchers and CoAP/ +- **[draft-ietf-hpke-hpke](https://datatracker.ietf.org/doc/draft-ietf-hpke-hpke/)** (score: 4.3) — Comprehensive specification for hybrid public key encryption supporting arbitrary-sized plaintexts. +- **[draft-mallick-muacp](https://datatracker.ietf.org/doc/draft-mallick-muacp/)** (score: 4.2) — Resource-efficient messaging protocol specifically designed for constrained IoT/Edge devices with de +- **[draft-gaikwad-llm-benchmarking-methodology](https://datatracker.ietf.org/doc/draft-gaikwad-llm-benchmarking-methodology/)** (score: 4.2) — Defines comprehensive benchmarking methodologies for LLM inference serving systems including test pr +- **[draft-ietf-sshm-mlkem-hybrid-kex](https://datatracker.ietf.org/doc/draft-ietf-sshm-mlkem-hybrid-kex/)** (score: 4.2) — Defines post-quantum hybrid key exchange combining ML-KEM with traditional ECDH for SSH transport la +- **[draft-ietf-tls-extended-key-update](https://datatracker.ietf.org/doc/draft-ietf-tls-extended-key-update/)** (score: 4.2) — Adds post-compromise security to TLS 1.3 through fresh Diffie-Hellman exchanges during active sessio +- **[draft-narajala-ans](https://datatracker.ietf.org/doc/draft-narajala-ans/)** (score: 4.2) — Introduces Agent Name Service (ANS) as a DNS-based universal directory for AI agent discovery and ve +- **[draft-li-dmsc-macp](https://datatracker.ietf.org/doc/draft-li-dmsc-macp/)** (score: 4.2) — Specifies a comprehensive multi-agent collaboration protocol suite using Agent Gateways for registra +- **[draft-gaikwad-llm-benchmarking-profiles](https://datatracker.ietf.org/doc/draft-gaikwad-llm-benchmarking-profiles/)** (score: 4.2) — Defines performance benchmarking profiles binding terminology and methodology to concrete architectu +- **[draft-cui-dns-native-agent-naming-resolution](https://datatracker.ietf.org/doc/draft-cui-dns-native-agent-naming-resolution/)** (score: 4.1) — Specifies DNS-native naming and resolution for AI agents using FQDNs and SVCB records. Emphasizes DN +- **[draft-nederveld-adl](https://datatracker.ietf.org/doc/draft-nederveld-adl/)** (score: 4.1) — Defines ADL, a JSON-based standard for describing AI agents including their capabilities, tools, per +- **[draft-steele-agent-considerations](https://datatracker.ietf.org/doc/draft-steele-agent-considerations/)** (score: 4.0) — Defines guidelines for IETF specifications to support AI agent consumption and code generation. Intr +- **[draft-ietf-lisp-nexagon](https://datatracker.ietf.org/doc/draft-ietf-lisp-nexagon/)** (score: 4.0) — Combines LISP with H3 spatial indexing to create geospatial intelligence network for physical-world +- **[draft-nennemann-wimse-ect](https://datatracker.ietf.org/doc/draft-nennemann-wimse-ect/)** (score: 4.0) — Defines Execution Context Tokens as JWT extension to WIMSE for tracking task execution in distribute +- **[draft-ietf-ace-coap-est-oscore](https://datatracker.ietf.org/doc/draft-ietf-ace-coap-est-oscore/)** (score: 3.9) — Specifies carrying EST certificate provisioning over CoAP using OSCORE protection instead of DTLS. B +- **[draft-agent-gw](https://datatracker.ietf.org/doc/draft-agent-gw/)** (score: 3.9) — Proposes an Intelligent Agent Communication Gateway for large-scale multi-agent collaboration. Featu +- **[draft-mp-agntcy-ads](https://datatracker.ietf.org/doc/draft-mp-agntcy-ads/)** (score: 3.9) — Describes Agent Directory Service for storing and discovering AI agent metadata based on skills. Fea +- **[draft-zeng-opsawg-llm-netconf-gap](https://datatracker.ietf.org/doc/draft-zeng-opsawg-llm-netconf-gap/)** (score: 3.9) — Analyzes gaps in existing network configuration protocols for LLM-driven intent-based networking. Id +- **[draft-akhavain-moussa-ai-network](https://datatracker.ietf.org/doc/draft-akhavain-moussa-ai-network/)** (score: 3.9) — Proposes Data and Agent Aware-Inference and Training Network (DA-ITN) architecture. Comprehensive mu +- **[draft-rosenberg-aiproto-a2t](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-a2t/)** (score: 3.9) — Defines Agent-to-Tool (A2T) protocol for integrating third-party APIs into AI agent operations. Prov +- **[draft-josefsson-chempat](https://datatracker.ietf.org/doc/draft-josefsson-chempat/)** (score: 3.9) — Generic framework for Post-Quantum/Traditional hybrid key encapsulation mechanisms. Provides concret +- **[draft-cui-ai-agent-discovery-invocation](https://datatracker.ietf.org/doc/draft-cui-ai-agent-discovery-invocation/)** (score: 3.9) — Proposes standardized protocol for AI agent discovery and invocation with common metadata format and +- **[draft-ravikiran-clawdentity-protocol](https://datatracker.ietf.org/doc/draft-ravikiran-clawdentity-protocol/)** (score: 3.9) — Specifies Clawdentity protocol for cryptographic identity and trust in AI agent communication. Provi +- **[draft-jurkovikj-httpapi-agentic-state](https://datatracker.ietf.org/doc/draft-jurkovikj-httpapi-agentic-state/)** (score: 3.9) — Defines Agentic State Transfer (AST) HTTP profile for managing canonical resource state across multi +- **[draft-tejido-swp-core](https://datatracker.ietf.org/doc/draft-tejido-swp-core/)** (score: 3.9) — Specifies SlimWire Protocol Core, a binary framing layer for agent/tool messaging with profile-based +- **[draft-bradleylundberg-cfrg-arkg](https://datatracker.ietf.org/doc/draft-bradleylundberg-cfrg-arkg/)** (score: 3.9) — Defines Asynchronous Remote Key Generation algorithm enabling delegation of public key generation wi +- **[draft-sogomonian-ai-uri-scheme](https://datatracker.ietf.org/doc/draft-sogomonian-ai-uri-scheme/)** (score: 3.8) — Defines experimental AI URI scheme for dedicated AI resource access. Enables native connectivity for +- **[draft-srijal-agents-policy](https://datatracker.ietf.org/doc/draft-srijal-agents-policy/)** (score: 3.8) — Specifies AGENTS.TXT protocol as strict plaintext policy file for automated clients, bots, and crawl +- **[draft-abbey-scim-agent-extension](https://datatracker.ietf.org/doc/draft-abbey-scim-agent-extension/)** (score: 3.8) — Extends SCIM 2.0 protocol to manage AI agents and agentic applications across domains. Adds new sche +- **[draft-scim-agent-extension](https://datatracker.ietf.org/doc/draft-scim-agent-extension/)** (score: 3.7) — Extends SCIM 2.0 specification to manage agents and agentic applications across domains. Builds on e +- **[draft-rosenberg-aiproto-framework](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-framework/)** (score: 3.7) — Provides framework and requirements for AI agent protocols on the Internet. Surveys existing approac +- **[draft-ietf-lamps-rfc7030-csrattrs](https://datatracker.ietf.org/doc/draft-ietf-lamps-rfc7030-csrattrs/)** (score: 3.7) — Updates RFC7030 to clarify CSR Attributes Response encoding and adds template-based approach for EST +- **[draft-ietf-suit-firmware-encryption](https://datatracker.ietf.org/doc/draft-ietf-suit-firmware-encryption/)** (score: 3.7) — Specifies encryption techniques for firmware and software payloads in SUIT manifests. Uses ES-DH and +- **[draft-ietf-lamps-est-renewal-info](https://datatracker.ietf.org/doc/draft-ietf-lamps-est-renewal-info/)** (score: 3.7) — Extends EST protocol to provide server-side recommendations for certificate renewal timing. Addresse +- **[draft-ietf-netconf-configuration-tracing](https://datatracker.ietf.org/doc/draft-ietf-netconf-configuration-tracing/)** (score: 3.7) — Specifies a NETCONF mechanism to map configuration modifications to their originating NMS using exte +- **[draft-rosenberg-aiproto](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto/)** (score: 3.7) — Defines N-ACT protocol for AI agents to discover and invoke third-party tools and APIs. Focuses on e +- **[draft-rosenberg-aiproto-nact](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-nact/)** (score: 3.7) — Defines N-ACT protocol for AI agents to discover and invoke third-party tools and APIs. Focuses on e +- **[draft-zyyhl-agent-networks-framework](https://datatracker.ietf.org/doc/draft-zyyhl-agent-networks-framework/)** (score: 3.6) — Defines comprehensive framework for AI agent networks based on Agent Network Protocol (ANP). Provide +- **[draft-yang-ioa-protocol](https://datatracker.ietf.org/doc/draft-yang-ioa-protocol/)** (score: 3.6) — Defines the Internet of Agents Protocol for distributed collaboration among heterogeneous AI agents. +- **[draft-zm-rtgwg-mcp-troubleshooting](https://datatracker.ietf.org/doc/draft-zm-rtgwg-mcp-troubleshooting/)** (score: 3.6) — Proposes using Model Context Protocol (MCP) to enable LLM-based automated network troubleshooting. M +- **[draft-mozleywilliams-dnsop-dnsaid](https://datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-dnsaid/)** (score: 3.6) — Uses existing DNS infrastructure for AI agent discovery through structured namespace and metadata ex +- **[draft-eggert-mailmaint-uaautoconf](https://datatracker.ietf.org/doc/draft-eggert-mailmaint-uaautoconf/)** (score: 3.6) — Specifies automatic configuration mechanism for email, calendar, and contact applications. Enables s +- **[draft-gaikwad-aps-profile](https://datatracker.ietf.org/doc/draft-gaikwad-aps-profile/)** (score: 3.6) — Storage service profile for agent persistent state including embeddings, preferences, and audit logs +- **[draft-moreno-lisp-uberlay](https://datatracker.ietf.org/doc/draft-moreno-lisp-uberlay/)** (score: 3.6) — Describes using LISP to interconnect multiple independent network overlays through a transit overlay +- **[draft-ietf-lake-edhoc-psk](https://datatracker.ietf.org/doc/draft-ietf-lake-edhoc-psk/)** (score: 3.6) — Specifies pre-shared key authentication method for EDHOC key exchange protocol. Enhances efficiency +- **[draft-irtf-nmrg-llm-nm](https://datatracker.ietf.org/doc/draft-irtf-nmrg-llm-nm/)** (score: 3.5) — Defines framework for collaborative network management between LLMs and human operators with human-i +- **[draft-ietf-sml-trust](https://datatracker.ietf.org/doc/draft-ietf-sml-trust/)** (score: 3.5) — Provides trust and security recommendations for handling structured data in email messages. Addresse +- **[draft-zeng-opsawg-applicability-mcp-a2a](https://datatracker.ietf.org/doc/draft-zeng-opsawg-applicability-mcp-a2a/)** (score: 3.5) — Analyzes NETCONF limitations for advanced scenarios and proposes MCP and A2A protocols as complement +- **[draft-kartha-grd](https://datatracker.ietf.org/doc/draft-kartha-grd/)** (score: 3.4) — Defines architectural framework for discovering network resources based on physical location and con +- **[draft-yan-a2a-device-agent-applicability](https://datatracker.ietf.org/doc/draft-yan-a2a-device-agent-applicability/)** (score: 3.4) — Discusses applying Agent-to-Agent (A2A) Protocol to network management for communication between Con +- **[draft-ietf-lamps-private-key-stmt-attr](https://datatracker.ietf.org/doc/draft-ietf-lamps-private-key-stmt-attr/)** (score: 3.4) — Defines X.509 attribute for private key possession statements as alternative to cryptographic proof +- **[draft-yue-moq-transporting-sensing-data](https://datatracker.ietf.org/doc/draft-yue-moq-transporting-sensing-data/)** (score: 3.4) — Proposes using Media Over QUIC (MOQ) to transport large-scale, real-time sensing data in 6G networks +- **[draft-ramakrishna-satp-views-addresses](https://datatracker.ietf.org/doc/draft-ramakrishna-satp-views-addresses/)** (score: 3.4) — Defines view and addressing mechanisms for secure asset transfer between DLT systems. Enables cross- +- **[draft-stephan-ai-agent-6g](https://datatracker.ietf.org/doc/draft-stephan-ai-agent-6g/)** (score: 3.4) — Examines AI agent communication protocols specifically for 6G systems based on 3GPP requirements. Ex +- **[draft-sz-dmsc-iaip](https://datatracker.ietf.org/doc/draft-sz-dmsc-iaip/)** (score: 3.3) — Defines Intent-based Agent Interconnection Protocol (IAIP) for dynamic agent discovery and routing a +- **[draft-chuyi-nmrg-ai-agent-network](https://datatracker.ietf.org/doc/draft-chuyi-nmrg-ai-agent-network/)** (score: 3.2) — Focuses on large language model-based agents for network operations and maintenance. Addresses pract +- **[draft-liu-rtgwg-agent-gateway-requirements](https://datatracker.ietf.org/doc/draft-liu-rtgwg-agent-gateway-requirements/)** (score: 3.2) — Discusses requirements for Agent Gateways in agent-to-agent communications to improve scalability, e +- **[draft-gaikwad-woa](https://datatracker.ietf.org/doc/draft-gaikwad-woa/)** (score: 3.2) — Specifies Web of Agents (WoA) format using JSON Schema to describe AI agent inputs/outputs served fr +- **[draft-gupta-httpapi-events-query](https://datatracker.ietf.org/doc/draft-gupta-httpapi-events-query/)** (score: 3.2) — Proposes Events Query Protocol (EQP) built on HTTP for user agents to receive event notifications di +- **[draft-meunier-webbotauth-registry](https://datatracker.ietf.org/doc/draft-meunier-webbotauth-registry/)** (score: 3.2) — Defines a JSON format for web bot signature agent cards to advertise identity, purpose, and cryptogr +- **[draft-zhang-dmsc-ioa-semantic-interaction](https://datatracker.ietf.org/doc/draft-zhang-dmsc-ioa-semantic-interaction/)** (score: 3.2) — Specifies a semantic layer for Internet of Agents using ontology models and JSON-LD serialization. D +- **[draft-zeng-mcp-troubleshooting](https://datatracker.ietf.org/doc/draft-zeng-mcp-troubleshooting/)** (score: 3.1) — Applies Model Context Protocol to network management for intent-based troubleshooting. Maps MCP role +- **[draft-a2a-moqt-transport](https://datatracker.ietf.org/doc/draft-a2a-moqt-transport/)** (score: 3.1) — Specifies transport of Agent-to-Agent protocol over Media over QUIC Transport. Leverages MOQT's publ +- **[draft-levy-llm-uri-scheme](https://datatracker.ietf.org/doc/draft-levy-llm-uri-scheme/)** (score: 3.1) — Defines a URI scheme for identifying LLM endpoints with embedded configuration parameters. Creates a +- **[draft-tojens-dhcp-option-concat-considerations](https://datatracker.ietf.org/doc/draft-tojens-dhcp-option-concat-considerations/)** (score: 3.1) — Updates RFC 3396 to make DHCP option concatenation requirements more flexible. Addresses real-world +- **[draft-ietf-lamps-rfc5274bis](https://datatracker.ietf.org/doc/draft-ietf-lamps-rfc5274bis/)** (score: 3.1) — Defines compliance requirements for Certificate Management Messages over CMS (CMC) enrollment protoc +- **[draft-vinaysingh-awp-wellknown](https://datatracker.ietf.org/doc/draft-vinaysingh-awp-wellknown/)** (score: 3.1) — Defines well-known URI and link relation for exposing website workflows to automated agents. Provide +- **[draft-wendt-stir-vesper](https://datatracker.ietf.org/doc/draft-wendt-stir-vesper/)** (score: 3.0) — Formalizes framework for verifiable telephone number identity using delegate certificates and author +- **[draft-ietf-lamps-e2e-mail-guidance](https://datatracker.ietf.org/doc/draft-ietf-lamps-e2e-mail-guidance/)** (score: 3.0) — Provides comprehensive guidance for implementing end-to-end email encryption securely. Addresses usa +- **[draft-nandakumar-a2a-moqt-transport](https://datatracker.ietf.org/doc/draft-nandakumar-a2a-moqt-transport/)** (score: 3.0) — Identical specification to draft-a2a-moqt-transport for transporting Agent-to-Agent protocol over MO +- **[draft-zhao-nmrg-ai-agent-for-dtn](https://datatracker.ietf.org/doc/draft-zhao-nmrg-ai-agent-for-dtn/)** (score: 3.0) — Proposes AI agent architecture for Digital Twin Networks, integrating autonomous agents at each DTN +- **[draft-cui-dmsc-agent-cdi](https://datatracker.ietf.org/doc/draft-cui-dmsc-agent-cdi/)** (score: 3.0) — Defines comprehensive framework for cross-domain AI agent interoperability including identity federa +- **[draft-leon-distributed-multi-signer](https://datatracker.ietf.org/doc/draft-leon-distributed-multi-signer/)** (score: 3.0) — Defines distributed DNSSEC multi-signer architecture with multi-signer agents and combiners. Introdu +- **[draft-happel-structured-email-trust](https://datatracker.ietf.org/doc/draft-happel-structured-email-trust/)** (score: 2.9) — Provides trust and security recommendations for handling structured data in email messages. Focuses +- **[draft-ramakrishna-satp-data-sharing](https://datatracker.ietf.org/doc/draft-ramakrishna-satp-data-sharing/)** (score: 2.9) — Defines a DLT-neutral protocol for sharing asset views and metadata across blockchain networks via g +- **[draft-bastian-jose-pkdh](https://datatracker.ietf.org/doc/draft-bastian-jose-pkdh/)** (score: 2.9) — Defines a method to derive symmetric MAC keys from public information in JSON Web Signatures using D + +## Human-agent interaction (16 drafts) + +- **[draft-drake-email-tpm-attestation](https://datatracker.ietf.org/doc/draft-drake-email-tpm-attestation/)** (score: 4.6) — Defines hardware attestation for email using TPM verification chains to prevent spam and provide Syb +- **[draft-dhir-http-agent-profile](https://datatracker.ietf.org/doc/draft-dhir-http-agent-profile/)** (score: 4.2) — Defines HTTP Agent Profile for authenticating agent traffic, separating human from agent traffic, an +- **[draft-liu-agent-operation-authorization](https://datatracker.ietf.org/doc/draft-liu-agent-operation-authorization/)** (score: 4.1) — Specifies framework for verifiable delegation of actions from humans to AI agents using JWT tokens. +- **[draft-cui-nmrg-llm-nm](https://datatracker.ietf.org/doc/draft-cui-nmrg-llm-nm/)** (score: 4.1) — Defines framework for collaborative network management between LLM agents and human operators. Intro +- **[draft-steele-agent-considerations](https://datatracker.ietf.org/doc/draft-steele-agent-considerations/)** (score: 4.0) — Defines guidelines for IETF specifications to support AI agent consumption and code generation. Intr +- **[draft-mishra-oauth-agent-grants](https://datatracker.ietf.org/doc/draft-mishra-oauth-agent-grants/)** (score: 4.0) — Extends OAuth 2.0 for AI agent authorization with human consent verification, revocation, and audit +- **[draft-rosenberg-aiproto-cheq](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-cheq/)** (score: 3.9) — Proposes CHEQ protocol for human confirmation of AI agent decisions before execution. Protects again +- **[draft-oauth-ai-agents-on-behalf-of-user](https://datatracker.ietf.org/doc/draft-oauth-ai-agents-on-behalf-of-user/)** (score: 3.7) — This draft extends OAuth 2.0 to enable AI agents to securely obtain access tokens for acting on beha +- **[draft-rosenberg-cheq](https://datatracker.ietf.org/doc/draft-rosenberg-cheq/)** (score: 3.6) — Proposes CHEQ protocol for human-in-the-loop confirmation of AI agent decisions before execution. Us +- **[draft-zm-rtgwg-mcp-troubleshooting](https://datatracker.ietf.org/doc/draft-zm-rtgwg-mcp-troubleshooting/)** (score: 3.6) — Proposes using Model Context Protocol (MCP) to enable LLM-based automated network troubleshooting. M +- **[draft-irtf-nmrg-llm-nm](https://datatracker.ietf.org/doc/draft-irtf-nmrg-llm-nm/)** (score: 3.5) — Defines framework for collaborative network management between LLMs and human operators with human-i +- **[draft-meta-layer-overview](https://datatracker.ietf.org/doc/draft-meta-layer-overview/)** (score: 3.5) — Introduces Meta-layer concept as coordination substrate for presence, annotation, and governance on +- **[draft-zeng-nmrg-mcp-usecases-requirements](https://datatracker.ietf.org/doc/draft-zeng-nmrg-mcp-usecases-requirements/)** (score: 3.4) — Presents problem statement for integrating Model Context Protocol into network management for AI age +- **[draft-gupta-httpapi-events-query](https://datatracker.ietf.org/doc/draft-gupta-httpapi-events-query/)** (score: 3.2) — Proposes Events Query Protocol (EQP) built on HTTP for user agents to receive event notifications di +- **[draft-zeng-mcp-troubleshooting](https://datatracker.ietf.org/doc/draft-zeng-mcp-troubleshooting/)** (score: 3.1) — Applies Model Context Protocol to network management for intent-based troubleshooting. Maps MCP role +- **[draft-vinaysingh-awp-wellknown](https://datatracker.ietf.org/doc/draft-vinaysingh-awp-wellknown/)** (score: 3.1) — Defines well-known URI and link relation for exposing website workflows to automated agents. Provide + +## Identity / authentication for AI agents (7 drafts) + +- **[draft-nandakumar-agent-sd-jwt](https://datatracker.ietf.org/doc/draft-nandakumar-agent-sd-jwt/)** (score: 3.9) — This draft defines SD-Card, a Selective Disclosure JWT encoding of Agent Cards that enables privacy- +- **[draft-wahl-scim-agent-schema](https://datatracker.ietf.org/doc/draft-wahl-scim-agent-schema/)** (score: 3.9) — This draft extends the SCIM (System for Cross-domain Identity Management) protocol to support AI age +- **[draft-oauth-ai-agents-on-behalf-of-user](https://datatracker.ietf.org/doc/draft-oauth-ai-agents-on-behalf-of-user/)** (score: 3.7) — This draft extends OAuth 2.0 to enable AI agents to securely obtain access tokens for acting on beha +- **[draft-chen-agent-decoupled-authorization-model](https://datatracker.ietf.org/doc/draft-chen-agent-decoupled-authorization-model/)** (score: 3.5) — This draft proposes a decoupled authorization framework for AI agents that enables dynamic, intent-b +- **[draft-huang-acme-scalable-agent-enrollment](https://datatracker.ietf.org/doc/draft-huang-acme-scalable-agent-enrollment/)** (score: 3.5) — This draft proposes two scalable models for certificate enrollment of AI agents: one using Zero-Know +- **[draft-zheng-dispatch-agent-identity-management](https://datatracker.ietf.org/doc/draft-zheng-dispatch-agent-identity-management/)** (score: 3.3) — This draft proposes an identity management framework for agents in an Internet of Agents (IOA) syste +- **[draft-yl-agent-id-requirements](https://datatracker.ietf.org/doc/draft-yl-agent-id-requirements/)** (score: 2.9) — This draft proposes requirements for digital identity management in AI agent communication protocols + +## ML traffic mgmt (15 drafts) + +- **[draft-dhir-http-agent-profile](https://datatracker.ietf.org/doc/draft-dhir-http-agent-profile/)** (score: 4.2) — Defines HTTP Agent Profile for authenticating agent traffic, separating human from agent traffic, an +- **[draft-cui-nmrg-llm-nm](https://datatracker.ietf.org/doc/draft-cui-nmrg-llm-nm/)** (score: 4.1) — Defines framework for collaborative network management between LLM agents and human operators. Intro +- **[draft-akhavain-moussa-ai-network](https://datatracker.ietf.org/doc/draft-akhavain-moussa-ai-network/)** (score: 3.9) — Proposes Data and Agent Aware-Inference and Training Network (DA-ITN) architecture. Comprehensive mu +- **[draft-jurkovikj-httpapi-agentic-state](https://datatracker.ietf.org/doc/draft-jurkovikj-httpapi-agentic-state/)** (score: 3.9) — Defines Agentic State Transfer (AST) HTTP profile for managing canonical resource state across multi +- **[draft-yuan-rtgwg-traffic-agent-usecase](https://datatracker.ietf.org/doc/draft-yuan-rtgwg-traffic-agent-usecase/)** (score: 3.7) — Presents use cases for AI agents optimizing network traffic through dynamic resource adjustment. Det +- **[draft-an-nmrg-i2icf-cits](https://datatracker.ietf.org/doc/draft-an-nmrg-i2icf-cits/)** (score: 3.7) — Defines framework for orchestrating In-Network Computing Functions in Cooperative Intelligent Transp +- **[draft-cui-nmrg-auto-test](https://datatracker.ietf.org/doc/draft-cui-nmrg-auto-test/)** (score: 3.6) — Framework for AI-assisted network protocol testing using LLMs and automated test generation. Defines +- **[draft-yue-moq-transporting-sensing-data](https://datatracker.ietf.org/doc/draft-yue-moq-transporting-sensing-data/)** (score: 3.4) — Proposes using Media Over QUIC (MOQ) to transport large-scale, real-time sensing data in 6G networks +- **[draft-chuyi-nmrg-ai-agent-network](https://datatracker.ietf.org/doc/draft-chuyi-nmrg-ai-agent-network/)** (score: 3.2) — Focuses on large language model-based agents for network operations and maintenance. Addresses pract +- **[draft-tong-network-agent-use-cases-in-6g](https://datatracker.ietf.org/doc/draft-tong-network-agent-use-cases-in-6g/)** (score: 3.2) — Introduces network AI agent use cases in 6G focusing on connectivity services and third-party applic +- **[draft-kale-agntcy-federated-privacy](https://datatracker.ietf.org/doc/draft-kale-agntcy-federated-privacy/)** (score: 3.2) — Specifies architecture for privacy-preserving federated learning across multi-tenant AI agent system +- **[draft-mao-rtgwg-apn-framework-for-ioa](https://datatracker.ietf.org/doc/draft-mao-rtgwg-apn-framework-for-ioa/)** (score: 3.2) — Applies Application-aware Performance Network framework to Internet of Agents scenario. Addresses ne +- **[draft-liu-nmrg-ai-llm-inference-requirements](https://datatracker.ietf.org/doc/draft-liu-nmrg-ai-llm-inference-requirements/)** (score: 3.2) — Analyzes system and network requirements for large-scale LLM inference services. Investigates mainst +- **[draft-li-dmsc-inf-architecture](https://datatracker.ietf.org/doc/draft-li-dmsc-inf-architecture/)** (score: 3.1) — Proposes a network infrastructure architecture for large-scale multi-agent collaboration. Focuses on +- **[draft-bernardos-cats-isac-uc](https://datatracker.ietf.org/doc/draft-bernardos-cats-isac-uc/)** (score: 3.0) — Presents Integrated Sensing and Communications (ISAC) as a use case for CATS architecture. Explores + +## ML-based traffic management / optimization (1 drafts) + +- **[draft-zhang-agent-gap-network](https://datatracker.ietf.org/doc/draft-zhang-agent-gap-network/)** (score: 3.0) — This draft identifies problems and gaps in mobile core networks for supporting AI agent communicatio + +## Model serving/inference (10 drafts) + +- **[draft-chang-agent-token-efficient](https://datatracker.ietf.org/doc/draft-chang-agent-token-efficient/)** (score: 4.5) — Defines ADOL (Agentic Data Optimization Layer) to address token bloat in agent communication protoco +- **[draft-wmz-nmrg-agent-ndt-arch](https://datatracker.ietf.org/doc/draft-wmz-nmrg-agent-ndt-arch/)** (score: 4.2) — Comprehensive architecture combining Network Digital Twin with Agentic AI for intent-based network o +- **[draft-gaikwad-llm-benchmarking-methodology](https://datatracker.ietf.org/doc/draft-gaikwad-llm-benchmarking-methodology/)** (score: 4.2) — Defines comprehensive benchmarking methodologies for LLM inference serving systems including test pr +- **[draft-gaikwad-llm-benchmarking-profiles](https://datatracker.ietf.org/doc/draft-gaikwad-llm-benchmarking-profiles/)** (score: 4.2) — Defines performance benchmarking profiles binding terminology and methodology to concrete architectu +- **[draft-akhavain-moussa-ai-network](https://datatracker.ietf.org/doc/draft-akhavain-moussa-ai-network/)** (score: 3.9) — Proposes Data and Agent Aware-Inference and Training Network (DA-ITN) architecture. Comprehensive mu +- **[draft-sogomonian-aiip-architecture](https://datatracker.ietf.org/doc/draft-sogomonian-aiip-architecture/)** (score: 3.7) — Defines architectural model for Artificial Intelligence Internet Protocol (AIIP) enabling stateless, +- **[draft-chuyi-nmrg-ai-agent-network](https://datatracker.ietf.org/doc/draft-chuyi-nmrg-ai-agent-network/)** (score: 3.2) — Focuses on large language model-based agents for network operations and maintenance. Addresses pract +- **[draft-tong-network-agent-use-cases-in-6g](https://datatracker.ietf.org/doc/draft-tong-network-agent-use-cases-in-6g/)** (score: 3.2) — Introduces network AI agent use cases in 6G focusing on connectivity services and third-party applic +- **[draft-liu-nmrg-ai-llm-inference-requirements](https://datatracker.ietf.org/doc/draft-liu-nmrg-ai-llm-inference-requirements/)** (score: 3.2) — Analyzes system and network requirements for large-scale LLM inference services. Investigates mainst +- **[draft-levy-llm-uri-scheme](https://datatracker.ietf.org/doc/draft-levy-llm-uri-scheme/)** (score: 3.1) — Defines a URI scheme for identifying LLM endpoints with embedded configuration parameters. Creates a + +## Other AI/agent (8 drafts) + +- **[draft-ietf-tls-ecdhe-mlkem](https://datatracker.ietf.org/doc/draft-ietf-tls-ecdhe-mlkem/)** (score: 4.4) — Defines hybrid post-quantum key agreement mechanisms for TLS 1.3 that combine ML-KEM with traditiona +- **[draft-wmz-nmrg-agent-ndt-arch](https://datatracker.ietf.org/doc/draft-wmz-nmrg-agent-ndt-arch/)** (score: 4.2) — Comprehensive architecture combining Network Digital Twin with Agentic AI for intent-based network o +- **[draft-an-nmrg-i2icf-cits](https://datatracker.ietf.org/doc/draft-an-nmrg-i2icf-cits/)** (score: 3.7) — Defines framework for orchestrating In-Network Computing Functions in Cooperative Intelligent Transp +- **[draft-cui-nmrg-auto-test](https://datatracker.ietf.org/doc/draft-cui-nmrg-auto-test/)** (score: 3.6) — Framework for AI-assisted network protocol testing using LLMs and automated test generation. Defines +- **[draft-stephan-ai-agent-6g](https://datatracker.ietf.org/doc/draft-stephan-ai-agent-6g/)** (score: 3.4) — Examines AI agent communication protocols specifically for 6G systems based on 3GPP requirements. Ex +- **[draft-architect-cittamarket](https://datatracker.ietf.org/doc/draft-architect-cittamarket/)** (score: 3.1) — Specifies protocol for immutable AGI system identification using Bitcoin blockchain anchoring. Defin +- **[draft-zhao-nmrg-ai-agent-for-dtn](https://datatracker.ietf.org/doc/draft-zhao-nmrg-ai-agent-for-dtn/)** (score: 3.0) — Proposes AI agent architecture for Digital Twin Networks, integrating autonomous agents at each DTN +- **[draft-ietf-httpbis-rfc6265bis](https://datatracker.ietf.org/doc/draft-ietf-httpbis-rfc6265bis/)** (score: 3.0) — Updates HTTP Cookie specification to replace RFC 6265 with improved security and privacy. Addresses + +## Policy / governance / ethical frameworks (1 drafts) + +- **[draft-chen-agent-decoupled-authorization-model](https://datatracker.ietf.org/doc/draft-chen-agent-decoupled-authorization-model/)** (score: 3.5) — This draft proposes a decoupled authorization framework for AI agents that enables dynamic, intent-b + +## Policy/governance (53 drafts) + +- **[draft-aylward-daap-v2](https://datatracker.ietf.org/doc/draft-aylward-daap-v2/)** (score: 4.8) — Defines comprehensive protocol for AI agent accountability including authentication, monitoring, and +- **[draft-goswami-agentic-jwt](https://datatracker.ietf.org/doc/draft-goswami-agentic-jwt/)** (score: 4.5) — Extends OAuth 2.0 with Agentic JWT to address authorization challenges in autonomous AI systems. Int +- **[draft-birkholz-verifiable-agent-conversations](https://datatracker.ietf.org/doc/draft-birkholz-verifiable-agent-conversations/)** (score: 4.5) — Defines CDDL-based data format for verifiable agent conversation records using COSE signing. Support +- **[draft-aylward-aiga-2](https://datatracker.ietf.org/doc/draft-aylward-aiga-2/)** (score: 4.5) — Comprehensive AI governance framework with tiered risk model, federated authority network, and econo +- **[draft-cui-nmrg-llm-benchmark](https://datatracker.ietf.org/doc/draft-cui-nmrg-llm-benchmark/)** (score: 4.3) — Provides comprehensive evaluation framework for LLM-based network configuration agents. Includes emu +- **[draft-mw-wimse-transitive-attestation](https://datatracker.ietf.org/doc/draft-mw-wimse-transitive-attestation/)** (score: 4.3) — Defines WIMSE profile for cryptographically binding workload identities to their execution environme +- **[draft-wmz-nmrg-agent-ndt-arch](https://datatracker.ietf.org/doc/draft-wmz-nmrg-agent-ndt-arch/)** (score: 4.2) — Comprehensive architecture combining Network Digital Twin with Agentic AI for intent-based network o +- **[draft-dhir-http-agent-profile](https://datatracker.ietf.org/doc/draft-dhir-http-agent-profile/)** (score: 4.2) — Defines HTTP Agent Profile for authenticating agent traffic, separating human from agent traffic, an +- **[draft-chen-oauth-rar-agent-extensions](https://datatracker.ietf.org/doc/draft-chen-oauth-rar-agent-extensions/)** (score: 4.2) — Extends OAuth RAR with policy_context and lifecycle_binding members for AI agent environments. Enabl +- **[draft-aylward-aiga-1](https://datatracker.ietf.org/doc/draft-aylward-aiga-1/)** (score: 4.2) — Specifies AI Governance and Accountability Protocol with tiered risk-based governance model. Include +- **[draft-aap-oauth-profile](https://datatracker.ietf.org/doc/draft-aap-oauth-profile/)** (score: 4.2) — Defines an OAuth 2.0 authorization profile specifically for autonomous AI agents, extending existing +- **[draft-oauth-transaction-tokens-for-agents](https://datatracker.ietf.org/doc/draft-oauth-transaction-tokens-for-agents/)** (score: 4.2) — Extends OAuth Transaction Tokens framework to support agent context propagation with actor and princ +- **[draft-jewell-aibdp](https://datatracker.ietf.org/doc/draft-jewell-aibdp/)** (score: 4.2) — Defines AI Boundary Declaration Protocol for expressing content usage boundaries for AI systems. Pro +- **[draft-liu-agent-operation-authorization](https://datatracker.ietf.org/doc/draft-liu-agent-operation-authorization/)** (score: 4.1) — Specifies framework for verifiable delegation of actions from humans to AI agents using JWT tokens. +- **[draft-yue-anima-agent-recovery-networks](https://datatracker.ietf.org/doc/draft-yue-anima-agent-recovery-networks/)** (score: 4.1) — Defines task-oriented multi-agent framework for fault recovery in converged mobile networks. Targets +- **[draft-schulze-ecap](https://datatracker.ietf.org/doc/draft-schulze-ecap/)** (score: 4.1) — ECAP defines a cryptographically-verified protocol for web crawlers to obtain consent from hosts bef +- **[draft-steele-agent-considerations](https://datatracker.ietf.org/doc/draft-steele-agent-considerations/)** (score: 4.0) — Defines guidelines for IETF specifications to support AI agent consumption and code generation. Intr +- **[draft-mishra-oauth-agent-grants](https://datatracker.ietf.org/doc/draft-mishra-oauth-agent-grants/)** (score: 4.0) — Extends OAuth 2.0 for AI agent authorization with human consent verification, revocation, and audit +- **[draft-barney-caam](https://datatracker.ietf.org/doc/draft-barney-caam/)** (score: 4.0) — Specifies Contextual Agent Authorization Mesh for runtime authorization of agents after discovery, p +- **[draft-nennemann-wimse-ect](https://datatracker.ietf.org/doc/draft-nennemann-wimse-ect/)** (score: 4.0) — Defines Execution Context Tokens as JWT extension to WIMSE for tracking task execution in distribute +- **[draft-berlinai-vera](https://datatracker.ietf.org/doc/draft-berlinai-vera/)** (score: 3.9) — Introduces VERA, a zero-trust architecture for AI agent security with five enforcement pillars and c +- **[draft-ietf-tls-deprecate-obsolete-kex](https://datatracker.ietf.org/doc/draft-ietf-tls-deprecate-obsolete-kex/)** (score: 3.8) — Deprecates obsolete key exchange methods in TLS 1.2 including finite field DH and RSA. Updates multi +- **[draft-srijal-agents-policy](https://datatracker.ietf.org/doc/draft-srijal-agents-policy/)** (score: 3.8) — Specifies AGENTS.TXT protocol as strict plaintext policy file for automated clients, bots, and crawl +- **[draft-zhao-nmop-network-management-agent](https://datatracker.ietf.org/doc/draft-zhao-nmop-network-management-agent/)** (score: 3.8) — Defines AI-driven Network Management Agent concept for Level 4 autonomous networks. Specifies integr +- **[draft-scim-agent-extension](https://datatracker.ietf.org/doc/draft-scim-agent-extension/)** (score: 3.7) — Extends SCIM 2.0 specification to manage agents and agentic applications across domains. Builds on e +- **[draft-rosenberg-aiproto-framework](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-framework/)** (score: 3.7) — Provides framework and requirements for AI agent protocols on the Internet. Surveys existing approac +- **[draft-melnikov-sasl2](https://datatracker.ietf.org/doc/draft-melnikov-sasl2/)** (score: 3.7) — Updates SASL framework to support modern authentication requirements including multi-factor authenti +- **[draft-ietf-lake-ra](https://datatracker.ietf.org/doc/draft-ietf-lake-ra/)** (score: 3.7) — Specifies remote attestation procedures integrated with EDHOC lightweight key exchange protocol. Ena +- **[draft-ietf-lamps-rfc7030-csrattrs](https://datatracker.ietf.org/doc/draft-ietf-lamps-rfc7030-csrattrs/)** (score: 3.7) — Updates RFC7030 to clarify CSR Attributes Response encoding and adds template-based approach for EST +- **[draft-gaikwad-south-authorization](https://datatracker.ietf.org/doc/draft-gaikwad-south-authorization/)** (score: 3.7) — Authorization protocol supporting probabilistic decisions for agents and services. Enables uncertain +- **[draft-kotecha-agentic-dispute-protocol](https://datatracker.ietf.org/doc/draft-kotecha-agentic-dispute-protocol/)** (score: 3.6) — Defines a protocol for autonomous agents to file and resolve disputes through structured automated p +- **[draft-vandoulas-aidp](https://datatracker.ietf.org/doc/draft-vandoulas-aidp/)** (score: 3.6) — Defines a comprehensive control-plane protocol for secure agent interactions with delegation, author +- **[draft-messous-eat-ai](https://datatracker.ietf.org/doc/draft-messous-eat-ai/)** (score: 3.6) — Defines an Entity Attestation Token profile for remote attestation of autonomous AI agents, specifyi +- **[draft-gaikwad-aps-profile](https://datatracker.ietf.org/doc/draft-gaikwad-aps-profile/)** (score: 3.6) — Storage service profile for agent persistent state including embeddings, preferences, and audit logs +- **[draft-pbs-sidrops-roaanycast](https://datatracker.ietf.org/doc/draft-pbs-sidrops-roaanycast/)** (score: 3.6) — Defines best practices for managing Route Origin Authorizations (ROAs) for globally anycasted servic +- **[draft-song-oauth-ai-agent-collaborate-authz](https://datatracker.ietf.org/doc/draft-song-oauth-ai-agent-collaborate-authz/)** (score: 3.5) — Proposes OAuth 2.0 extension for multi-AI agent collaboration with applier-on-behalf-of authorizatio +- **[draft-wang-hjs-accountability](https://datatracker.ietf.org/doc/draft-wang-hjs-accountability/)** (score: 3.5) — Defines HJS accountability layer for AI agents using blockchain-anchored timestamps to create immuta +- **[draft-ahn-nmrg-5g-security-i2nsf-framework](https://datatracker.ietf.org/doc/draft-ahn-nmrg-5g-security-i2nsf-framework/)** (score: 3.5) — Presents integrated framework for automated 5G edge network security using I2NSF architecture and In +- **[draft-jia-oauth-scope-aggregation](https://datatracker.ietf.org/doc/draft-jia-oauth-scope-aggregation/)** (score: 3.5) — Extends OAuth 2.0 with scope aggregation to reduce authorization round-trips in multi-step AI agent +- **[draft-meta-layer-overview](https://datatracker.ietf.org/doc/draft-meta-layer-overview/)** (score: 3.5) — Introduces Meta-layer concept as coordination substrate for presence, annotation, and governance on +- **[draft-yuan-rtgwg-security-agent-usecase](https://datatracker.ietf.org/doc/draft-yuan-rtgwg-security-agent-usecase/)** (score: 3.4) — Proposes AI Network Security Agents for routers to provide intelligent, adaptive security capabiliti +- **[draft-huang-rats-agentic-eat-cap-attest](https://datatracker.ietf.org/doc/draft-huang-rats-agentic-eat-cap-attest/)** (score: 3.4) — Extends Entity Attestation Token (EAT) to support capability attestation for agentic AI systems. Ena +- **[draft-romanchuk-normative-admissibility](https://datatracker.ietf.org/doc/draft-romanchuk-normative-admissibility/)** (score: 3.4) — Establishes a framework for evaluating whether autonomous agent speech acts are admissible based on +- **[draft-cosmos-protocol-specification](https://datatracker.ietf.org/doc/draft-cosmos-protocol-specification/)** (score: 3.3) — Defines comprehensive badge-based identity and communication system with trust scoring, post-quantum +- **[draft-jeong-opsawg-intent-based-sdv-framework](https://datatracker.ietf.org/doc/draft-jeong-opsawg-intent-based-sdv-framework/)** (score: 3.3) — Proposes intent-based management framework for Software-Defined Vehicles in ITS environments. Covers +- **[draft-diaconu-agents-authz-info-sharing](https://datatracker.ietf.org/doc/draft-diaconu-agents-authz-info-sharing/)** (score: 3.2) — Addresses authorization challenges in distributed multi-agent systems across multiple domains. Cover +- **[draft-ahn-opsawg-5g-security-i2nsf-framework](https://datatracker.ietf.org/doc/draft-ahn-opsawg-5g-security-i2nsf-framework/)** (score: 3.2) — Proposes an integrated security framework for 5G edge networks using I2NSF architecture with Intent- +- **[draft-kale-agntcy-federated-privacy](https://datatracker.ietf.org/doc/draft-kale-agntcy-federated-privacy/)** (score: 3.2) — Specifies architecture for privacy-preserving federated learning across multi-tenant AI agent system +- **[draft-yao-agent-auth-considerations](https://datatracker.ietf.org/doc/draft-yao-agent-auth-considerations/)** (score: 3.1) — Extends OAuth model for AI agent authentication and authorization in Agent Communication Networks. P +- **[draft-ietf-lamps-e2e-mail-guidance](https://datatracker.ietf.org/doc/draft-ietf-lamps-e2e-mail-guidance/)** (score: 3.0) — Provides comprehensive guidance for implementing end-to-end email encryption securely. Addresses usa +- **[draft-hong-nmrg-agenticai-ps](https://datatracker.ietf.org/doc/draft-hong-nmrg-agenticai-ps/)** (score: 3.0) — Presents problem statement and motivations for applying Agentic AI to network management. Emphasizes +- **[draft-cui-dmsc-agent-cdi](https://datatracker.ietf.org/doc/draft-cui-dmsc-agent-cdi/)** (score: 3.0) — Defines comprehensive framework for cross-domain AI agent interoperability including identity federa +- **[draft-condrey-rats-witnessd-enrollment](https://datatracker.ietf.org/doc/draft-condrey-rats-witnessd-enrollment/)** (score: 3.0) — Specifies trust anchor bootstrap protocol for proof of process framework. Defines device enrollment, \ No newline at end of file diff --git a/data/reports/overlap-clusters.md b/data/reports/overlap-clusters.md new file mode 100644 index 0000000..04edc09 --- /dev/null +++ b/data/reports/overlap-clusters.md @@ -0,0 +1,152 @@ +# IETF AI/Agent Draft Overlap Analysis +*Generated 2026-02-28 — 260 drafts analyzed, embeddings via nomic-embed-text* + +## Summary + +- **42 clusters** at 0.85 similarity threshold (topically overlapping) +- **34 clusters** at 0.90 threshold (near-duplicates or same-author variants) +- Heaviest overlap in OAuth agent auth (13 drafts) and agent gateway/collaboration (10 drafts) + +--- + +## Near-Duplicates (same draft, different WG or renamed) + +| Draft A | Draft B | Reason | +|---------|---------|--------| +| draft-a2a-moqt-transport | draft-nandakumar-a2a-moqt-transport | Same draft | +| draft-abbey-scim-agent-extension | draft-scim-agent-extension | Same draft | +| draft-ahn-nmrg-5g-security-i2nsf-framework | draft-ahn-opsawg-5g-security-i2nsf-framework | Different WG | +| draft-ar-emu-hybrid-pqc-eapaka | draft-ietf-emu-hybrid-pqc-eapaka | WG adoption | +| draft-aylward-aiga-1 | draft-aylward-aiga-2 | Version | +| draft-bastian-jose-dvs | draft-bastian-jose-pkdh | Renamed | +| draft-bernardos-cats-isac-uc | draft-bernardos-green-isac-uc | Different WG | +| draft-cui-nmrg-llm-nm | draft-irtf-nmrg-llm-nm | WG adoption | +| draft-eggert-mailmaint-uaautoconf | draft-ietf-mailmaint-pacc | WG adoption | +| draft-happel-structured-email-trust | draft-ietf-sml-trust | WG adoption | +| draft-ietf-httpbis-layered-cookies | draft-ietf-httpbis-rfc6265bis | Versioned | +| draft-ietf-lamps-est-renewal-info | draft-yusef-lamps-rfc7030-renewal-recommendation | Same topic | +| draft-lake-pocero-authkem-edhoc | draft-pocero-authkem-edhoc | Renamed | +| draft-li-dmsc-macp | draft-li-dmsc-mcps-agw | Evolution | +| draft-men-rtgwg-agent-networking-digibank-scenario | draft-men-rtgwg-agent-networking-in-digibank | Renamed | +| draft-pang-agents-networking-scenarios | draft-zl-agents-networking-scenarios | Same content | +| draft-rosenberg-aiproto | draft-rosenberg-aiproto-nact | Renamed | +| draft-rosenberg-aiproto-cheq | draft-rosenberg-cheq | Renamed | +| draft-sun-zhang-iaip | draft-sz-dmsc-iaip | Different WG | +| draft-templin-manet-inet | draft-templin-manet-inet-omni | Evolution | +| draft-tong-network-agent-use-cases-in-6g | draft-yu-ai-agent-use-cases-in-6g | Competing | +| draft-zeng-mcp-troubleshooting | draft-zm-rtgwg-mcp-troubleshooting | Different WG | +| draft-zheng-agent-identity-management | draft-zheng-dispatch-agent-identity-management | Different WG | +| draft-zhul-dhc-bnc-up-specific-suboption | draft-zhul-intarea-bnc-up-specific-suboption | Different WG | +| draft-zl-agents-networking-architecture | draft-zl-agents-networking-framework | Same series | + +--- + +## Major Competing Clusters + +### 1. OAuth for AI Agents (13 drafts) — MOST CROWDED + +All trying to solve: how do AI agents authenticate and get authorized via OAuth? + +| Draft | Approach | +|-------|----------| +| draft-aap-oauth-profile | OAuth 2.0 profile for autonomous agents | +| draft-aylward-daap-v2 | Distributed accountability protocol | +| draft-barney-caam | Contextual agent authorization mesh | +| draft-chen-ai-agent-auth-new-requirements | New auth requirements analysis | +| draft-chen-oauth-rar-agent-extensions | RAR extensions for agent policy | +| draft-goswami-agentic-jwt | Agentic JWT for autonomous systems | +| draft-jia-oauth-scope-aggregation | Scope aggregation for multi-step workflows | +| draft-liu-agent-operation-authorization | Verifiable delegation via JWT | +| draft-liu-oauth-a2a-profile | A2A profile for transaction tokens | +| draft-oauth-ai-agents-on-behalf-of-user | On-behalf-of-user extension | +| draft-song-oauth-ai-agent-authorization | Target-based authorization | +| draft-song-oauth-ai-agent-collaborate-authz | Multi-agent collaboration authz | +| draft-yao-agent-auth-considerations | Auth considerations analysis | + +**Gap:** Most focus on single-agent auth. Few address chained delegation across multiple agents or revocation in real-time agent-to-agent workflows. + +### 2. Agent Gateway / Multi-Agent Collaboration (10 drafts) + +All trying to solve: how do agents from different platforms/ecosystems collaborate? + +| Draft | Approach | +|-------|----------| +| draft-agent-gw | Semantic routing gateway | +| draft-campbell-agentic-http | HTTP best practices | +| draft-cui-dmsc-agent-cdi | Cross-domain interop framework | +| draft-fu-nmop-agent-communication-framework | Network AIOps comm framework | +| draft-han-rtgwg-agent-gateway-intercomm-framework | Gateway intercomm | +| draft-li-dmsc-inf-architecture | DMSC infrastructure architecture | +| draft-li-dmsc-macp | Multi-agent collaboration protocol suite | +| draft-liu-dmsc-acps-arc | Agent collaboration protocols arch | +| draft-yang-dmsc-ioa-task-protocol | IoA task protocol | +| draft-yang-ioa-protocol | IoA protocol | + +**Gap:** No draft addresses dynamic trust establishment between gateways, or how to handle conflicting semantic schemas across ecosystems. + +### 3. Agent Discovery (6 drafts) + +All trying to solve: how do you find and invoke an AI agent? + +| Draft | Approach | +|-------|----------| +| draft-cui-ai-agent-discovery-invocation | Discovery + invocation protocol | +| draft-gaikwad-woa | Web of Agents | +| draft-mozley-aidiscovery | AI Discovery problem statement | +| draft-mozleywilliams-dnsop-bandaid | DNS-based agent discovery | +| draft-narajala-ans | Agent Name Service (DNS-based) | +| draft-pioli-agent-discovery | Agent Registration & Discovery Protocol | + +**Gap:** None adequately addresses discovery across trust boundaries or privacy-preserving discovery (finding agents without revealing your intent). + +### 4. Intent-Based Agent Routing (5 drafts) + +| Draft | Approach | +|-------|----------| +| draft-ainp-protocol | AI-native semantic protocol | +| draft-li-semantic-routing-architecture | Semantic routing architecture | +| draft-sun-zhang-iaip | Intent-based agent interconnection | +| draft-sz-dmsc-iaip | Same, different WG | +| draft-zeng-opsawg-llm-netconf-gap | LLM-driven netconf gap analysis | + +**Gap:** No draft defines how to verify that an agent's stated intent matches its actual behavior. + +### 5. 6G Agent Requirements (6 drafts) + +| Draft | Approach | +|-------|----------| +| draft-du-ai-agent-communication-6g-aspect | 6G agent comm requirements | +| draft-hw-ai-agent-6g | Agent protocol requirements for 6G | +| draft-liu-dmsc-gw-requirements | Gateway requirements | +| draft-mao-rtgwg-apn-framework-for-ioa | APN framework for IoA | +| draft-rosenberg-aiproto-framework | General agent protocol framework | +| draft-tong-network-agent-use-cases-in-6g | 6G use cases | + +**Gap:** Heavy on requirements, light on actual protocol mechanisms. Most are wish lists rather than specifications. + +### 6. Agent Identity via SCIM/Registry (6 drafts) + +| Draft | Approach | +|-------|----------| +| draft-abbey-scim-agent-extension | SCIM extension for agents | +| draft-liang-agentdns | Root domain naming for agents | +| draft-scim-agent-extension | Same as abbey (co-submitted) | +| draft-wahl-scim-agent-schema | SCIM agentic identity schema | +| draft-zheng-agent-identity-management | Agent identity in IoA | +| draft-zheng-dispatch-agent-identity-management | Same, different WG | + +**Gap:** No draft addresses identity lifecycle — what happens when an agent is retired, compromised, or forked? + +--- + +## Underserved Areas (potential gaps to fill) + +Based on what's NOT well covered: + +1. **Agent accountability & audit trails** — Only draft-aylward-daap-v2 and draft-birkholz-verifiable-agent-conversations tackle this seriously +2. **Token/cost efficiency in agent protocols** — Only draft-chang-agent-token-efficient addresses token bloat +3. **Agent safety constraints at the protocol level** — AI safety/alignment has highest avg score (3.8) but fewest drafts (36) +4. **Cross-trust-boundary agent delegation** — Chained auth across org boundaries barely addressed +5. **Privacy-preserving agent discovery** — No draft covers this +6. **Agent behavior verification** — Intent vs. actual behavior mismatch detection +7. **Agent identity lifecycle** — Retirement, revocation, compromise recovery diff --git a/data/reports/overview.md b/data/reports/overview.md new file mode 100644 index 0000000..610b662 --- /dev/null +++ b/data/reports/overview.md @@ -0,0 +1,207 @@ +# IETF AI/Agent Draft Overview +*Generated 2026-02-27 23:29 UTC — 200 rated / 260 tracked drafts* + +| Score | Draft | Date | N | M | O | Mom | R | Summary | +|------:|-------|------|:-:|:-:|:-:|:---:|:-:|---------| +| 4.8 | [draft-aylward-daap-v2](https://datatracker.ietf.org/doc/draft-aylward-daap-v2/) | 2026-01-02 | █ | ▇ | ▁ | █ | █ | Defines comprehensive protocol for AI agent accountability including authenticat... | +| 4.6 | [draft-guy-bary-stamp-protocol](https://datatracker.ietf.org/doc/draft-guy-bary-stamp-protocol/) | 2025-11-03 | █ | ▇ | ▁ | ▇ | █ | Defines STAMP protocol for cryptographic delegation and proof in AI agent system... | +| 4.6 | [draft-drake-email-tpm-attestation](https://datatracker.ietf.org/doc/draft-drake-email-tpm-attestation/) | 2026-02-20 | █ | ▇ | ▁ | ▇ | █ | Defines hardware attestation for email using TPM verification chains to prevent ... | +| 4.6 | [draft-ietf-lake-app-profiles](https://datatracker.ietf.org/doc/draft-ietf-lake-app-profiles/) | 2025-11-21 | ▇ | █ | ▃ | █ | █ | Defines canonical CBOR representation for EDHOC application profiles and coordin... | +| 4.5 | [draft-goswami-agentic-jwt](https://datatracker.ietf.org/doc/draft-goswami-agentic-jwt/) | 2026-01-01 | █ | ▇ | ▃ | ▇ | █ | Extends OAuth 2.0 with Agentic JWT to address authorization challenges in autono... | +| 4.5 | [draft-chang-agent-token-efficient](https://datatracker.ietf.org/doc/draft-chang-agent-token-efficient/) | 2026-01-12 | █ | ▇ | ▃ | ▇ | █ | Defines ADOL (Agentic Data Optimization Layer) to address token bloat in agent c... | +| 4.5 | [draft-birkholz-verifiable-agent-conversations](https://datatracker.ietf.org/doc/draft-birkholz-verifiable-agent-conversations/) | 2026-02-25 | ▇ | █ | ▃ | ▇ | █ | Defines CDDL-based data format for verifiable agent conversation records using C... | +| 4.5 | [draft-aylward-aiga-2](https://datatracker.ietf.org/doc/draft-aylward-aiga-2/) | 2026-01-26 | █ | ▅ | ▁ | ▇ | █ | Comprehensive AI governance framework with tiered risk model, federated authorit... | +| 4.4 | [draft-ietf-tls-ecdhe-mlkem](https://datatracker.ietf.org/doc/draft-ietf-tls-ecdhe-mlkem/) | 2026-02-17 | ▇ | ▇ | ▃ | █ | █ | Defines hybrid post-quantum key agreement mechanisms for TLS 1.3 that combine ML... | +| 4.3 | [draft-cui-nmrg-llm-benchmark](https://datatracker.ietf.org/doc/draft-cui-nmrg-llm-benchmark/) | 2025-12-30 | ▇ | ▇ | ▁ | ▇ | █ | Provides comprehensive evaluation framework for LLM-based network configuration ... | +| 4.3 | [draft-ietf-anima-constrained-voucher](https://datatracker.ietf.org/doc/draft-ietf-anima-constrained-voucher/) | 2026-02-27 | ▇ | █ | ▅ | ▇ | █ | Adapts BRSKI secure device onboarding for constrained IoT environments using CBO... | +| 4.3 | [draft-ietf-hpke-hpke](https://datatracker.ietf.org/doc/draft-ietf-hpke-hpke/) | 2025-11-04 | ▅ | █ | ▃ | █ | █ | Comprehensive specification for hybrid public key encryption supporting arbitrar... | +| 4.3 | [draft-mw-wimse-transitive-attestation](https://datatracker.ietf.org/doc/draft-mw-wimse-transitive-attestation/) | 2026-02-26 | █ | ▃ | ▃ | █ | █ | Defines WIMSE profile for cryptographically binding workload identities to their... | +| 4.2 | [draft-wmz-nmrg-agent-ndt-arch](https://datatracker.ietf.org/doc/draft-wmz-nmrg-agent-ndt-arch/) | 2026-02-24 | ▇ | ▇ | ▃ | ▇ | █ | Comprehensive architecture combining Network Digital Twin with Agentic AI for in... | +| 4.2 | [draft-dhir-http-agent-profile](https://datatracker.ietf.org/doc/draft-dhir-http-agent-profile/) | 2025-11-24 | ▇ | ▇ | ▃ | ▇ | █ | Defines HTTP Agent Profile for authenticating agent traffic, separating human fr... | +| 4.2 | [draft-chen-oauth-rar-agent-extensions](https://datatracker.ietf.org/doc/draft-chen-oauth-rar-agent-extensions/) | 2026-02-04 | ▇ | ▇ | ▃ | ▇ | █ | Extends OAuth RAR with policy_context and lifecycle_binding members for AI agent... | +| 4.2 | [draft-aylward-aiga-1](https://datatracker.ietf.org/doc/draft-aylward-aiga-1/) | 2025-11-03 | ▇ | ▇ | ▃ | ▇ | █ | Specifies AI Governance and Accountability Protocol with tiered risk-based gover... | +| 4.2 | [draft-mallick-muacp](https://datatracker.ietf.org/doc/draft-mallick-muacp/) | 2026-01-17 | ▇ | ▇ | ▃ | ▇ | █ | Resource-efficient messaging protocol specifically designed for constrained IoT/... | +| 4.2 | [draft-aap-oauth-profile](https://datatracker.ietf.org/doc/draft-aap-oauth-profile/) | 2026-02-07 | ▇ | ▇ | ▃ | ▇ | █ | Defines an OAuth 2.0 authorization profile specifically for autonomous AI agents... | +| 4.2 | [draft-gaikwad-llm-benchmarking-methodology](https://datatracker.ietf.org/doc/draft-gaikwad-llm-benchmarking-methodology/) | 2026-01-20 | ▇ | ▇ | ▃ | ▇ | █ | Defines comprehensive benchmarking methodologies for LLM inference serving syste... | +| 4.2 | [draft-ietf-sshm-mlkem-hybrid-kex](https://datatracker.ietf.org/doc/draft-ietf-sshm-mlkem-hybrid-kex/) | 2026-02-26 | ▇ | ▇ | ▃ | ▇ | █ | Defines post-quantum hybrid key exchange combining ML-KEM with traditional ECDH ... | +| 4.2 | [draft-ietf-tls-extended-key-update](https://datatracker.ietf.org/doc/draft-ietf-tls-extended-key-update/) | 2026-02-19 | ▇ | ▇ | ▃ | ▇ | █ | Adds post-compromise security to TLS 1.3 through fresh Diffie-Hellman exchanges ... | +| 4.2 | [draft-narajala-ans](https://datatracker.ietf.org/doc/draft-narajala-ans/) | 2025-11-18 | █ | ▅ | ▃ | ▅ | █ | Introduces Agent Name Service (ANS) as a DNS-based universal directory for AI ag... | +| 4.2 | [draft-oauth-transaction-tokens-for-agents](https://datatracker.ietf.org/doc/draft-oauth-transaction-tokens-for-agents/) | 2026-02-11 | ▇ | ▇ | ▅ | ▇ | █ | Extends OAuth Transaction Tokens framework to support agent context propagation ... | +| 4.2 | [draft-zhang-dmsc-mas-communication](https://datatracker.ietf.org/doc/draft-zhang-dmsc-mas-communication/) | 2026-01-16 | ▇ | ▅ | ▁ | ▇ | █ | Analyzes security risks in multi-agent communication and limitations of existing... | +| 4.2 | [draft-jewell-aibdp](https://datatracker.ietf.org/doc/draft-jewell-aibdp/) | 2026-02-16 | █ | ▃ | ▃ | ▇ | █ | Defines AI Boundary Declaration Protocol for expressing content usage boundaries... | +| 4.2 | [draft-li-dmsc-macp](https://datatracker.ietf.org/doc/draft-li-dmsc-macp/) | 2026-02-26 | ▇ | ▇ | ▅ | ▇ | █ | Specifies a comprehensive multi-agent collaboration protocol suite using Agent G... | +| 4.2 | [draft-gaikwad-llm-benchmarking-profiles](https://datatracker.ietf.org/doc/draft-gaikwad-llm-benchmarking-profiles/) | 2026-01-20 | ▇ | ▇ | ▅ | ▇ | █ | Defines performance benchmarking profiles binding terminology and methodology to... | +| 4.2 | [draft-lake-pocero-authkem-ikr-edhoc](https://datatracker.ietf.org/doc/draft-lake-pocero-authkem-ikr-edhoc/) | 2026-01-08 | ▇ | ▇ | ▅ | ▇ | █ | Specifies an optimized KEM-based authentication variant for EDHOC protocol in sc... | +| 4.1 | [draft-cui-dns-native-agent-naming-resolution](https://datatracker.ietf.org/doc/draft-cui-dns-native-agent-naming-resolution/) | 2025-12-22 | ▇ | ▇ | ▃ | ▅ | █ | Specifies DNS-native naming and resolution for AI agents using FQDNs and SVCB re... | +| 4.1 | [draft-liu-agent-operation-authorization](https://datatracker.ietf.org/doc/draft-liu-agent-operation-authorization/) | 2025-11-25 | ▇ | ▅ | ▃ | ▇ | █ | Specifies framework for verifiable delegation of actions from humans to AI agent... | +| 4.1 | [draft-yue-anima-agent-recovery-networks](https://datatracker.ietf.org/doc/draft-yue-anima-agent-recovery-networks/) | 2026-02-06 | ▇ | ▅ | ▃ | ▇ | █ | Defines task-oriented multi-agent framework for fault recovery in converged mobi... | +| 4.1 | [draft-cui-nmrg-llm-nm](https://datatracker.ietf.org/doc/draft-cui-nmrg-llm-nm/) | 2025-10-19 | ▇ | ▅ | ▃ | ▇ | █ | Defines framework for collaborative network management between LLM agents and hu... | +| 4.1 | [draft-schulze-ecap](https://datatracker.ietf.org/doc/draft-schulze-ecap/) | 2025-12-10 | ▇ | ▅ | ▃ | ▇ | █ | ECAP defines a cryptographically-verified protocol for web crawlers to obtain co... | +| 4.1 | [draft-nederveld-adl](https://datatracker.ietf.org/doc/draft-nederveld-adl/) | 2026-02-18 | ▇ | ▅ | ▃ | ▇ | █ | Defines ADL, a JSON-based standard for describing AI agents including their capa... | +| 4.1 | [draft-mw-spice-actor-chain](https://datatracker.ietf.org/doc/draft-mw-spice-actor-chain/) | 2026-02-26 | ▇ | ▅ | ▃ | ▇ | █ | Extends OAuth 2.0 Token Exchange with cryptographically verifiable actor chains ... | +| 4.1 | [draft-spm-lake-pqsuites](https://datatracker.ietf.org/doc/draft-spm-lake-pqsuites/) | 2025-10-20 | ▇ | ▅ | ▃ | ▇ | █ | Defines quantum-resistant cipher suites for EDHOC using ML-DSA signatures and ML... | +| 4.0 | [draft-steele-agent-considerations](https://datatracker.ietf.org/doc/draft-steele-agent-considerations/) | 2025-11-05 | █ | ▅ | ▁ | ▅ | ▇ | Defines guidelines for IETF specifications to support AI agent consumption and c... | +| 4.0 | [draft-mishra-oauth-agent-grants](https://datatracker.ietf.org/doc/draft-mishra-oauth-agent-grants/) | 2026-02-27 | ▇ | ▇ | ▅ | ▅ | █ | Extends OAuth 2.0 for AI agent authorization with human consent verification, re... | +| 4.0 | [draft-ietf-lisp-nexagon](https://datatracker.ietf.org/doc/draft-ietf-lisp-nexagon/) | 2025-09-23 | ▇ | ▇ | ▃ | ▇ | ▇ | Combines LISP with H3 spatial indexing to create geospatial intelligence network... | +| 4.0 | [draft-barney-caam](https://datatracker.ietf.org/doc/draft-barney-caam/) | 2026-02-25 | ▇ | ▇ | ▅ | ▅ | █ | Specifies Contextual Agent Authorization Mesh for runtime authorization of agent... | +| 4.0 | [draft-nennemann-wimse-ect](https://datatracker.ietf.org/doc/draft-nennemann-wimse-ect/) | 2026-02-25 | ▇ | ▇ | ▃ | ▇ | ▇ | Defines Execution Context Tokens as JWT extension to WIMSE for tracking task exe... | +| 3.9 | [draft-ainp-protocol](https://datatracker.ietf.org/doc/draft-ainp-protocol/) | 2025-11-24 | █ | ▃ | ▁ | ▃ | █ | Defines semantic communication protocol for AI agents using intent-based routing... | +| 3.9 | [draft-ietf-lake-authz](https://datatracker.ietf.org/doc/draft-ietf-lake-authz/) | 2025-11-21 | ▇ | ▇ | ▅ | ▇ | ▇ | Specifies lightweight authorization using EDHOC for zero-touch device onboarding... | +| 3.9 | [draft-ietf-ace-coap-est-oscore](https://datatracker.ietf.org/doc/draft-ietf-ace-coap-est-oscore/) | 2025-10-20 | ▇ | ▇ | ▅ | ▇ | ▇ | Specifies carrying EST certificate provisioning over CoAP using OSCORE protectio... | +| 3.9 | [draft-nandakumar-agent-sd-jwt](https://datatracker.ietf.org/doc/draft-nandakumar-agent-sd-jwt/) | 2025-10-20 | ▇ | ▅ | ▃ | ▅ | █ | This draft defines SD-Card, a Selective Disclosure JWT encoding of Agent Cards t... | +| 3.9 | [draft-wahl-scim-agent-schema](https://datatracker.ietf.org/doc/draft-wahl-scim-agent-schema/) | 2026-02-20 | ▇ | ▅ | ▃ | ▅ | █ | This draft extends the SCIM (System for Cross-domain Identity Management) protoc... | +| 3.9 | [draft-agent-gw](https://datatracker.ietf.org/doc/draft-agent-gw/) | 2026-02-16 | ▇ | ▅ | ▃ | ▅ | █ | Proposes an Intelligent Agent Communication Gateway for large-scale multi-agent ... | +| 3.9 | [draft-mp-agntcy-ads](https://datatracker.ietf.org/doc/draft-mp-agntcy-ads/) | 2026-02-24 | ▇ | ▅ | ▃ | ▅ | █ | Describes Agent Directory Service for storing and discovering AI agent metadata ... | +| 3.9 | [draft-rosenberg-aiproto-cheq](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-cheq/) | 2025-10-20 | ▇ | ▅ | ▃ | ▅ | █ | Proposes CHEQ protocol for human confirmation of AI agent decisions before execu... | +| 3.9 | [draft-zeng-opsawg-llm-netconf-gap](https://datatracker.ietf.org/doc/draft-zeng-opsawg-llm-netconf-gap/) | 2025-11-02 | ▇ | ▅ | ▃ | ▅ | █ | Analyzes gaps in existing network configuration protocols for LLM-driven intent-... | +| 3.9 | [draft-akhavain-moussa-ai-network](https://datatracker.ietf.org/doc/draft-akhavain-moussa-ai-network/) | 2025-11-02 | ▇ | ▅ | ▃ | ▅ | █ | Proposes Data and Agent Aware-Inference and Training Network (DA-ITN) architectu... | +| 3.9 | [draft-rosenberg-aiproto-a2t](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-a2t/) | 2025-11-06 | ▇ | ▅ | ▃ | ▅ | █ | Defines Agent-to-Tool (A2T) protocol for integrating third-party APIs into AI ag... | +| 3.9 | [draft-berlinai-vera](https://datatracker.ietf.org/doc/draft-berlinai-vera/) | 2026-02-12 | ▇ | ▅ | ▃ | ▅ | █ | Introduces VERA, a zero-trust architecture for AI agent security with five enfor... | +| 3.9 | [draft-josefsson-chempat](https://datatracker.ietf.org/doc/draft-josefsson-chempat/) | 2025-10-20 | ▇ | ▅ | ▃ | ▅ | █ | Generic framework for Post-Quantum/Traditional hybrid key encapsulation mechanis... | +| 3.9 | [draft-cui-ai-agent-discovery-invocation](https://datatracker.ietf.org/doc/draft-cui-ai-agent-discovery-invocation/) | 2026-02-12 | ▅ | ▇ | ▅ | ▇ | █ | Proposes standardized protocol for AI agent discovery and invocation with common... | +| 3.9 | [draft-ravikiran-clawdentity-protocol](https://datatracker.ietf.org/doc/draft-ravikiran-clawdentity-protocol/) | 2026-02-21 | ▅ | ▇ | ▅ | ▇ | █ | Specifies Clawdentity protocol for cryptographic identity and trust in AI agent ... | +| 3.9 | [draft-jurkovikj-httpapi-agentic-state](https://datatracker.ietf.org/doc/draft-jurkovikj-httpapi-agentic-state/) | 2025-12-10 | ▇ | ▇ | ▃ | ▅ | ▇ | Defines Agentic State Transfer (AST) HTTP profile for managing canonical resourc... | +| 3.9 | [draft-tejido-swp-core](https://datatracker.ietf.org/doc/draft-tejido-swp-core/) | 2026-02-20 | ▇ | ▇ | ▃ | ▅ | ▇ | Specifies SlimWire Protocol Core, a binary framing layer for agent/tool messagin... | +| 3.9 | [draft-bradleylundberg-cfrg-arkg](https://datatracker.ietf.org/doc/draft-bradleylundberg-cfrg-arkg/) | 2026-02-27 | ▇ | ▇ | ▃ | ▅ | ▇ | Defines Asynchronous Remote Key Generation algorithm enabling delegation of publ... | +| 3.8 | [draft-ietf-emu-hybrid-pqc-eapaka](https://datatracker.ietf.org/doc/draft-ietf-emu-hybrid-pqc-eapaka/) | 2026-02-26 | ▇ | ▅ | ▃ | ▇ | ▇ | Enhances EAP-AKA' with post-quantum cryptography to address quantum computing th... | +| 3.8 | [draft-luan-rtgwg-sdaf](https://datatracker.ietf.org/doc/draft-luan-rtgwg-sdaf/) | 2026-02-25 | ▇ | ▅ | ▃ | ▇ | ▇ | Proposes symmetry-driven forwarding mechanism for LEO satellite networks to avoi... | +| 3.8 | [draft-chen-ai-agent-auth-new-requirements](https://datatracker.ietf.org/doc/draft-chen-ai-agent-auth-new-requirements/) | 2026-01-06 | ▇ | ▃ | ▁ | ▅ | █ | Identifies new authentication and authorization requirements for AI agents that ... | +| 3.8 | [draft-sogomonian-ai-uri-scheme](https://datatracker.ietf.org/doc/draft-sogomonian-ai-uri-scheme/) | 2025-10-03 | ▇ | ▃ | ▁ | ▅ | █ | Defines experimental AI URI scheme for dedicated AI resource access. Enables nat... | +| 3.8 | [draft-ietf-tls-deprecate-obsolete-kex](https://datatracker.ietf.org/doc/draft-ietf-tls-deprecate-obsolete-kex/) | 2026-01-23 | ▃ | ▇ | ▁ | ▇ | █ | Deprecates obsolete key exchange methods in TLS 1.2 including finite field DH an... | +| 3.8 | [draft-srijal-agents-policy](https://datatracker.ietf.org/doc/draft-srijal-agents-policy/) | 2025-10-07 | ▅ | ▅ | ▃ | ▇ | █ | Specifies AGENTS.TXT protocol as strict plaintext policy file for automated clie... | +| 3.8 | [draft-abbey-scim-agent-extension](https://datatracker.ietf.org/doc/draft-abbey-scim-agent-extension/) | 2025-10-16 | ▇ | ▅ | ▁ | ▅ | ▇ | Extends SCIM 2.0 protocol to manage AI agents and agentic applications across do... | +| 3.8 | [draft-zhao-nmop-network-management-agent](https://datatracker.ietf.org/doc/draft-zhao-nmop-network-management-agent/) | 2026-02-27 | ▇ | ▃ | ▅ | ▇ | █ | Defines AI-driven Network Management Agent concept for Level 4 autonomous networ... | +| 3.8 | [draft-eckert-anima-acp-free-ani](https://datatracker.ietf.org/doc/draft-eckert-anima-acp-free-ani/) | 2025-10-20 | ▇ | ▇ | ▅ | ▅ | ▇ | Describes lightweight variation of Autonomic Networking Infrastructure without e... | +| 3.7 | [draft-scim-agent-extension](https://datatracker.ietf.org/doc/draft-scim-agent-extension/) | 2025-10-11 | ▅ | ▇ | ▃ | ▇ | ▇ | Extends SCIM 2.0 specification to manage agents and agentic applications across ... | +| 3.7 | [draft-zheng-agent-identity-management](https://datatracker.ietf.org/doc/draft-zheng-agent-identity-management/) | 2025-11-02 | ▇ | ▅ | ▇ | ▅ | █ | Defines comprehensive agent identity management for Internet of Agents systems. ... | +| 3.7 | [draft-yuan-rtgwg-traffic-agent-usecase](https://datatracker.ietf.org/doc/draft-yuan-rtgwg-traffic-agent-usecase/) | 2025-11-02 | ▅ | ▇ | ▃ | ▇ | ▇ | Presents use cases for AI agents optimizing network traffic through dynamic reso... | +| 3.7 | [draft-rosenberg-aiproto-framework](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-framework/) | 2025-10-20 | ▃ | ▇ | ▅ | █ | █ | Provides framework and requirements for AI agent protocols on the Internet. Surv... | +| 3.7 | [draft-an-nmrg-i2icf-cits](https://datatracker.ietf.org/doc/draft-an-nmrg-i2icf-cits/) | 2026-02-06 | ▇ | ▅ | ▅ | ▇ | ▇ | Defines framework for orchestrating In-Network Computing Functions in Cooperativ... | +| 3.7 | [draft-melnikov-sasl2](https://datatracker.ietf.org/doc/draft-melnikov-sasl2/) | 2025-06-05 | ▅ | ▇ | ▃ | ▇ | ▇ | Updates SASL framework to support modern authentication requirements including m... | +| 3.7 | [draft-ietf-lamps-attestation-freshness](https://datatracker.ietf.org/doc/draft-ietf-lamps-attestation-freshness/) | 2025-10-19 | ▅ | ▇ | ▃ | ▇ | ▇ | Outlines how nonces are supplied to end entities by RA/CA for inclusion in attes... | +| 3.7 | [draft-ietf-lake-ra](https://datatracker.ietf.org/doc/draft-ietf-lake-ra/) | 2025-11-21 | ▅ | ▇ | ▃ | ▇ | ▇ | Specifies remote attestation procedures integrated with EDHOC lightweight key ex... | +| 3.7 | [draft-ietf-lamps-rfc7030-csrattrs](https://datatracker.ietf.org/doc/draft-ietf-lamps-rfc7030-csrattrs/) | 2026-01-06 | ▅ | ▇ | ▃ | ▇ | ▇ | Updates RFC7030 to clarify CSR Attributes Response encoding and adds template-ba... | +| 3.7 | [draft-ietf-suit-firmware-encryption](https://datatracker.ietf.org/doc/draft-ietf-suit-firmware-encryption/) | 2025-12-08 | ▅ | ▇ | ▃ | ▇ | ▇ | Specifies encryption techniques for firmware and software payloads in SUIT manif... | +| 3.7 | [draft-ietf-lamps-est-renewal-info](https://datatracker.ietf.org/doc/draft-ietf-lamps-est-renewal-info/) | 2026-02-12 | ▅ | ▇ | ▃ | ▇ | ▇ | Extends EST protocol to provide server-side recommendations for certificate rene... | +| 3.7 | [draft-ietf-netconf-configuration-tracing](https://datatracker.ietf.org/doc/draft-ietf-netconf-configuration-tracing/) | 2025-11-03 | ▅ | ▇ | ▃ | ▇ | ▇ | Specifies a NETCONF mechanism to map configuration modifications to their origin... | +| 3.7 | [draft-gaikwad-south-authorization](https://datatracker.ietf.org/doc/draft-gaikwad-south-authorization/) | 2025-11-28 | ▇ | ▇ | ▃ | ▃ | ▇ | Authorization protocol supporting probabilistic decisions for agents and service... | +| 3.7 | [draft-sogomonian-aiip-architecture](https://datatracker.ietf.org/doc/draft-sogomonian-aiip-architecture/) | 2025-12-15 | █ | ▃ | ▁ | ▃ | ▇ | Defines architectural model for Artificial Intelligence Internet Protocol (AIIP)... | +| 3.7 | [draft-oauth-ai-agents-on-behalf-of-user](https://datatracker.ietf.org/doc/draft-oauth-ai-agents-on-behalf-of-user/) | 2026-02-27 | ▇ | ▅ | ▅ | ▃ | █ | This draft extends OAuth 2.0 to enable AI agents to securely obtain access token... | +| 3.7 | [draft-ni-a2a-ai-agent-security-requirements](https://datatracker.ietf.org/doc/draft-ni-a2a-ai-agent-security-requirements/) | 2025-11-02 | ▅ | ▅ | ▅ | ▇ | █ | Establishes security requirements for AI agents across their operational lifecyc... | +| 3.7 | [draft-rosenberg-aiproto](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto/) | 2025-10-20 | ▅ | ▇ | █ | ▇ | █ | Defines N-ACT protocol for AI agents to discover and invoke third-party tools an... | +| 3.7 | [draft-rosenberg-aiproto-nact](https://datatracker.ietf.org/doc/draft-rosenberg-aiproto-nact/) | 2025-10-20 | ▅ | ▇ | █ | ▇ | █ | Defines N-ACT protocol for AI agents to discover and invoke third-party tools an... | +| 3.7 | [draft-pocero-authkem-edhoc](https://datatracker.ietf.org/doc/draft-pocero-authkem-edhoc/) | 2025-10-25 | ▇ | ▅ | ▅ | ▃ | █ | Extends EDHOC with KEM-based authentication for post-quantum resistance. Enables... | +| 3.6 | [draft-zyyhl-agent-networks-framework](https://datatracker.ietf.org/doc/draft-zyyhl-agent-networks-framework/) | 2025-10-20 | ▇ | ▅ | ▃ | ▅ | ▇ | Defines comprehensive framework for AI agent networks based on Agent Network Pro... | +| 3.6 | [draft-kotecha-agentic-dispute-protocol](https://datatracker.ietf.org/doc/draft-kotecha-agentic-dispute-protocol/) | 2025-10-14 | █ | ▅ | ▁ | ▃ | ▅ | Defines a protocol for autonomous agents to file and resolve disputes through st... | +| 3.6 | [draft-mao-rtgwg-agent-comm-protocol-gap-analysis](https://datatracker.ietf.org/doc/draft-mao-rtgwg-agent-comm-protocol-gap-analysis/) | 2025-11-02 | ▇ | ▅ | ▃ | ▅ | ▇ | Analyzes gaps in existing networking and AI protocols for cross-device communica... | +| 3.6 | [draft-zlgsgl-rtgwg-agents-networking-framework](https://datatracker.ietf.org/doc/draft-zlgsgl-rtgwg-agents-networking-framework/) | 2025-11-03 | ▇ | ▅ | ▃ | ▅ | ▇ | Introduces a comprehensive agents networking framework for enterprise and broadb... | +| 3.6 | [draft-han-rtgwg-agent-gateway-intercomm-framework](https://datatracker.ietf.org/doc/draft-han-rtgwg-agent-gateway-intercomm-framework/) | 2026-01-30 | ▇ | ▅ | ▃ | ▅ | ▇ | Defines framework for intercommunication between Agent Gateways in Agent Interne... | +| 3.6 | [draft-yang-ioa-protocol](https://datatracker.ietf.org/doc/draft-yang-ioa-protocol/) | 2025-07-20 | ▇ | ▅ | ▃ | ▅ | ▇ | Defines the Internet of Agents Protocol for distributed collaboration among hete... | +| 3.6 | [draft-rosenberg-oauth-aauth](https://datatracker.ietf.org/doc/draft-rosenberg-oauth-aauth/) | 2025-10-20 | ▇ | ▅ | ▃ | ▅ | ▇ | Extends OAuth 2.1 for AI agents operating through PSTN/SMS channels to obtain ac... | +| 3.6 | [draft-rosenberg-cheq](https://datatracker.ietf.org/doc/draft-rosenberg-cheq/) | 2025-07-24 | ▇ | ▅ | ▃ | ▅ | ▇ | Proposes CHEQ protocol for human-in-the-loop confirmation of AI agent decisions ... | +| 3.6 | [draft-mozleywilliams-dnsop-bandaid](https://datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-bandaid/) | 2025-10-16 | ▇ | ▅ | ▃ | ▅ | ▇ | Proposes using DNS with SVCB records to enable AI agent discovery and capability... | +| 3.6 | [draft-zm-rtgwg-mcp-troubleshooting](https://datatracker.ietf.org/doc/draft-zm-rtgwg-mcp-troubleshooting/) | 2025-11-02 | ▇ | ▅ | ▃ | ▅ | ▇ | Proposes using Model Context Protocol (MCP) to enable LLM-based automated networ... | +| 3.6 | [draft-li-semantic-routing-architecture](https://datatracker.ietf.org/doc/draft-li-semantic-routing-architecture/) | 2025-11-04 | ▇ | ▅ | ▃ | ▅ | ▇ | Introduces semantic routing architecture using intent vectors and trust scores f... | +| 3.6 | [draft-vandoulas-aidp](https://datatracker.ietf.org/doc/draft-vandoulas-aidp/) | 2026-01-18 | ▇ | ▅ | ▃ | ▅ | ▇ | Defines a comprehensive control-plane protocol for secure agent interactions wit... | +| 3.6 | [draft-messous-eat-ai](https://datatracker.ietf.org/doc/draft-messous-eat-ai/) | 2026-02-24 | ▇ | ▅ | ▃ | ▅ | ▇ | Defines an Entity Attestation Token profile for remote attestation of autonomous... | +| 3.6 | [draft-cui-nmrg-auto-test](https://datatracker.ietf.org/doc/draft-cui-nmrg-auto-test/) | 2026-02-22 | ▇ | ▅ | ▃ | ▅ | ▇ | Framework for AI-assisted network protocol testing using LLMs and automated test... | +| 3.6 | [draft-mozleywilliams-dnsop-dnsaid](https://datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-dnsaid/) | 2026-02-24 | ▅ | ▇ | ▅ | ▇ | ▇ | Uses existing DNS infrastructure for AI agent discovery through structured names... | +| 3.6 | [draft-eggert-mailmaint-uaautoconf](https://datatracker.ietf.org/doc/draft-eggert-mailmaint-uaautoconf/) | 2025-09-28 | ▅ | ▇ | ▅ | ▇ | ▇ | Specifies automatic configuration mechanism for email, calendar, and contact app... | +| 3.6 | [draft-ietf-ace-edhoc-oscore-profile](https://datatracker.ietf.org/doc/draft-ietf-ace-edhoc-oscore-profile/) | 2025-10-20 | ▅ | ▇ | ▅ | ▇ | ▇ | Defines ACE framework profile using EDHOC for mutual authentication and OSCORE f... | +| 3.6 | [draft-gaikwad-aps-profile](https://datatracker.ietf.org/doc/draft-gaikwad-aps-profile/) | 2025-11-30 | ▇ | ▅ | ▁ | ▃ | ▇ | Storage service profile for agent persistent state including embeddings, prefere... | +| 3.6 | [draft-moreno-lisp-uberlay](https://datatracker.ietf.org/doc/draft-moreno-lisp-uberlay/) | 2025-10-09 | ▇ | ▇ | ▃ | ▅ | ▅ | Describes using LISP to interconnect multiple independent network overlays throu... | +| 3.6 | [draft-liu-oauth-a2a-profile](https://datatracker.ietf.org/doc/draft-liu-oauth-a2a-profile/) | 2025-10-20 | ▇ | ▃ | ▅ | ▅ | █ | Specifies OAuth Transaction Token profile for Agent-to-Agent communication. Embe... | +| 3.6 | [draft-liu-dmsc-acps-arc](https://datatracker.ietf.org/doc/draft-liu-dmsc-acps-arc/) | 2026-01-29 | ▅ | ▅ | ▇ | ▇ | █ | Proposes Agent Collaboration Protocols architecture for Internet of Agents, cove... | +| 3.6 | [draft-ietf-lake-edhoc-psk](https://datatracker.ietf.org/doc/draft-ietf-lake-edhoc-psk/) | 2025-11-21 | ▅ | ▇ | ▃ | ▅ | ▇ | Specifies pre-shared key authentication method for EDHOC key exchange protocol. ... | +| 3.6 | [draft-pbs-sidrops-roaanycast](https://datatracker.ietf.org/doc/draft-pbs-sidrops-roaanycast/) | 2025-09-03 | ▅ | ▇ | ▃ | ▅ | ▇ | Defines best practices for managing Route Origin Authorizations (ROAs) for globa... | +| 3.5 | [draft-liu-agent-context-protocol](https://datatracker.ietf.org/doc/draft-liu-agent-context-protocol/) | 2026-01-26 | ▇ | ▃ | ▃ | ▃ | █ | This draft proposes a standard protocol for AI agents to communicate context inf... | +| 3.5 | [draft-liang-agentdns](https://datatracker.ietf.org/doc/draft-liang-agentdns/) | 2025-10-09 | ▇ | ▅ | ▅ | ▅ | ▇ | Proposes a DNS-inspired naming and service discovery system for LLM agents to en... | +| 3.5 | [draft-song-oauth-ai-agent-collaborate-authz](https://datatracker.ietf.org/doc/draft-song-oauth-ai-agent-collaborate-authz/) | 2025-11-06 | ▇ | ▅ | ▅ | ▅ | ▇ | Proposes OAuth 2.0 extension for multi-AI agent collaboration with applier-on-be... | +| 3.5 | [draft-mozley-aidiscovery](https://datatracker.ietf.org/doc/draft-mozley-aidiscovery/) | 2025-10-15 | ▇ | ▃ | ▁ | ▅ | ▇ | Defines requirements and considerations for AI agent-to-agent discovery mechanis... | +| 3.5 | [draft-ye-problems-and-requirements-of-dns-for-ioa](https://datatracker.ietf.org/doc/draft-ye-problems-and-requirements-of-dns-for-ioa/) | 2025-11-02 | ▇ | ▃ | ▁ | ▅ | ▇ | Analyzes DNS challenges for Internet of Agents scenarios and identifies technica... | +| 3.5 | [draft-wang-hjs-accountability](https://datatracker.ietf.org/doc/draft-wang-hjs-accountability/) | 2026-02-21 | ▇ | ▃ | ▁ | ▅ | ▇ | Defines HJS accountability layer for AI agents using blockchain-anchored timesta... | +| 3.5 | [draft-irtf-nmrg-llm-nm](https://datatracker.ietf.org/doc/draft-irtf-nmrg-llm-nm/) | 2025-09-14 | ▇ | ▅ | ▅ | ▅ | ▇ | Defines framework for collaborative network management between LLMs and human op... | +| 3.5 | [draft-ahn-nmrg-5g-security-i2nsf-framework](https://datatracker.ietf.org/doc/draft-ahn-nmrg-5g-security-i2nsf-framework/) | 2026-02-25 | ▅ | ▇ | ▇ | ▇ | ▇ | Presents integrated framework for automated 5G edge network security using I2NSF... | +| 3.5 | [draft-jia-oauth-scope-aggregation](https://datatracker.ietf.org/doc/draft-jia-oauth-scope-aggregation/) | 2026-02-10 | ▅ | ▅ | ▃ | ▇ | ▇ | Extends OAuth 2.0 with scope aggregation to reduce authorization round-trips in ... | +| 3.5 | [draft-meta-layer-overview](https://datatracker.ietf.org/doc/draft-meta-layer-overview/) | 2025-10-06 | █ | ▁ | ▁ | ▃ | ▇ | Introduces Meta-layer concept as coordination substrate for presence, annotation... | +| 3.5 | [draft-ietf-emu-pqc-eapaka](https://datatracker.ietf.org/doc/draft-ietf-emu-pqc-eapaka/) | 2026-02-26 | ▅ | ▅ | ▃ | ▇ | ▇ | This draft proposes enhancing EAP-AKA' Forward Secrecy with Post-Quantum Key Enc... | +| 3.5 | [draft-chen-agent-decoupled-authorization-model](https://datatracker.ietf.org/doc/draft-chen-agent-decoupled-authorization-model/) | 2026-02-14 | ▇ | ▃ | ▅ | ▃ | █ | This draft proposes a decoupled authorization framework for AI agents that enabl... | +| 3.5 | [draft-huang-acme-scalable-agent-enrollment](https://datatracker.ietf.org/doc/draft-huang-acme-scalable-agent-enrollment/) | 2025-12-16 | ▇ | ▃ | ▅ | ▃ | █ | This draft proposes two scalable models for certificate enrollment of AI agents:... | +| 3.5 | [draft-ietf-sml-trust](https://datatracker.ietf.org/doc/draft-ietf-sml-trust/) | 2025-10-20 | ▅ | ▇ | ▃ | ▇ | ▅ | Provides trust and security recommendations for handling structured data in emai... | +| 3.5 | [draft-zhang-rvp-problem-statement](https://datatracker.ietf.org/doc/draft-zhang-rvp-problem-statement/) | 2025-10-21 | ▇ | ▃ | ▅ | ▃ | █ | Proposes Real-Virtual Agent Protocol for coordinating physical entities with dig... | +| 3.5 | [draft-zeng-opsawg-applicability-mcp-a2a](https://datatracker.ietf.org/doc/draft-zeng-opsawg-applicability-mcp-a2a/) | 2025-11-02 | ▅ | ▇ | ▅ | ▅ | ▇ | Analyzes NETCONF limitations for advanced scenarios and proposes MCP and A2A pro... | +| 3.5 | [draft-li-dmsc-mcps-agw](https://datatracker.ietf.org/doc/draft-li-dmsc-mcps-agw/) | 2026-02-06 | ▇ | ▅ | ▇ | ▅ | ▇ | Defines a protocol suite using Agent Gateways as control-plane entities for mult... | +| 3.5 | [draft-ar-emu-hybrid-pqc-eapaka](https://datatracker.ietf.org/doc/draft-ar-emu-hybrid-pqc-eapaka/) | 2025-07-10 | ▇ | ▅ | ▇ | ▅ | ▇ | Enhances EAP-AKA' with hybrid post-quantum cryptography combining traditional an... | +| 3.4 | [draft-yuan-rtgwg-security-agent-usecase](https://datatracker.ietf.org/doc/draft-yuan-rtgwg-security-agent-usecase/) | 2025-11-02 | ▇ | ▃ | ▃ | ▅ | ▇ | Proposes AI Network Security Agents for routers to provide intelligent, adaptive... | +| 3.4 | [draft-huang-rats-agentic-eat-cap-attest](https://datatracker.ietf.org/doc/draft-huang-rats-agentic-eat-cap-attest/) | 2025-12-16 | ▇ | ▃ | ▃ | ▅ | ▇ | Extends Entity Attestation Token (EAT) to support capability attestation for age... | +| 3.4 | [draft-jiang-seat-dynamic-attestation](https://datatracker.ietf.org/doc/draft-jiang-seat-dynamic-attestation/) | 2025-11-13 | ▇ | ▃ | ▃ | ▅ | ▇ | Defines dynamic attestation mechanisms for AI agents to convey runtime posture c... | +| 3.4 | [draft-romanchuk-normative-admissibility](https://datatracker.ietf.org/doc/draft-romanchuk-normative-admissibility/) | 2026-01-06 | █ | ▃ | ▁ | ▃ | ▅ | Establishes a framework for evaluating whether autonomous agent speech acts are ... | +| 3.4 | [draft-kartha-grd](https://datatracker.ietf.org/doc/draft-kartha-grd/) | 2026-01-19 | ▇ | ▃ | ▃ | ▅ | ▇ | Defines architectural framework for discovering network resources based on physi... | +| 3.4 | [draft-yan-a2a-device-agent-applicability](https://datatracker.ietf.org/doc/draft-yan-a2a-device-agent-applicability/) | 2026-02-12 | ▅ | ▅ | ▅ | ▇ | ▇ | Discusses applying Agent-to-Agent (A2A) Protocol to network management for commu... | +| 3.4 | [draft-ietf-lamps-private-key-stmt-attr](https://datatracker.ietf.org/doc/draft-ietf-lamps-private-key-stmt-attr/) | 2025-10-13 | ▅ | ▇ | ▁ | ▅ | ▅ | Defines X.509 attribute for private key possession statements as alternative to ... | +| 3.4 | [draft-yue-moq-transporting-sensing-data](https://datatracker.ietf.org/doc/draft-yue-moq-transporting-sensing-data/) | 2025-10-19 | ▅ | ▅ | ▅ | ▇ | ▇ | Proposes using Media Over QUIC (MOQ) to transport large-scale, real-time sensing... | +| 3.4 | [draft-ramakrishna-satp-views-addresses](https://datatracker.ietf.org/doc/draft-ramakrishna-satp-views-addresses/) | 2025-09-15 | ▇ | ▅ | ▃ | ▅ | ▅ | Defines view and addressing mechanisms for secure asset transfer between DLT sys... | +| 3.4 | [draft-stephan-ai-agent-6g](https://datatracker.ietf.org/doc/draft-stephan-ai-agent-6g/) | 2025-10-20 | ▅ | ▅ | ▃ | ▅ | ▇ | Examines AI agent communication protocols specifically for 6G systems based on 3... | +| 3.4 | [draft-zeng-nmrg-mcp-usecases-requirements](https://datatracker.ietf.org/doc/draft-zeng-nmrg-mcp-usecases-requirements/) | 2026-02-14 | ▅ | ▅ | ▃ | ▅ | ▇ | Presents problem statement for integrating Model Context Protocol into network m... | +| 3.3 | [draft-cosmos-protocol-specification](https://datatracker.ietf.org/doc/draft-cosmos-protocol-specification/) | 2026-01-02 | █ | ▃ | ▃ | ▃ | ▅ | Defines comprehensive badge-based identity and communication system with trust s... | +| 3.3 | [draft-sz-dmsc-iaip](https://datatracker.ietf.org/doc/draft-sz-dmsc-iaip/) | 2026-02-10 | ▇ | ▃ | ▅ | ▅ | ▇ | Defines Intent-based Agent Interconnection Protocol (IAIP) for dynamic agent dis... | +| 3.3 | [draft-zheng-dispatch-agent-identity-management](https://datatracker.ietf.org/doc/draft-zheng-dispatch-agent-identity-management/) | 2025-11-03 | ▅ | ▃ | ▅ | ▅ | █ | This draft proposes an identity management framework for agents in an Internet o... | +| 3.3 | [draft-narvaneni-agent-uri](https://datatracker.ietf.org/doc/draft-narvaneni-agent-uri/) | 2025-10-16 | ▇ | ▃ | ▃ | ▃ | ▇ | This draft defines the agent:// URI scheme for addressing and interoperating wit... | +| 3.3 | [draft-jeong-opsawg-intent-based-sdv-framework](https://datatracker.ietf.org/doc/draft-jeong-opsawg-intent-based-sdv-framework/) | 2025-12-12 | ▇ | ▃ | ▃ | ▃ | ▇ | Proposes intent-based management framework for Software-Defined Vehicles in ITS ... | +| 3.2 | [draft-chuyi-nmrg-ai-agent-network](https://datatracker.ietf.org/doc/draft-chuyi-nmrg-ai-agent-network/) | 2025-10-20 | ▅ | ▅ | ▅ | ▅ | ▇ | Focuses on large language model-based agents for network operations and maintena... | +| 3.2 | [draft-liu-rtgwg-agent-gateway-requirements](https://datatracker.ietf.org/doc/draft-liu-rtgwg-agent-gateway-requirements/) | 2025-11-28 | ▅ | ▅ | ▅ | ▅ | ▇ | Discusses requirements for Agent Gateways in agent-to-agent communications to im... | +| 3.2 | [draft-pioli-agent-discovery](https://datatracker.ietf.org/doc/draft-pioli-agent-discovery/) | 2026-02-24 | ▅ | ▅ | ▅ | ▅ | ▇ | Specifies ARDP, a lightweight protocol for agent registration and discovery in d... | +| 3.2 | [draft-diaconu-agents-authz-info-sharing](https://datatracker.ietf.org/doc/draft-diaconu-agents-authz-info-sharing/) | 2026-02-06 | ▅ | ▅ | ▅ | ▅ | ▇ | Addresses authorization challenges in distributed multi-agent systems across mul... | +| 3.2 | [draft-gaikwad-woa](https://datatracker.ietf.org/doc/draft-gaikwad-woa/) | 2025-11-30 | ▅ | ▅ | ▅ | ▅ | ▇ | Specifies Web of Agents (WoA) format using JSON Schema to describe AI agent inpu... | +| 3.2 | [draft-ahn-opsawg-5g-security-i2nsf-framework](https://datatracker.ietf.org/doc/draft-ahn-opsawg-5g-security-i2nsf-framework/) | 2026-01-09 | ▅ | ▅ | ▅ | ▅ | ▇ | Proposes an integrated security framework for 5G edge networks using I2NSF archi... | +| 3.2 | [draft-tong-network-agent-use-cases-in-6g](https://datatracker.ietf.org/doc/draft-tong-network-agent-use-cases-in-6g/) | 2025-11-02 | ▅ | ▃ | ▅ | ▇ | ▇ | Introduces network AI agent use cases in 6G focusing on connectivity services an... | +| 3.2 | [draft-gupta-httpapi-events-query](https://datatracker.ietf.org/doc/draft-gupta-httpapi-events-query/) | 2025-10-17 | ▅ | ▇ | ▅ | ▅ | ▅ | Proposes Events Query Protocol (EQP) built on HTTP for user agents to receive ev... | +| 3.2 | [draft-ietf-emu-eap-edhoc](https://datatracker.ietf.org/doc/draft-ietf-emu-eap-edhoc/) | 2026-02-14 | ▅ | ▇ | ▅ | ▅ | ▅ | Defines EAP authentication method based on EDHOC for constrained environments. I... | +| 3.2 | [draft-lake-pocero-authkem-edhoc](https://datatracker.ietf.org/doc/draft-lake-pocero-authkem-edhoc/) | 2025-10-16 | ▅ | ▃ | ▅ | ▇ | ▇ | This draft extends the EDHOC protocol to provide quantum-resistant authenticatio... | +| 3.2 | [draft-meunier-webbotauth-registry](https://datatracker.ietf.org/doc/draft-meunier-webbotauth-registry/) | 2025-10-20 | ▅ | ▅ | ▃ | ▃ | ▇ | Defines a JSON format for web bot signature agent cards to advertise identity, p... | +| 3.2 | [draft-kale-agntcy-federated-privacy](https://datatracker.ietf.org/doc/draft-kale-agntcy-federated-privacy/) | 2026-01-08 | ▅ | ▅ | ▇ | ▅ | ▇ | Specifies architecture for privacy-preserving federated learning across multi-te... | +| 3.2 | [draft-mao-rtgwg-apn-framework-for-ioa](https://datatracker.ietf.org/doc/draft-mao-rtgwg-apn-framework-for-ioa/) | 2025-11-02 | ▅ | ▅ | ▇ | ▅ | ▇ | Applies Application-aware Performance Network framework to Internet of Agents sc... | +| 3.2 | [draft-zhang-dmsc-ioa-semantic-interaction](https://datatracker.ietf.org/doc/draft-zhang-dmsc-ioa-semantic-interaction/) | 2026-02-27 | ▅ | ▅ | ▇ | ▅ | ▇ | Specifies a semantic layer for Internet of Agents using ontology models and JSON... | +| 3.2 | [draft-sun-zhang-iaip](https://datatracker.ietf.org/doc/draft-sun-zhang-iaip/) | 2026-02-05 | ▅ | ▅ | ▇ | ▅ | ▇ | Defines Intent-based Agent Interconnection Protocol for Agent Gateways, focusing... | +| 3.2 | [draft-liu-nmrg-ai-llm-inference-requirements](https://datatracker.ietf.org/doc/draft-liu-nmrg-ai-llm-inference-requirements/) | 2025-11-04 | ▅ | ▅ | ▇ | ▅ | ▇ | Analyzes system and network requirements for large-scale LLM inference services.... | +| 3.2 | [draft-ra-emu-pqc-eapaka](https://datatracker.ietf.org/doc/draft-ra-emu-pqc-eapaka/) | 2025-07-10 | ▅ | ▅ | ▇ | ▅ | ▇ | Enhances EAP-AKA' with post-quantum key encapsulation mechanisms to protect agai... | +| 3.1 | [draft-hw-ai-agent-6g](https://datatracker.ietf.org/doc/draft-hw-ai-agent-6g/) | 2026-01-21 | ▅ | ▃ | ▃ | ▅ | ▇ | This draft analyzes requirements for agent protocols specifically tailored to 6G... | +| 3.1 | [draft-yao-agent-auth-considerations](https://datatracker.ietf.org/doc/draft-yao-agent-auth-considerations/) | 2025-10-20 | ▅ | ▃ | ▃ | ▅ | ▇ | Extends OAuth model for AI agent authentication and authorization in Agent Commu... | +| 3.1 | [draft-li-dmsc-inf-architecture](https://datatracker.ietf.org/doc/draft-li-dmsc-inf-architecture/) | 2026-02-05 | ▅ | ▃ | ▃ | ▅ | ▇ | Proposes a network infrastructure architecture for large-scale multi-agent colla... | +| 3.1 | [draft-zeng-mcp-troubleshooting](https://datatracker.ietf.org/doc/draft-zeng-mcp-troubleshooting/) | 2025-10-20 | ▅ | ▃ | ▃ | ▅ | ▇ | Applies Model Context Protocol to network management for intent-based troublesho... | +| 3.1 | [draft-a2a-moqt-transport](https://datatracker.ietf.org/doc/draft-a2a-moqt-transport/) | 2025-10-20 | ▇ | ▃ | █ | ▅ | ▇ | Specifies transport of Agent-to-Agent protocol over Media over QUIC Transport. L... | +| 3.1 | [draft-levy-llm-uri-scheme](https://datatracker.ietf.org/doc/draft-levy-llm-uri-scheme/) | 2026-02-06 | ▅ | ▃ | ▃ | ▅ | ▇ | Defines a URI scheme for identifying LLM endpoints with embedded configuration p... | +| 3.1 | [draft-mvieuille-kerpass-ephemsec](https://datatracker.ietf.org/doc/draft-mvieuille-kerpass-ephemsec/) | 2025-11-22 | ▇ | ▅ | ▅ | ▃ | ▅ | Specifies EPHEMSEC algorithm for generating one-time passwords using public key ... | +| 3.1 | [draft-tojens-dhcp-option-concat-considerations](https://datatracker.ietf.org/doc/draft-tojens-dhcp-option-concat-considerations/) | 2025-09-04 | ▃ | ▇ | ▁ | ▅ | ▅ | Updates RFC 3396 to make DHCP option concatenation requirements more flexible. A... | +| 3.1 | [draft-ietf-lamps-rfc5274bis](https://datatracker.ietf.org/doc/draft-ietf-lamps-rfc5274bis/) | 2026-02-26 | ▃ | ▇ | ▁ | ▅ | ▅ | Defines compliance requirements for Certificate Management Messages over CMS (CM... | +| 3.1 | [draft-vinaysingh-awp-wellknown](https://datatracker.ietf.org/doc/draft-vinaysingh-awp-wellknown/) | 2025-11-02 | ▅ | ▅ | ▃ | ▅ | ▅ | Defines well-known URI and link relation for exposing website workflows to autom... | +| 3.1 | [draft-contario-totp-secure-enrollment](https://datatracker.ietf.org/doc/draft-contario-totp-secure-enrollment/) | 2025-09-27 | ▅ | ▅ | ▃ | ▅ | ▅ | Extends TOTP enrollment to prevent key compromise through QR code capture or key... | +| 3.1 | [draft-architect-cittamarket](https://datatracker.ietf.org/doc/draft-architect-cittamarket/) | 2025-12-19 | █ | ▁ | ▁ | ▁ | ▅ | Specifies protocol for immutable AGI system identification using Bitcoin blockch... | +| 3.0 | [draft-ni-wimse-ai-agent-identity](https://datatracker.ietf.org/doc/draft-ni-wimse-ai-agent-identity/) | 2025-10-20 | ▅ | ▃ | ▅ | ▅ | ▇ | Applies WIMSE (Workload Identity in Multi System Environments) framework to AI a... | +| 3.0 | [draft-sipos-dtn-bp-safe](https://datatracker.ietf.org/doc/draft-sipos-dtn-bp-safe/) | 2025-12-07 | ▅ | █ | ▇ | ▅ | ▃ | Defines security association negotiation protocol for Bundle Protocol agents in ... | +| 3.0 | [draft-chen-lake-edhoc-aka](https://datatracker.ietf.org/doc/draft-chen-lake-edhoc-aka/) | 2025-10-20 | ▅ | ▃ | ▅ | ▅ | ▇ | Defines EDHOC-AKA authentication method combining AKA protocol with EDHOC for mo... | +| 3.0 | [draft-bernardos-cats-isac-uc](https://datatracker.ietf.org/doc/draft-bernardos-cats-isac-uc/) | 2026-01-05 | ▅ | ▃ | ▅ | ▅ | ▇ | Presents Integrated Sensing and Communications (ISAC) as a use case for CATS arc... | +| 3.0 | [draft-wendt-stir-vesper](https://datatracker.ietf.org/doc/draft-wendt-stir-vesper/) | 2025-11-04 | ▅ | ▇ | ▇ | ▇ | ▃ | Formalizes framework for verifiable telephone number identity using delegate cer... | +| 3.0 | [draft-ietf-lamps-e2e-mail-guidance](https://datatracker.ietf.org/doc/draft-ietf-lamps-e2e-mail-guidance/) | 2025-08-23 | ▃ | █ | ▅ | ▇ | ▃ | Provides comprehensive guidance for implementing end-to-end email encryption sec... | +| 3.0 | [draft-nandakumar-a2a-moqt-transport](https://datatracker.ietf.org/doc/draft-nandakumar-a2a-moqt-transport/) | 2025-10-20 | ▇ | ▃ | █ | ▃ | ▇ | Identical specification to draft-a2a-moqt-transport for transporting Agent-to-Ag... | +| 3.0 | [draft-zhang-agent-gap-network](https://datatracker.ietf.org/doc/draft-zhang-agent-gap-network/) | 2026-01-09 | ▅ | ▃ | ▃ | ▃ | ▇ | This draft identifies problems and gaps in mobile core networks for supporting A... | +| 3.0 | [draft-cui-ai-agent-task](https://datatracker.ietf.org/doc/draft-cui-ai-agent-task/) | 2026-01-09 | ▅ | ▃ | ▃ | ▃ | ▇ | This draft proposes requirements for standardized AI agent protocols to enable t... | +| 3.0 | [draft-hong-nmrg-agenticai-ps](https://datatracker.ietf.org/doc/draft-hong-nmrg-agenticai-ps/) | 2025-10-20 | ▅ | ▃ | ▇ | ▅ | ▇ | Presents problem statement and motivations for applying Agentic AI to network ma... | +| 3.0 | [draft-zhao-nmrg-ai-agent-for-dtn](https://datatracker.ietf.org/doc/draft-zhao-nmrg-ai-agent-for-dtn/) | 2025-10-20 | ▇ | ▃ | ▅ | ▃ | ▅ | Proposes AI agent architecture for Digital Twin Networks, integrating autonomous... | +| 3.0 | [draft-fu-nmop-agent-communication-framework](https://datatracker.ietf.org/doc/draft-fu-nmop-agent-communication-framework/) | 2026-01-25 | ▅ | ▃ | ▇ | ▅ | ▇ | Proposes a multi-agent communication framework for network AIOps with AI gateway... | +| 3.0 | [draft-cui-dmsc-agent-cdi](https://datatracker.ietf.org/doc/draft-cui-dmsc-agent-cdi/) | 2026-02-11 | ▅ | ▃ | ▇ | ▅ | ▇ | Defines comprehensive framework for cross-domain AI agent interoperability inclu... | +| 3.0 | [draft-leon-distributed-multi-signer](https://datatracker.ietf.org/doc/draft-leon-distributed-multi-signer/) | 2025-08-11 | ▅ | ▇ | ▅ | ▅ | ▃ | Defines distributed DNSSEC multi-signer architecture with multi-signer agents an... | +| 3.0 | [draft-ietf-httpbis-rfc6265bis](https://datatracker.ietf.org/doc/draft-ietf-httpbis-rfc6265bis/) | 2025-12-09 | ▃ | █ | █ | █ | ▃ | Updates HTTP Cookie specification to replace RFC 6265 with improved security and... | +| 3.0 | [draft-yang-dmsc-ioa-task-protocol](https://datatracker.ietf.org/doc/draft-yang-dmsc-ioa-task-protocol/) | 2026-01-29 | ▅ | ▃ | ▇ | ▅ | ▇ | Defines a protocol for distributed collaboration among heterogeneous AI agents, ... | +| 3.0 | [draft-condrey-rats-witnessd-enrollment](https://datatracker.ietf.org/doc/draft-condrey-rats-witnessd-enrollment/) | 2026-02-07 | ▇ | ▃ | ▅ | ▃ | ▅ | Specifies trust anchor bootstrap protocol for proof of process framework. Define... | +| 3.0 | [draft-pocero-authkem-ikr-edhoc](https://datatracker.ietf.org/doc/draft-pocero-authkem-ikr-edhoc/) | 2026-01-20 | ▅ | ▃ | ▇ | ▅ | ▇ | This draft proposes a KEM-based authentication variant for EDHOC that optimizes ... | +| 2.9 | [draft-happel-structured-email-trust](https://datatracker.ietf.org/doc/draft-happel-structured-email-trust/) | 2025-08-30 | ▅ | ▅ | ▃ | ▃ | ▅ | Provides trust and security recommendations for handling structured data in emai... | +| 2.9 | [draft-ramakrishna-satp-data-sharing](https://datatracker.ietf.org/doc/draft-ramakrishna-satp-data-sharing/) | 2025-09-15 | ▅ | ▅ | ▃ | ▃ | ▅ | Defines a DLT-neutral protocol for sharing asset views and metadata across block... | +| 2.9 | [draft-bastian-jose-pkdh](https://datatracker.ietf.org/doc/draft-bastian-jose-pkdh/) | 2025-11-04 | ▅ | ▅ | ▃ | ▃ | ▅ | Defines a method to derive symmetric MAC keys from public information in JSON We... | +| 2.9 | [draft-ietf-roll-enrollment-priority](https://datatracker.ietf.org/doc/draft-ietf-roll-enrollment-priority/) | 2026-02-20 | ▃ | ▇ | ▅ | ▅ | ▅ | Provides mechanism for RPL Root to control enrollment announcements and adjust e... | +| 2.9 | [draft-zhang-rtgwg-ai-agents-troubleshooting](https://datatracker.ietf.org/doc/draft-zhang-rtgwg-ai-agents-troubleshooting/) | 2025-11-03 | ▅ | ▃ | ▅ | ▃ | ▇ | This draft defines use cases and communication protocol requirements for trouble... | +| 2.9 | [draft-yl-agent-id-requirements](https://datatracker.ietf.org/doc/draft-yl-agent-id-requirements/) | 2026-01-03 | ▅ | ▃ | ▅ | ▃ | ▇ | This draft proposes requirements for digital identity management in AI agent com... | +| 2.9 | [draft-wang-nmrg-magent-im](https://datatracker.ietf.org/doc/draft-wang-nmrg-magent-im/) | 2026-01-09 | ▅ | ▃ | ▅ | ▃ | ▇ | This draft proposes a protocol-agnostic data model for multi-agent communication... | +| 2.9 | [draft-xie-ai-agent-multimodal](https://datatracker.ietf.org/doc/draft-xie-ai-agent-multimodal/) | 2026-01-09 | ▅ | ▃ | ▅ | ▃ | ▇ | This draft outlines requirements for multimodal communication in AI agent protoc... | + +*N=Novelty, M=Maturity, O=Overlap, Mom=Momentum, R=Relevance (block height = score 1-5)* \ No newline at end of file diff --git a/master-prompt.md b/master-prompt.md new file mode 100644 index 0000000..4699554 --- /dev/null +++ b/master-prompt.md @@ -0,0 +1,119 @@ +# IETF Draft Analyzer — Master Prompt + +## Vision + +A tool to **track, categorize, compare, and rate** the growing flood of IETF Internet-Drafts related to AI and autonomous agents — helping an informed reader stay on top of novel ideas, spot overlaps, and identify gaps worth filling. + +## Problem + +The IETF is seeing a surge of AI/agent-related drafts. Many overlap significantly, some introduce genuinely novel concepts, and it's hard to maintain a mental map of the landscape. Manual tracking doesn't scale. + +## Primary Data Sources + +- **Recent drafts:** https://datatracker.ietf.org/doc/recent +- **Keyword search (e.g. "agent"):** https://datatracker.ietf.org/doc/search?name=agent&sort=&rfcs=on&activedrafts=on&by=group&group= +- **Datatracker API:** https://datatracker.ietf.org/api/ (machine-readable metadata) +- Additional keyword searches: `ai`, `llm`, `autonomous`, `machine-learning`, `ml`, `intelligent`, `inference`, etc. + +## Core Features + +### 1. Draft Ingestion & Tracking +- Fetch drafts from Datatracker (API + scraping where needed) +- Track new drafts, revisions, and status changes over time +- Store metadata: title, authors, abstract, WG, dates, status, keywords +- Download and parse full draft text for deeper analysis + +### 2. Categorization & Tagging +- **Auto-categorize** drafts into topic clusters, e.g.: + - Agent-to-agent communication protocols + - AI safety / guardrails / alignment in networking + - ML-based traffic management / optimization + - Autonomous network operations (intent-based, closed-loop) + - Identity / authentication for AI agents + - Data formats / semantics for AI interop + - Policy / governance / ethical frameworks +- Support user-defined tags and manual overrides +- Detect which IETF working groups / areas are involved + +### 3. Overlap & Novelty Detection +- **Similarity analysis** between drafts (abstract-level and full-text) + - Semantic similarity (embeddings-based) + - Structural similarity (do they define similar mechanisms?) +- Flag clusters of highly overlapping drafts +- Highlight **novel contributions** — ideas that don't appear elsewhere +- Track how ideas evolve across draft revisions + +### 4. Brief Rating / Assessment +- Per-draft rating along dimensions like: + - **Novelty** — How new/unique is the core idea? + - **Maturity** — How complete and well-specified is the draft? + - **Overlap** — How much does it duplicate existing work? + - **Momentum** — Author track record, WG adoption, revision frequency + - **Relevance** — How central is it to the AI/agent topic? +- Generate a short (2–4 sentence) AI summary + assessment for each draft +- Optional: composite score for quick sorting + +### 5. Overview & Visualization +- **Dashboard view** — sortable/filterable table of tracked drafts +- **Landscape map** — visual clustering of drafts by topic similarity +- **Timeline** — when drafts appeared, how the space is evolving +- **Diff view** — compare two drafts side-by-side (key claims, mechanisms) +- **Overlap matrix** — heatmap showing which drafts cover similar ground + +### 6. Staying Informed +- **Watch list** — mark drafts of special interest +- **Change alerts** — notify on new drafts matching keywords, new revisions, status changes +- **Periodic digest** — weekly/on-demand summary of what's new in the space +- **Gap analysis** — suggest areas not yet covered by any draft + +## Stretch / Nice-to-Have Features + +- **Idea extraction** — pull out discrete technical ideas/mechanisms from each draft, track them independently +- **Cross-reference with RFCs** — link drafts to existing standards they build on or conflict with +- **Author network** — who collaborates with whom, which orgs are active +- **Meeting tracking** — link to relevant IETF meeting agenda items, minutes, slides +- **Export** — generate reports (markdown, PDF) for sharing or personal reference +- **Personal notes** — attach annotations and thoughts to any draft + +## Design Principles + +- **Local-first** — runs on the user's machine, data stored locally +- **CLI + optional web UI** — start simple (CLI/TUI), add a local web dashboard later +- **LLM-assisted but transparent** — use AI for summarization/rating but always show reasoning +- **Incremental** — can start with a small set of drafts and scale up +- **Open data** — all source data comes from public IETF resources + +## LLM Strategy + +Two viable options — use the best tool for each job: + +### Option A: Claude API (via subscription) +- **Pro:** Superior reasoning for summarization, rating, novelty detection, and comparative analysis of dense technical text. IETF drafts are complex — quality matters here. +- **Pro:** Better at structured output (JSON ratings, consistent categorization) +- **Con:** API costs / rate limits (though subscription helps) +- **Best for:** Summarization, rating, categorization, overlap analysis, gap detection + +### Option B: Local Ollama +- **Pro:** Free, private, no rate limits, works offline +- **Pro:** Good enough for embeddings (e.g. `nomic-embed-text`, `mxbai-embed-large`) +- **Con:** Smaller models struggle with nuanced technical assessment of IETF-grade content +- **Best for:** Embeddings for similarity/clustering, bulk preprocessing, quick triage + +### Recommended: Hybrid Approach +| Task | Model | +|------|-------| +| **Embeddings** (similarity, clustering) | Ollama local (`nomic-embed-text` or similar) | +| **Quick triage** (is this draft AI-related?) | Ollama local (fast, cheap) | +| **Summarization & rating** | Claude (better quality on technical text) | +| **Overlap/novelty analysis** | Claude (needs strong reasoning) | +| **Gap analysis & insights** | Claude (creative + analytical) | + +This keeps costs down (embeddings are the bulk operation) while using Claude where quality actually matters. The tool should support both backends with a simple config switch, so you can fall back to all-local or all-Claude as needed. + +## Decisions Made + +- **Tech stack:** Python +- **Storage:** SQLite (single DB file, FTS5 for full-text search) +- **Scope:** AI/agent-focused first, generalizable later +- **Interface:** CLI + Markdown report output (v1) +- **LLM:** Hybrid — Ollama for embeddings/triage, Claude for analysis/rating diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..06ce5b6 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,23 @@ +[build-system] +requires = ["setuptools>=68.0"] +build-backend = "setuptools.build_meta" + +[project] +name = "ietf-draft-analyzer" +version = "0.1.0" +description = "Track, categorize, and rate AI/agent-related IETF Internet-Drafts" +requires-python = ">=3.11" +dependencies = [ + "click>=8.0", + "httpx>=0.27", + "anthropic>=0.40", + "ollama>=0.4", + "rich>=13.0", + "numpy>=1.26", +] + +[project.scripts] +ietf = "ietf_analyzer.cli:main" + +[tool.setuptools.packages.find] +where = ["src"] diff --git a/src/ietf_analyzer/__init__.py b/src/ietf_analyzer/__init__.py new file mode 100644 index 0000000..b29024d --- /dev/null +++ b/src/ietf_analyzer/__init__.py @@ -0,0 +1 @@ +"""IETF Draft Analyzer — Track, categorize, and rate AI/agent-related Internet-Drafts.""" diff --git a/src/ietf_analyzer/analyzer.py b/src/ietf_analyzer/analyzer.py new file mode 100644 index 0000000..105e804 --- /dev/null +++ b/src/ietf_analyzer/analyzer.py @@ -0,0 +1,276 @@ +"""Claude-based analysis — summarization, rating, categorization, overlap detection.""" + +from __future__ import annotations + +import hashlib +import json +from datetime import datetime, timezone + +import anthropic +from rich.console import Console +from rich.progress import Progress, SpinnerColumn, TextColumn, BarColumn, MofNCompleteColumn + +from .config import Config +from .db import Database +from .models import Draft, Rating + +console = Console() + +CATEGORIES_SHORT = [ + "A2A protocols", # Agent-to-agent communication protocols + "AI safety/alignment", # AI safety / guardrails / alignment + "ML traffic mgmt", # ML-based traffic management / optimization + "Autonomous netops", # Autonomous network operations + "Agent identity/auth", # Identity / authentication for AI agents + "Data formats/interop",# Data formats / semantics for AI interop + "Policy/governance", # Policy / governance / ethical frameworks + "Model serving/inference", # AI model serving / inference protocols + "Agent discovery/reg", # Agent discovery / registration + "Human-agent interaction", + "Other AI/agent", +] + +# Compact prompt — abstract only, saves ~10x tokens vs full-text +RATE_PROMPT_COMPACT = """\ +Rate this IETF draft. JSON only. + +{name} | {title} | {time} | {pages}pg +Abstract: {abstract} + +Return JSON: {{"s":"2-3 sentence summary","n":<1-5>,"nn":"novelty note","m":<1-5>,"mn":"maturity note","o":<1-5>,"on":"overlap note","mo":<1-5>,"mon":"momentum note","r":<1-5>,"rn":"relevance note","c":["categories"]}} + +Scale: 1=very low..5=very high. Overlap: 1=unique,5=heavy overlap. +Categories: {categories} +JSON only, no fences.""" + +# Batch prompt — rate multiple drafts in one call +BATCH_PROMPT = """\ +Rate each IETF draft below. Return a JSON array with one object per draft, in order. + +{drafts_block} + +Per-draft JSON: {{"name":"draft-name","s":"2-3 sentence summary","n":<1-5>,"nn":"novelty note","m":<1-5>,"mn":"maturity note","o":<1-5>,"on":"overlap with known drafts","mo":<1-5>,"mon":"momentum note","r":<1-5>,"rn":"relevance note","c":["categories"]}} + +Scale: 1=very low..5=very high. Overlap: 1=unique,5=heavy overlap. +Categories: {categories} +Return ONLY a JSON array, no fences.""" + +COMPARE_PROMPT = """\ +Compare these IETF drafts — overlaps, unique ideas, complementary vs competing vs redundant. + +{drafts_section} + +Be specific about concrete mechanisms and design choices.""" + + +def _prompt_hash(text: str) -> str: + return hashlib.sha256(text.encode()).hexdigest()[:16] + + +class Analyzer: + def __init__(self, config: Config | None = None, db: Database | None = None): + self.config = config or Config.load() + self.db = db or Database(self.config) + try: + self.client = anthropic.Anthropic() + except Exception: + console.print( + "[red bold]No Anthropic API key found.[/]\n" + "Set ANTHROPIC_API_KEY environment variable or run:\n" + " export ANTHROPIC_API_KEY=sk-ant-..." + ) + raise SystemExit(1) + + def _parse_rating(self, draft_name: str, data: dict) -> Rating: + """Parse a rating from compact JSON keys.""" + return Rating( + draft_name=draft_name, + novelty=int(data.get("n", data.get("novelty", 3))), + maturity=int(data.get("m", data.get("maturity", 3))), + overlap=int(data.get("o", data.get("overlap", 3))), + momentum=int(data.get("mo", data.get("momentum", 3))), + relevance=int(data.get("r", data.get("relevance", 3))), + summary=data.get("s", data.get("summary", "")), + novelty_note=data.get("nn", data.get("novelty_note", "")), + maturity_note=data.get("mn", data.get("maturity_note", "")), + overlap_note=data.get("on", data.get("overlap_note", "")), + momentum_note=data.get("mon", data.get("momentum_note", "")), + relevance_note=data.get("rn", data.get("relevance_note", "")), + categories=data.get("c", data.get("categories", [])), + rated_at=datetime.now(timezone.utc).isoformat(), + ) + + def _call_claude(self, prompt: str, max_tokens: int = 512) -> tuple[str, int, int]: + """Call Claude and return (text, input_tokens, output_tokens).""" + resp = self.client.messages.create( + model=self.config.claude_model, + max_tokens=max_tokens, + messages=[{"role": "user", "content": prompt}], + ) + text = resp.content[0].text.strip() + return text, resp.usage.input_tokens, resp.usage.output_tokens + + def _extract_json(self, text: str) -> str: + """Strip markdown fences if present.""" + if text.startswith("```"): + text = text.split("\n", 1)[1] + if text.endswith("```"): + text = text[:-3] + return text.strip() + + def rate_draft(self, draft_name: str, use_cache: bool = True) -> Rating | None: + """Analyze and rate a single draft.""" + draft = self.db.get_draft(draft_name) + if draft is None: + console.print(f"[red]Draft not found: {draft_name}[/]") + return None + + prompt = RATE_PROMPT_COMPACT.format( + name=draft.name, title=draft.title, time=draft.date, + pages=draft.pages or "?", + abstract=draft.abstract[:2000], + categories=", ".join(CATEGORIES_SHORT), + ) + phash = _prompt_hash(prompt) + + # Check cache + if use_cache: + cached = self.db.get_cached_response(draft_name, phash) + if cached: + try: + data = json.loads(cached) + rating = self._parse_rating(draft_name, data) + self.db.upsert_rating(rating) + draft.categories = rating.categories + self.db.upsert_draft(draft) + return rating + except (json.JSONDecodeError, KeyError): + pass # Re-analyze if cache is corrupt + + try: + text, in_tok, out_tok = self._call_claude(prompt, max_tokens=512) + text = self._extract_json(text) + data = json.loads(text) + + # Cache the raw response + self.db.cache_response( + draft_name, phash, self.config.claude_model, + prompt, text, in_tok, out_tok, + ) + except (json.JSONDecodeError, anthropic.APIError, IndexError, KeyError) as e: + console.print(f"[red]Failed {draft_name}: {e}[/]") + return None + + rating = self._parse_rating(draft_name, data) + self.db.upsert_rating(rating) + draft.categories = rating.categories + self.db.upsert_draft(draft) + return rating + + def rate_batch(self, drafts: list[Draft], batch_size: int = 5) -> int: + """Rate multiple drafts in batched API calls to save tokens.""" + count = 0 + for i in range(0, len(drafts), batch_size): + batch = drafts[i:i + batch_size] + + # Build batch prompt + drafts_block = "" + for d in batch: + drafts_block += f"\n---\n{d.name} | {d.title} | {d.date} | {d.pages or '?'}pg\nAbstract: {d.abstract[:1500]}\n" + + prompt = BATCH_PROMPT.format( + drafts_block=drafts_block, + categories=", ".join(CATEGORIES_SHORT), + ) + phash = _prompt_hash(prompt) + + try: + text, in_tok, out_tok = self._call_claude( + prompt, max_tokens=400 * len(batch) + ) + text = self._extract_json(text) + results = json.loads(text) + if not isinstance(results, list): + results = [results] + + for j, data in enumerate(results): + draft_name = data.get("name", batch[j].name if j < len(batch) else None) + if not draft_name: + continue + # Cache each result individually + self.db.cache_response( + draft_name, _prompt_hash(f"batch-{phash}-{draft_name}"), + self.config.claude_model, f"batch[{i}]", json.dumps(data), + in_tok // len(results), out_tok // len(results), + ) + rating = self._parse_rating(draft_name, data) + self.db.upsert_rating(rating) + draft = self.db.get_draft(draft_name) + if draft: + draft.categories = rating.categories + self.db.upsert_draft(draft) + count += 1 + except (json.JSONDecodeError, anthropic.APIError) as e: + console.print(f"[red]Batch {i//batch_size+1} failed: {e}[/]") + # Fallback: rate individually + for d in batch: + r = self.rate_draft(d.name) + if r: + count += 1 + + return count + + def rate_all_unrated(self, limit: int = 300, batch_size: int = 5) -> int: + """Rate all drafts that haven't been rated yet, using batching.""" + unrated = self.db.unrated_drafts(limit=limit) + if not unrated: + console.print("All drafts already rated.") + return 0 + + console.print(f"Rating [bold]{len(unrated)}[/] drafts in batches of {batch_size}...") + count = 0 + with Progress( + SpinnerColumn(), + TextColumn("[progress.description]{task.description}"), + BarColumn(), + MofNCompleteColumn(), + console=console, + ) as progress: + task = progress.add_task("Analyzing...", total=len(unrated)) + for i in range(0, len(unrated), batch_size): + batch = unrated[i:i + batch_size] + names = ", ".join(d.name.split("-")[-1][:12] for d in batch) + progress.update(task, description=f"Batch: {names}") + n = self.rate_batch(batch, batch_size=batch_size) + count += n + progress.advance(task, advance=len(batch)) + + in_tok, out_tok = self.db.total_tokens_used() + console.print( + f"Rated [bold green]{count}[/] drafts " + f"| Total tokens used: {in_tok:,} in + {out_tok:,} out" + ) + return count + + def compare_drafts(self, draft_names: list[str]) -> str: + """Compare multiple drafts and return analysis text.""" + parts = [] + for name in draft_names: + draft = self.db.get_draft(name) + if draft is None: + console.print(f"[yellow]Skipping unknown draft: {name}[/]") + continue + parts.append(f"### {draft.title}\n**{name}**\n{draft.abstract}") + + if len(parts) < 2: + return "Need at least 2 valid drafts to compare." + + prompt = COMPARE_PROMPT.format( + drafts_section="\n\n---\n\n".join(parts) + ) + + try: + text, _, _ = self._call_claude(prompt, max_tokens=2048) + return text + except anthropic.APIError as e: + return f"Error: {e}" diff --git a/src/ietf_analyzer/cli.py b/src/ietf_analyzer/cli.py new file mode 100644 index 0000000..dd8a338 --- /dev/null +++ b/src/ietf_analyzer/cli.py @@ -0,0 +1,405 @@ +"""CLI entry point — all user-facing commands.""" + +from __future__ import annotations + +import click +from rich.console import Console +from rich.table import Table + +from .config import Config +from .db import Database + +console = Console() + + +def _get_config() -> Config: + cfg = Config.load() + return cfg + + +@click.group() +@click.version_option(version="0.1.0") +def main(): + """IETF Draft Analyzer — track, categorize, and rate AI/agent Internet-Drafts.""" + pass + + +# ── fetch ──────────────────────────────────────────────────────────────────── + + +@main.command() +@click.option("--keywords", "-k", multiple=True, help="Extra keywords to search for") +@click.option("--since", "-s", help="Only fetch drafts newer than this date (YYYY-MM-DD)") +@click.option("--download-text/--no-download-text", default=True, help="Download full text of drafts") +def fetch(keywords: tuple[str, ...], since: str | None, download_text: bool): + """Fetch AI/agent drafts from IETF Datatracker.""" + from .fetcher import Fetcher + + cfg = _get_config() + db = Database(cfg) + fetcher = Fetcher(cfg) + + kw_list = list(cfg.search_keywords) + if keywords: + kw_list.extend(keywords) + + try: + drafts = fetcher.search_drafts(keywords=kw_list, since=since) + for draft in drafts: + db.upsert_draft(draft) + console.print(f"Stored [bold green]{len(drafts)}[/] drafts in database") + + if download_text: + missing = db.drafts_without_text() + if missing: + console.print(f"Downloading text for [bold]{len(missing)}[/] drafts...") + texts = fetcher.download_texts(missing) + for name, text in texts.items(): + draft = db.get_draft(name) + if draft: + draft.full_text = text + db.upsert_draft(draft) + finally: + fetcher.close() + db.close() + + +# ── list ───────────────────────────────────────────────────────────────────── + + +@main.command("list") +@click.option("--limit", "-n", default=30, help="Number of drafts to show") +@click.option("--sort", "-s", default="time DESC", help="Sort order (e.g. 'time DESC', 'name ASC')") +def list_drafts(limit: int, sort: str): + """List tracked drafts.""" + cfg = _get_config() + db = Database(cfg) + try: + drafts = db.list_drafts(limit=limit, order_by=sort) + total = db.count_drafts() + + table = Table(title=f"Tracked Drafts ({total} total, showing {len(drafts)})") + table.add_column("Date", style="dim", width=10) + table.add_column("Name", style="cyan", max_width=55) + table.add_column("Title", max_width=50) + table.add_column("Pg", justify="right", width=4) + table.add_column("Text", justify="center", width=4) + table.add_column("Rated", justify="center", width=5) + + for d in drafts: + has_text = "\u2713" if d.full_text else "" + rated = "\u2713" if db.get_rating(d.name) else "" + table.add_row(d.date, d.name, d.title[:50], str(d.pages or ""), has_text, rated) + + console.print(table) + finally: + db.close() + + +# ── search ─────────────────────────────────────────────────────────────────── + + +@main.command() +@click.argument("query") +@click.option("--limit", "-n", default=20, help="Max results") +def search(query: str, limit: int): + """Full-text search across stored drafts.""" + cfg = _get_config() + db = Database(cfg) + try: + results = db.search_drafts(query, limit=limit) + if not results: + console.print(f"No results for [bold]{query}[/]") + return + + table = Table(title=f"Search: {query} ({len(results)} results)") + table.add_column("Date", style="dim", width=10) + table.add_column("Name", style="cyan") + table.add_column("Title") + + for d in results: + table.add_row(d.date, d.name, d.title[:60]) + + console.print(table) + finally: + db.close() + + +# ── show ───────────────────────────────────────────────────────────────────── + + +@main.command() +@click.argument("name") +def show(name: str): + """Show detailed info for a draft.""" + from .reports import Reporter + + cfg = _get_config() + db = Database(cfg) + reporter = Reporter(cfg, db) + try: + draft = db.get_draft(name) + if draft is None: + console.print(f"[red]Draft not found: {name}[/]") + return + + rating = db.get_rating(name) + + console.print(f"\n[bold]{draft.title}[/]") + console.print(f"[dim]{draft.name}[/] rev {draft.rev} | {draft.date} | {draft.pages or '?'} pages") + console.print(f"Group: {draft.group or 'individual'} | {draft.datatracker_url}") + console.print(f"\n[italic]{draft.abstract}[/]\n") + + if rating: + console.print("[bold]AI Assessment[/]") + console.print(f" Score: [bold green]{rating.composite_score:.1f}[/]") + console.print(f" Summary: {rating.summary}\n") + + table = Table(show_header=True) + table.add_column("Dimension", width=12) + table.add_column("Score", justify="center", width=7) + table.add_column("Notes") + table.add_row("Novelty", f"{rating.novelty}/5", rating.novelty_note) + table.add_row("Maturity", f"{rating.maturity}/5", rating.maturity_note) + table.add_row("Overlap", f"{rating.overlap}/5", rating.overlap_note) + table.add_row("Momentum", f"{rating.momentum}/5", rating.momentum_note) + table.add_row("Relevance", f"{rating.relevance}/5", rating.relevance_note) + console.print(table) + + if rating.categories: + console.print(f"\nCategories: {', '.join(rating.categories)}") + else: + console.print("[dim]Not yet rated — run: ietf analyze {name}[/]") + + # Save detailed report too + path = reporter.draft_detail(name) + if path: + console.print(f"\n[dim]Report saved: {path}[/]") + finally: + db.close() + + +# ── analyze ────────────────────────────────────────────────────────────────── + + +@main.command() +@click.argument("name", required=False) +@click.option("--all", "analyze_all", is_flag=True, help="Analyze all unrated drafts") +@click.option("--limit", "-n", default=50, help="Max drafts to analyze (with --all)") +def analyze(name: str | None, analyze_all: bool, limit: int): + """Analyze and rate drafts using Claude.""" + from .analyzer import Analyzer + + cfg = _get_config() + db = Database(cfg) + analyzer = Analyzer(cfg, db) + + try: + if analyze_all: + count = analyzer.rate_all_unrated(limit=limit) + console.print(f"Analyzed [bold green]{count}[/] drafts") + elif name: + rating = analyzer.rate_draft(name) + if rating: + console.print(f"\n[bold green]Rating for {name}:[/]") + console.print(f" Score: {rating.composite_score:.1f}") + console.print(f" Summary: {rating.summary}") + console.print(f" Novelty={rating.novelty} Maturity={rating.maturity} " + f"Overlap={rating.overlap} Momentum={rating.momentum} " + f"Relevance={rating.relevance}") + else: + console.print("[red]Analysis failed[/]") + else: + console.print("Provide a draft name or use --all") + finally: + db.close() + + +# ── compare ────────────────────────────────────────────────────────────────── + + +@main.command() +@click.argument("names", nargs=-1, required=True) +def compare(names: tuple[str, ...]): + """Compare multiple drafts for overlap and unique contributions.""" + from .analyzer import Analyzer + + cfg = _get_config() + db = Database(cfg) + analyzer = Analyzer(cfg, db) + + try: + result = analyzer.compare_drafts(list(names)) + console.print(result) + finally: + db.close() + + +# ── embed ──────────────────────────────────────────────────────────────────── + + +@main.command() +def embed(): + """Generate embeddings for all drafts (requires Ollama).""" + from .embeddings import Embedder + + cfg = _get_config() + db = Database(cfg) + embedder = Embedder(cfg, db) + + try: + count = embedder.embed_all_missing() + console.print(f"Embedded [bold green]{count}[/] drafts") + finally: + db.close() + + +# ── similar ────────────────────────────────────────────────────────────────── + + +@main.command() +@click.argument("name") +@click.option("--top", "-n", default=10, help="Number of similar drafts to show") +def similar(name: str, top: int): + """Find drafts most similar to a given draft.""" + from .embeddings import Embedder + + cfg = _get_config() + db = Database(cfg) + embedder = Embedder(cfg, db) + + try: + results = embedder.find_similar(name, top_n=top) + if not results: + console.print(f"[yellow]No similar drafts found (need embeddings — run `ietf embed` first)[/]") + return + + table = Table(title=f"Drafts similar to {name}") + table.add_column("Similarity", justify="right", width=10) + table.add_column("Draft", style="cyan") + table.add_column("Title") + + for sim_name, score in results: + draft = db.get_draft(sim_name) + title = draft.title[:60] if draft else "" + table.add_row(f"{score:.3f}", sim_name, title) + + console.print(table) + finally: + db.close() + + +# ── clusters ───────────────────────────────────────────────────────────────── + + +@main.command() +@click.option("--threshold", "-t", default=0.85, help="Similarity threshold for clustering") +def clusters(threshold: float): + """Find clusters of highly similar (potentially overlapping) drafts.""" + from .embeddings import Embedder + + cfg = _get_config() + db = Database(cfg) + embedder = Embedder(cfg, db) + + try: + cluster_list = embedder.find_clusters(threshold=threshold) + if not cluster_list: + console.print("No clusters found at this threshold.") + return + + console.print(f"\n[bold]Found {len(cluster_list)} clusters[/] (threshold={threshold})\n") + for i, cluster in enumerate(cluster_list, 1): + console.print(f"[bold cyan]Cluster {i}[/] ({len(cluster)} drafts):") + for name in cluster: + draft = db.get_draft(name) + title = draft.title[:60] if draft else "" + console.print(f" - {name} [dim]{title}[/]") + console.print() + finally: + db.close() + + +# ── report ─────────────────────────────────────────────────────────────────── + + +@main.group() +def report(): + """Generate markdown reports.""" + pass + + +@report.command() +def overview(): + """Overview table of all rated drafts.""" + from .reports import Reporter + cfg = _get_config() + db = Database(cfg) + reporter = Reporter(cfg, db) + try: + path = reporter.overview() + console.print(f"Report saved: [bold]{path}[/]") + finally: + db.close() + + +@report.command() +def landscape(): + """Category-grouped landscape view.""" + from .reports import Reporter + cfg = _get_config() + db = Database(cfg) + reporter = Reporter(cfg, db) + try: + path = reporter.landscape() + console.print(f"Report saved: [bold]{path}[/]") + finally: + db.close() + + +@report.command() +@click.option("--days", "-d", default=7, help="Look back N days") +def digest(days: int): + """What's new digest.""" + from .reports import Reporter + cfg = _get_config() + db = Database(cfg) + reporter = Reporter(cfg, db) + try: + path = reporter.digest(since_days=days) + console.print(f"Report saved: [bold]{path}[/]") + finally: + db.close() + + +# ── config ─────────────────────────────────────────────────────────────────── + + +@main.command("config") +@click.option("--set", "set_key", nargs=2, help="Set a config key (e.g. --set claude_model claude-opus-4-20250514)") +def config_cmd(set_key: tuple[str, str] | None): + """Show or modify configuration.""" + from dataclasses import asdict + cfg = _get_config() + + if set_key: + key, value = set_key + if hasattr(cfg, key): + # Coerce types + current = getattr(cfg, key) + if isinstance(current, float): + value = float(value) + elif isinstance(current, int): + value = int(value) + elif isinstance(current, list): + import json + value = json.loads(value) + setattr(cfg, key, value) + cfg.save() + console.print(f"Set [bold]{key}[/] = {value}") + else: + console.print(f"[red]Unknown config key: {key}[/]") + else: + from dataclasses import asdict + for key, val in asdict(cfg).items(): + console.print(f" [bold]{key}:[/] {val}") diff --git a/src/ietf_analyzer/config.py b/src/ietf_analyzer/config.py new file mode 100644 index 0000000..5d09771 --- /dev/null +++ b/src/ietf_analyzer/config.py @@ -0,0 +1,44 @@ +"""Configuration management.""" + +from __future__ import annotations + +import json +from dataclasses import dataclass, field, asdict +from pathlib import Path + +DEFAULT_DATA_DIR = Path(__file__).resolve().parent.parent.parent / "data" +CONFIG_FILE = DEFAULT_DATA_DIR / "config.json" + +DEFAULT_KEYWORDS = [ + "agent", + "ai-agent", + "llm", + "autonomous", + "machine-learning", + "artificial-intelligence", +] + + +@dataclass +class Config: + data_dir: str = str(DEFAULT_DATA_DIR) + db_path: str = str(DEFAULT_DATA_DIR / "drafts.db") + ollama_url: str = "http://localhost:11434" + ollama_embed_model: str = "nomic-embed-text" + claude_model: str = "claude-sonnet-4-20250514" + search_keywords: list[str] = field(default_factory=lambda: list(DEFAULT_KEYWORDS)) + # Only fetch drafts newer than this (ISO date string) + fetch_since: str = "2024-01-01" + # Polite delay between API requests (seconds) + fetch_delay: float = 0.5 + + def save(self) -> None: + Path(self.data_dir).mkdir(parents=True, exist_ok=True) + CONFIG_FILE.write_text(json.dumps(asdict(self), indent=2)) + + @classmethod + def load(cls) -> Config: + if CONFIG_FILE.exists(): + data = json.loads(CONFIG_FILE.read_text()) + return cls(**{k: v for k, v in data.items() if k in cls.__dataclass_fields__}) + return cls() diff --git a/src/ietf_analyzer/db.py b/src/ietf_analyzer/db.py new file mode 100644 index 0000000..f1cc825 --- /dev/null +++ b/src/ietf_analyzer/db.py @@ -0,0 +1,375 @@ +"""SQLite database layer with FTS5 full-text search.""" + +from __future__ import annotations + +import json +import sqlite3 +from datetime import datetime, timezone +from pathlib import Path + +import numpy as np + +from .config import Config +from .models import Draft, Rating + +SCHEMA = """ +CREATE TABLE IF NOT EXISTS drafts ( + name TEXT PRIMARY KEY, + rev TEXT NOT NULL, + title TEXT NOT NULL, + abstract TEXT NOT NULL DEFAULT '', + time TEXT, + dt_id INTEGER, + pages INTEGER, + words INTEGER, + "group" TEXT, + group_uri TEXT, + expires TEXT, + ad TEXT, + shepherd TEXT, + states TEXT DEFAULT '[]', -- JSON array + full_text TEXT, + categories TEXT DEFAULT '[]', -- JSON array + tags TEXT DEFAULT '[]', -- JSON array + fetched_at TEXT +); + +CREATE TABLE IF NOT EXISTS ratings ( + draft_name TEXT PRIMARY KEY REFERENCES drafts(name), + novelty INTEGER NOT NULL, + maturity INTEGER NOT NULL, + overlap INTEGER NOT NULL, + momentum INTEGER NOT NULL, + relevance INTEGER NOT NULL, + summary TEXT NOT NULL DEFAULT '', + novelty_note TEXT DEFAULT '', + maturity_note TEXT DEFAULT '', + overlap_note TEXT DEFAULT '', + momentum_note TEXT DEFAULT '', + relevance_note TEXT DEFAULT '', + categories TEXT DEFAULT '[]', -- JSON array + rated_at TEXT +); + +CREATE TABLE IF NOT EXISTS embeddings ( + draft_name TEXT PRIMARY KEY REFERENCES drafts(name), + model TEXT NOT NULL, + vector BLOB NOT NULL, -- numpy float32 array as bytes + created_at TEXT +); + +CREATE TABLE IF NOT EXISTS llm_cache ( + draft_name TEXT NOT NULL, + prompt_hash TEXT NOT NULL, + model TEXT NOT NULL, + request_json TEXT NOT NULL, -- full prompt sent + response_json TEXT NOT NULL, -- raw Claude response + input_tokens INTEGER, + output_tokens INTEGER, + created_at TEXT, + PRIMARY KEY (draft_name, prompt_hash) +); + +CREATE VIRTUAL TABLE IF NOT EXISTS drafts_fts USING fts5( + name, title, abstract, full_text, + content='drafts', + content_rowid='rowid' +); + +-- Triggers to keep FTS index in sync +CREATE TRIGGER IF NOT EXISTS drafts_ai AFTER INSERT ON drafts BEGIN + INSERT INTO drafts_fts(rowid, name, title, abstract, full_text) + VALUES (new.rowid, new.name, new.title, new.abstract, new.full_text); +END; + +CREATE TRIGGER IF NOT EXISTS drafts_ad AFTER DELETE ON drafts BEGIN + INSERT INTO drafts_fts(drafts_fts, rowid, name, title, abstract, full_text) + VALUES ('delete', old.rowid, old.name, old.title, old.abstract, old.full_text); +END; + +CREATE TRIGGER IF NOT EXISTS drafts_au AFTER UPDATE ON drafts BEGIN + INSERT INTO drafts_fts(drafts_fts, rowid, name, title, abstract, full_text) + VALUES ('delete', old.rowid, old.name, old.title, old.abstract, old.full_text); + INSERT INTO drafts_fts(rowid, name, title, abstract, full_text) + VALUES (new.rowid, new.name, new.title, new.abstract, new.full_text); +END; +""" + + +class Database: + def __init__(self, config: Config | None = None): + self.config = config or Config.load() + self.db_path = self.config.db_path + Path(self.db_path).parent.mkdir(parents=True, exist_ok=True) + self._conn: sqlite3.Connection | None = None + + @property + def conn(self) -> sqlite3.Connection: + if self._conn is None: + self._conn = sqlite3.connect(self.db_path) + self._conn.row_factory = sqlite3.Row + self._conn.execute("PRAGMA journal_mode=WAL") + self._conn.execute("PRAGMA foreign_keys=ON") + self._conn.executescript(SCHEMA) + return self._conn + + def close(self) -> None: + if self._conn: + self._conn.close() + self._conn = None + + # --- Drafts --- + + def upsert_draft(self, draft: Draft) -> None: + self.conn.execute( + """INSERT INTO drafts (name, rev, title, abstract, time, dt_id, pages, words, + "group", group_uri, expires, ad, shepherd, states, full_text, categories, tags, fetched_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(name) DO UPDATE SET + rev=excluded.rev, title=excluded.title, abstract=excluded.abstract, + time=excluded.time, dt_id=excluded.dt_id, pages=excluded.pages, + words=excluded.words, "group"=excluded."group", group_uri=excluded.group_uri, + expires=excluded.expires, ad=excluded.ad, shepherd=excluded.shepherd, + states=excluded.states, + full_text=COALESCE(excluded.full_text, full_text), + categories=excluded.categories, tags=excluded.tags, + fetched_at=excluded.fetched_at + """, + ( + draft.name, draft.rev, draft.title, draft.abstract, draft.time, + draft.dt_id, draft.pages, draft.words, draft.group, draft.group_uri, + draft.expires, draft.ad, draft.shepherd, + json.dumps(draft.states), draft.full_text, + json.dumps(draft.categories), json.dumps(draft.tags), + draft.fetched_at or datetime.now(timezone.utc).isoformat(), + ), + ) + self.conn.commit() + + def get_draft(self, name: str) -> Draft | None: + row = self.conn.execute("SELECT * FROM drafts WHERE name = ?", (name,)).fetchone() + if row is None: + return None + return self._row_to_draft(row) + + def list_drafts( + self, + limit: int = 100, + offset: int = 0, + order_by: str = "time DESC", + ) -> list[Draft]: + # Sanitize order_by to prevent injection + allowed = {"time", "name", "title", "pages", "words", "fetched_at"} + parts = order_by.split() + col = parts[0] if parts else "time" + direction = parts[1].upper() if len(parts) > 1 else "DESC" + if col not in allowed: + col = "time" + if direction not in ("ASC", "DESC"): + direction = "DESC" + safe_order = f'"{col}" {direction}' if col == "group" else f"{col} {direction}" + + rows = self.conn.execute( + f"SELECT * FROM drafts ORDER BY {safe_order} LIMIT ? OFFSET ?", + (limit, offset), + ).fetchall() + return [self._row_to_draft(r) for r in rows] + + def count_drafts(self) -> int: + return self.conn.execute("SELECT COUNT(*) FROM drafts").fetchone()[0] + + def search_drafts(self, query: str, limit: int = 50) -> list[Draft]: + rows = self.conn.execute( + """SELECT d.* FROM drafts d + JOIN drafts_fts f ON d.rowid = f.rowid + WHERE drafts_fts MATCH ? + ORDER BY rank + LIMIT ?""", + (query, limit), + ).fetchall() + return [self._row_to_draft(r) for r in rows] + + def drafts_without_text(self, limit: int = 100) -> list[Draft]: + rows = self.conn.execute( + "SELECT * FROM drafts WHERE full_text IS NULL LIMIT ?", (limit,) + ).fetchall() + return [self._row_to_draft(r) for r in rows] + + # --- Ratings --- + + def upsert_rating(self, rating: Rating) -> None: + self.conn.execute( + """INSERT INTO ratings (draft_name, novelty, maturity, overlap, momentum, relevance, + summary, novelty_note, maturity_note, overlap_note, momentum_note, relevance_note, + categories, rated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(draft_name) DO UPDATE SET + novelty=excluded.novelty, maturity=excluded.maturity, overlap=excluded.overlap, + momentum=excluded.momentum, relevance=excluded.relevance, summary=excluded.summary, + novelty_note=excluded.novelty_note, maturity_note=excluded.maturity_note, + overlap_note=excluded.overlap_note, momentum_note=excluded.momentum_note, + relevance_note=excluded.relevance_note, categories=excluded.categories, + rated_at=excluded.rated_at + """, + ( + rating.draft_name, rating.novelty, rating.maturity, rating.overlap, + rating.momentum, rating.relevance, rating.summary, + rating.novelty_note, rating.maturity_note, rating.overlap_note, + rating.momentum_note, rating.relevance_note, + json.dumps(rating.categories), + rating.rated_at or datetime.now(timezone.utc).isoformat(), + ), + ) + self.conn.commit() + + def get_rating(self, draft_name: str) -> Rating | None: + row = self.conn.execute( + "SELECT * FROM ratings WHERE draft_name = ?", (draft_name,) + ).fetchone() + if row is None: + return None + return self._row_to_rating(row) + + def unrated_drafts(self, limit: int = 100) -> list[Draft]: + rows = self.conn.execute( + """SELECT d.* FROM drafts d + LEFT JOIN ratings r ON d.name = r.draft_name + WHERE r.draft_name IS NULL + LIMIT ?""", + (limit,), + ).fetchall() + return [self._row_to_draft(r) for r in rows] + + def drafts_with_ratings(self, limit: int = 200) -> list[tuple[Draft, Rating]]: + rows = self.conn.execute( + """SELECT d.*, r.novelty, r.maturity, r.overlap, r.momentum, r.relevance, + r.summary, r.novelty_note, r.maturity_note, r.overlap_note, + r.momentum_note, r.relevance_note, r.categories as r_categories, r.rated_at + FROM drafts d + JOIN ratings r ON d.name = r.draft_name + ORDER BY (r.novelty * 0.30 + r.relevance * 0.25 + r.maturity * 0.20 + + r.momentum * 0.15 + (6 - r.overlap) * 0.10) DESC + LIMIT ?""", + (limit,), + ).fetchall() + results = [] + for r in rows: + draft = self._row_to_draft(r) + rating = Rating( + draft_name=r["draft_name"] if "draft_name" in r.keys() else draft.name, + novelty=r["novelty"], maturity=r["maturity"], overlap=r["overlap"], + momentum=r["momentum"], relevance=r["relevance"], summary=r["summary"], + novelty_note=r["novelty_note"], maturity_note=r["maturity_note"], + overlap_note=r["overlap_note"], momentum_note=r["momentum_note"], + relevance_note=r["relevance_note"], + categories=json.loads(r["r_categories"]) if r["r_categories"] else [], + rated_at=r["rated_at"], + ) + results.append((draft, rating)) + return results + + # --- Embeddings --- + + def store_embedding(self, draft_name: str, model: str, vector: np.ndarray) -> None: + self.conn.execute( + """INSERT INTO embeddings (draft_name, model, vector, created_at) + VALUES (?, ?, ?, ?) + ON CONFLICT(draft_name) DO UPDATE SET + model=excluded.model, vector=excluded.vector, created_at=excluded.created_at + """, + (draft_name, model, vector.astype(np.float32).tobytes(), + datetime.now(timezone.utc).isoformat()), + ) + self.conn.commit() + + def get_embedding(self, draft_name: str) -> np.ndarray | None: + row = self.conn.execute( + "SELECT vector FROM embeddings WHERE draft_name = ?", (draft_name,) + ).fetchone() + if row is None: + return None + return np.frombuffer(row["vector"], dtype=np.float32) + + def all_embeddings(self) -> dict[str, np.ndarray]: + rows = self.conn.execute("SELECT draft_name, vector FROM embeddings").fetchall() + return { + r["draft_name"]: np.frombuffer(r["vector"], dtype=np.float32) + for r in rows + } + + def drafts_without_embeddings(self, limit: int = 500) -> list[str]: + rows = self.conn.execute( + """SELECT d.name FROM drafts d + LEFT JOIN embeddings e ON d.name = e.draft_name + WHERE e.draft_name IS NULL + LIMIT ?""", + (limit,), + ).fetchall() + return [r["name"] for r in rows] + + # --- LLM Cache --- + + def cache_response( + self, draft_name: str, prompt_hash: str, model: str, + request_json: str, response_json: str, + input_tokens: int = 0, output_tokens: int = 0, + ) -> None: + self.conn.execute( + """INSERT INTO llm_cache (draft_name, prompt_hash, model, request_json, + response_json, input_tokens, output_tokens, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(draft_name, prompt_hash) DO UPDATE SET + model=excluded.model, response_json=excluded.response_json, + input_tokens=excluded.input_tokens, output_tokens=excluded.output_tokens, + created_at=excluded.created_at + """, + (draft_name, prompt_hash, model, request_json, response_json, + input_tokens, output_tokens, datetime.now(timezone.utc).isoformat()), + ) + self.conn.commit() + + def get_cached_response(self, draft_name: str, prompt_hash: str) -> str | None: + row = self.conn.execute( + "SELECT response_json FROM llm_cache WHERE draft_name = ? AND prompt_hash = ?", + (draft_name, prompt_hash), + ).fetchone() + return row["response_json"] if row else None + + def total_tokens_used(self) -> tuple[int, int]: + row = self.conn.execute( + "SELECT COALESCE(SUM(input_tokens),0), COALESCE(SUM(output_tokens),0) FROM llm_cache" + ).fetchone() + return (row[0], row[1]) + + # --- Helpers --- + + @staticmethod + def _row_to_draft(row: sqlite3.Row) -> Draft: + d = dict(row) + return Draft( + name=d["name"], rev=d["rev"], title=d["title"], abstract=d["abstract"], + time=d["time"], dt_id=d.get("dt_id"), pages=d.get("pages"), + words=d.get("words"), group=d.get("group"), group_uri=d.get("group_uri"), + expires=d.get("expires"), ad=d.get("ad"), shepherd=d.get("shepherd"), + states=json.loads(d.get("states") or "[]"), + full_text=d.get("full_text"), + categories=json.loads(d.get("categories") or "[]"), + tags=json.loads(d.get("tags") or "[]"), + fetched_at=d.get("fetched_at"), + ) + + @staticmethod + def _row_to_rating(row: sqlite3.Row) -> Rating: + d = dict(row) + return Rating( + draft_name=d["draft_name"], novelty=d["novelty"], maturity=d["maturity"], + overlap=d["overlap"], momentum=d["momentum"], relevance=d["relevance"], + summary=d["summary"], + novelty_note=d.get("novelty_note", ""), + maturity_note=d.get("maturity_note", ""), + overlap_note=d.get("overlap_note", ""), + momentum_note=d.get("momentum_note", ""), + relevance_note=d.get("relevance_note", ""), + categories=json.loads(d.get("categories") or "[]"), + rated_at=d.get("rated_at"), + ) diff --git a/src/ietf_analyzer/embeddings.py b/src/ietf_analyzer/embeddings.py new file mode 100644 index 0000000..c3ca7d1 --- /dev/null +++ b/src/ietf_analyzer/embeddings.py @@ -0,0 +1,136 @@ +"""Embedding generation via Ollama and similarity computation.""" + +from __future__ import annotations + +import numpy as np +import ollama as ollama_lib +from rich.console import Console +from rich.progress import Progress, SpinnerColumn, TextColumn, BarColumn, MofNCompleteColumn + +from .config import Config +from .db import Database + +console = Console() + + +def _cosine_similarity(a: np.ndarray, b: np.ndarray) -> float: + dot = np.dot(a, b) + norm = np.linalg.norm(a) * np.linalg.norm(b) + if norm == 0: + return 0.0 + return float(dot / norm) + + +class Embedder: + def __init__(self, config: Config | None = None, db: Database | None = None): + self.config = config or Config.load() + self.db = db or Database(self.config) + self.client = ollama_lib.Client(host=self.config.ollama_url) + + def embed_text(self, text: str) -> np.ndarray: + """Generate an embedding for a single text string.""" + # Truncate to ~8k tokens worth of text (roughly 32k chars) + truncated = text[:32000] + resp = self.client.embed(model=self.config.ollama_embed_model, input=truncated) + return np.array(resp["embeddings"][0], dtype=np.float32) + + def embed_draft(self, draft_name: str) -> np.ndarray | None: + """Generate and store an embedding for a draft using its abstract + title.""" + draft = self.db.get_draft(draft_name) + if draft is None: + console.print(f"[red]Draft not found: {draft_name}[/]") + return None + + # Combine title + abstract + beginning of full text for richer embedding + parts = [draft.title, draft.abstract] + if draft.full_text: + # Include first ~4k chars of body + parts.append(draft.full_text[:4000]) + text = "\n\n".join(p for p in parts if p) + + vec = self.embed_text(text) + self.db.store_embedding(draft_name, self.config.ollama_embed_model, vec) + return vec + + def embed_all_missing(self) -> int: + """Generate embeddings for all drafts that don't have one yet.""" + missing = self.db.drafts_without_embeddings() + if not missing: + console.print("All drafts already have embeddings.") + return 0 + + count = 0 + with Progress( + SpinnerColumn(), + TextColumn("[progress.description]{task.description}"), + BarColumn(), + MofNCompleteColumn(), + console=console, + ) as progress: + task = progress.add_task("Generating embeddings...", total=len(missing)) + for name in missing: + try: + self.embed_draft(name) + count += 1 + except Exception as e: + console.print(f"[red]Failed to embed {name}: {e}[/]") + progress.advance(task) + + console.print(f"Generated [bold green]{count}[/] embeddings") + return count + + def find_similar(self, draft_name: str, top_n: int = 10) -> list[tuple[str, float]]: + """Find the most similar drafts to a given draft.""" + target_vec = self.db.get_embedding(draft_name) + if target_vec is None: + # Try generating it on the fly + target_vec = self.embed_draft(draft_name) + if target_vec is None: + return [] + + all_embeddings = self.db.all_embeddings() + similarities: list[tuple[str, float]] = [] + for name, vec in all_embeddings.items(): + if name == draft_name: + continue + sim = _cosine_similarity(target_vec, vec) + similarities.append((name, sim)) + + similarities.sort(key=lambda x: x[1], reverse=True) + return similarities[:top_n] + + def similarity_matrix(self) -> tuple[list[str], np.ndarray]: + """Compute pairwise similarity matrix for all embedded drafts.""" + all_embeddings = self.db.all_embeddings() + names = sorted(all_embeddings.keys()) + n = len(names) + matrix = np.zeros((n, n), dtype=np.float32) + for i in range(n): + for j in range(i, n): + sim = _cosine_similarity(all_embeddings[names[i]], all_embeddings[names[j]]) + matrix[i, j] = sim + matrix[j, i] = sim + return names, matrix + + def find_clusters(self, threshold: float = 0.85) -> list[list[str]]: + """Find clusters of highly similar drafts using simple greedy clustering.""" + names, matrix = self.similarity_matrix() + if len(names) == 0: + return [] + + visited = set() + clusters: list[list[str]] = [] + + for i, name in enumerate(names): + if name in visited: + continue + cluster = [name] + visited.add(name) + for j in range(len(names)): + if names[j] not in visited and matrix[i, j] >= threshold: + cluster.append(names[j]) + visited.add(names[j]) + if len(cluster) > 1: + clusters.append(cluster) + + return clusters diff --git a/src/ietf_analyzer/fetcher.py b/src/ietf_analyzer/fetcher.py new file mode 100644 index 0000000..f7a05eb --- /dev/null +++ b/src/ietf_analyzer/fetcher.py @@ -0,0 +1,204 @@ +"""Datatracker API client — search, fetch metadata, download full text.""" + +from __future__ import annotations + +import time as time_mod +from datetime import datetime, timezone + +import httpx +from rich.console import Console +from rich.progress import Progress, SpinnerColumn, TextColumn, BarColumn, MofNCompleteColumn + +from .config import Config +from .models import Draft + +API_BASE = "https://datatracker.ietf.org/api/v1" +TEXT_BASE = "https://www.ietf.org/archive/id" +SEARCH_FIELDS = ("name__contains", "abstract__contains") + +console = Console() + + +class Fetcher: + def __init__(self, config: Config | None = None): + self.config = config or Config.load() + self.client = httpx.Client(timeout=30, follow_redirects=True) + self._group_cache: dict[str, str] = {} + + def close(self) -> None: + self.client.close() + + # --- Search & fetch metadata --- + + def search_drafts( + self, + keywords: list[str] | None = None, + since: str | None = None, + limit_per_keyword: int = 200, + ) -> list[Draft]: + """Search for drafts matching keywords. Deduplicates by name.""" + keywords = keywords or self.config.search_keywords + since = since or self.config.fetch_since + seen: dict[str, Draft] = {} + + with Progress( + SpinnerColumn(), + TextColumn("[progress.description]{task.description}"), + BarColumn(), + MofNCompleteColumn(), + console=console, + ) as progress: + # Search both name and abstract for each keyword + searches = [] + for kw in keywords: + for field in SEARCH_FIELDS: + searches.append((kw, field)) + + task = progress.add_task("Searching Datatracker...", total=len(searches)) + + for kw, search_field in searches: + progress.update(task, description=f"Searching {search_field.split('__')[0]}: {kw}") + drafts = self._paginated_search(search_field, kw, since, limit_per_keyword) + for d in drafts: + if d.name not in seen: + seen[d.name] = d + progress.advance(task) + + console.print(f"Found [bold green]{len(seen)}[/] unique drafts") + return list(seen.values()) + + def _paginated_search( + self, + search_field: str, + keyword: str, + since: str, + max_results: int, + ) -> list[Draft]: + results: list[Draft] = [] + offset = 0 + page_size = 100 + + while offset < max_results: + params = { + "format": "json", + search_field: keyword, + "time__gte": since, + "type__slug": "draft", + "limit": min(page_size, max_results - offset), + "offset": offset, + } + try: + resp = self.client.get(f"{API_BASE}/doc/document/", params=params) + resp.raise_for_status() + except httpx.HTTPError as e: + console.print(f"[red]API error: {e}[/]") + break + + data = resp.json() + objects = data.get("objects", []) + if not objects: + break + + for obj in objects: + results.append(self._api_obj_to_draft(obj)) + + offset += len(objects) + if not data.get("meta", {}).get("next"): + break + + time_mod.sleep(self.config.fetch_delay) + + return results + + def fetch_draft(self, name: str) -> Draft | None: + """Fetch a single draft by name.""" + try: + resp = self.client.get( + f"{API_BASE}/doc/document/{name}/", params={"format": "json"} + ) + resp.raise_for_status() + return self._api_obj_to_draft(resp.json()) + except httpx.HTTPError as e: + console.print(f"[red]Error fetching {name}: {e}[/]") + return None + + # --- Full text --- + + def download_full_text(self, draft: Draft) -> str | None: + """Download the plain text of a draft.""" + url = draft.text_url + try: + resp = self.client.get(url) + resp.raise_for_status() + return resp.text + except httpx.HTTPError: + # Try without revision if it fails + try: + alt_url = f"{TEXT_BASE}/{draft.name}.txt" + resp = self.client.get(alt_url) + resp.raise_for_status() + return resp.text + except httpx.HTTPError as e: + console.print(f"[dim]Could not download text for {draft.name}: {e}[/]") + return None + + def download_texts(self, drafts: list[Draft]) -> dict[str, str]: + """Download full text for multiple drafts. Returns {name: text}.""" + results: dict[str, str] = {} + with Progress( + SpinnerColumn(), + TextColumn("[progress.description]{task.description}"), + BarColumn(), + MofNCompleteColumn(), + console=console, + ) as progress: + task = progress.add_task("Downloading draft texts...", total=len(drafts)) + for draft in drafts: + text = self.download_full_text(draft) + if text: + results[draft.name] = text + progress.advance(task) + time_mod.sleep(self.config.fetch_delay) + console.print(f"Downloaded [bold green]{len(results)}[/] / {len(drafts)} texts") + return results + + # --- Group resolution --- + + def resolve_group(self, group_uri: str) -> str: + """Resolve a group API URI to a group acronym/name.""" + if not group_uri: + return "" + if group_uri in self._group_cache: + return self._group_cache[group_uri] + try: + resp = self.client.get( + f"https://datatracker.ietf.org{group_uri}", params={"format": "json"} + ) + resp.raise_for_status() + name = resp.json().get("acronym", resp.json().get("name", "")) + self._group_cache[group_uri] = name + time_mod.sleep(self.config.fetch_delay) + return name + except httpx.HTTPError: + return "" + + # --- Helpers --- + + def _api_obj_to_draft(self, obj: dict) -> Draft: + return Draft( + name=obj.get("name", ""), + rev=obj.get("rev", "00"), + title=obj.get("title", ""), + abstract=obj.get("abstract", "").strip(), + time=obj.get("time", ""), + dt_id=obj.get("id"), + pages=obj.get("pages"), + words=obj.get("words"), + group=None, # Resolved lazily + group_uri=obj.get("group", ""), + expires=obj.get("expires"), + ad=obj.get("ad"), + shepherd=obj.get("shepherd"), + states=[s for s in (obj.get("states") or []) if isinstance(s, str)], + fetched_at=datetime.now(timezone.utc).isoformat(), + ) diff --git a/src/ietf_analyzer/models.py b/src/ietf_analyzer/models.py new file mode 100644 index 0000000..b53fcd0 --- /dev/null +++ b/src/ietf_analyzer/models.py @@ -0,0 +1,72 @@ +"""Data models for drafts, ratings, and categories.""" + +from __future__ import annotations + +from dataclasses import dataclass, field +from datetime import datetime + + +@dataclass +class Draft: + name: str # e.g. "draft-zheng-dispatch-agent-identity-management" + rev: str # e.g. "00" + title: str + abstract: str + time: str # ISO datetime from API + dt_id: int | None = None # Datatracker document ID + pages: int | None = None + words: int | None = None + group: str | None = None # Working group name (resolved) + group_uri: str | None = None # Raw API URI + expires: str | None = None + ad: str | None = None # Area director URI + shepherd: str | None = None + states: list[str] = field(default_factory=list) + full_text: str | None = None + categories: list[str] = field(default_factory=list) + tags: list[str] = field(default_factory=list) + fetched_at: str | None = None + + @property + def text_url(self) -> str: + return f"https://www.ietf.org/archive/id/{self.name}-{self.rev}.txt" + + @property + def datatracker_url(self) -> str: + return f"https://datatracker.ietf.org/doc/{self.name}/" + + @property + def date(self) -> str: + """Return just the date portion of time.""" + if self.time: + return self.time[:10] + return "" + + +@dataclass +class Rating: + draft_name: str + novelty: int # 1-5 + maturity: int # 1-5 + overlap: int # 1-5 (5 = highly overlapping with others) + momentum: int # 1-5 + relevance: int # 1-5 + summary: str # 2-4 sentence AI summary + novelty_note: str = "" + maturity_note: str = "" + overlap_note: str = "" + momentum_note: str = "" + relevance_note: str = "" + categories: list[str] = field(default_factory=list) + rated_at: str | None = None + + @property + def composite_score(self) -> float: + """Weighted composite: novelty and relevance matter most.""" + return ( + self.novelty * 0.30 + + self.relevance * 0.25 + + self.maturity * 0.20 + + self.momentum * 0.15 + + (6 - self.overlap) * 0.10 # Invert: less overlap = better + ) diff --git a/src/ietf_analyzer/reports.py b/src/ietf_analyzer/reports.py new file mode 100644 index 0000000..e44f016 --- /dev/null +++ b/src/ietf_analyzer/reports.py @@ -0,0 +1,177 @@ +"""Markdown report generation.""" + +from __future__ import annotations + +from datetime import datetime, timezone +from pathlib import Path + +from .config import Config +from .db import Database +from .models import Draft, Rating + +STAR = {1: "\u2581", 2: "\u2583", 3: "\u2585", 4: "\u2587", 5: "\u2588"} + + +def _bar(score: int) -> str: + return STAR.get(score, "?") + + +def _score_str(rating: Rating) -> str: + return f"{rating.composite_score:.1f}" + + +class Reporter: + def __init__(self, config: Config | None = None, db: Database | None = None): + self.config = config or Config.load() + self.db = db or Database(self.config) + self.output_dir = Path(self.config.data_dir) / "reports" + self.output_dir.mkdir(parents=True, exist_ok=True) + + def overview(self) -> str: + """Generate a sortable overview table of all rated drafts.""" + pairs = self.db.drafts_with_ratings() + total = self.db.count_drafts() + now = datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M UTC") + + lines = [ + f"# IETF AI/Agent Draft Overview", + f"*Generated {now} — {len(pairs)} rated / {total} tracked drafts*\n", + "| Score | Draft | Date | N | M | O | Mom | R | Summary |", + "|------:|-------|------|:-:|:-:|:-:|:---:|:-:|---------|", + ] + + for draft, rating in pairs: + name_link = f"[{draft.name}]({draft.datatracker_url})" + lines.append( + f"| {_score_str(rating)} | {name_link} | {draft.date} " + f"| {_bar(rating.novelty)} | {_bar(rating.maturity)} " + f"| {_bar(rating.overlap)} | {_bar(rating.momentum)} " + f"| {_bar(rating.relevance)} | {rating.summary[:80]}... |" + ) + + lines.append("\n*N=Novelty, M=Maturity, O=Overlap, Mom=Momentum, R=Relevance (block height = score 1-5)*") + + report = "\n".join(lines) + path = self.output_dir / "overview.md" + path.write_text(report) + return str(path) + + def landscape(self) -> str: + """Generate a category-grouped landscape report.""" + pairs = self.db.drafts_with_ratings() + now = datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M UTC") + + # Group by category + by_cat: dict[str, list[tuple[Draft, Rating]]] = {} + for draft, rating in pairs: + cats = rating.categories or ["Uncategorized"] + for cat in cats: + by_cat.setdefault(cat, []).append((draft, rating)) + + lines = [ + f"# IETF AI/Agent Draft Landscape", + f"*Generated {now}*\n", + ] + + for cat in sorted(by_cat.keys()): + items = by_cat[cat] + items.sort(key=lambda x: x[1].composite_score, reverse=True) + lines.append(f"\n## {cat} ({len(items)} drafts)\n") + for draft, rating in items: + lines.append( + f"- **[{draft.name}]({draft.datatracker_url})** " + f"(score: {_score_str(rating)}) — {rating.summary[:100]}" + ) + + report = "\n".join(lines) + path = self.output_dir / "landscape.md" + path.write_text(report) + return str(path) + + def draft_detail(self, draft_name: str) -> str: + """Generate a detailed report for a single draft.""" + draft = self.db.get_draft(draft_name) + if draft is None: + return "" + + rating = self.db.get_rating(draft_name) + + lines = [ + f"# {draft.title}", + f"**{draft.name}** rev {draft.rev}\n", + f"- **Date:** {draft.date}", + f"- **Pages:** {draft.pages or '?'}", + f"- **Group:** {draft.group or 'individual'}", + f"- **Datatracker:** {draft.datatracker_url}", + f"- **Text:** {draft.text_url}\n", + f"## Abstract\n{draft.abstract}\n", + ] + + if rating: + lines.extend([ + f"## AI Assessment (score: {_score_str(rating)})\n", + f"**Summary:** {rating.summary}\n", + f"| Dimension | Score | Notes |", + f"|-----------|:-----:|-------|", + f"| Novelty | {rating.novelty}/5 | {rating.novelty_note} |", + f"| Maturity | {rating.maturity}/5 | {rating.maturity_note} |", + f"| Overlap | {rating.overlap}/5 | {rating.overlap_note} |", + f"| Momentum | {rating.momentum}/5 | {rating.momentum_note} |", + f"| Relevance | {rating.relevance}/5 | {rating.relevance_note} |", + f"\n**Categories:** {', '.join(rating.categories) if rating.categories else 'none'}", + ]) + else: + lines.append("*Not yet rated — run `ietf analyze` to generate a rating.*") + + report = "\n".join(lines) + path = self.output_dir / f"{draft_name}.md" + path.write_text(report) + return str(path) + + def digest(self, since_days: int = 7) -> str: + """Generate a digest of recently fetched/updated drafts.""" + from datetime import timedelta + cutoff = (datetime.now(timezone.utc) - timedelta(days=since_days)).isoformat() + now = datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M UTC") + + # Get recent drafts by fetched_at + all_drafts = self.db.list_drafts(limit=500, order_by="fetched_at DESC") + recent = [d for d in all_drafts if d.fetched_at and d.fetched_at >= cutoff] + + lines = [ + f"# Weekly Digest — IETF AI/Agent Drafts", + f"*Generated {now} — showing drafts fetched in last {since_days} days*\n", + f"**{len(recent)} drafts** in this period\n", + ] + + if not recent: + lines.append("No new drafts found. Run `ietf fetch` to update.") + else: + # Split into rated and unrated + rated = [] + unrated = [] + for d in recent: + r = self.db.get_rating(d.name) + if r: + rated.append((d, r)) + else: + unrated.append(d) + + if rated: + rated.sort(key=lambda x: x[1].composite_score, reverse=True) + lines.append("## Top Rated New Drafts\n") + for draft, rating in rated[:10]: + lines.append( + f"1. **[{draft.name}]({draft.datatracker_url})** " + f"(score: {_score_str(rating)}) — {rating.summary[:120]}" + ) + + if unrated: + lines.append(f"\n## Awaiting Analysis ({len(unrated)} drafts)\n") + for d in unrated[:20]: + lines.append(f"- [{d.name}]({d.datatracker_url}) — {d.title}") + + report = "\n".join(lines) + path = self.output_dir / "digest.md" + path.write_text(report) + return str(path)