2650 lines
109 KiB
HTML
2650 lines
109 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en" class="Internet-Draft">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta content="Common,Latin" name="scripts">
|
||
<meta content="initial-scale=1.0" name="viewport">
|
||
<title>Gap Analysis for Autonomous Agent Protocols</title>
|
||
<meta content="Christian Nennemann" name="author">
|
||
<meta content="
|
||
This document maps the IETF autonomous agent landscape,
|
||
identifies eleven gap areas where standardization is absent
|
||
or insufficient, and introduces six companion drafts that
|
||
address the most critical gaps. Over 260 IETF drafts touch
|
||
on agent communication, identity, safety, and operations,
|
||
yet no single reference architecture ties them together.
|
||
This gap analysis provides a structured roadmap for the
|
||
standards work needed to enable safe, interoperable, and
|
||
auditable autonomous agent ecosystems.
|
||
" name="description">
|
||
<meta content="xml2rfc 3.31.0" name="generator">
|
||
<meta content="draft-nennemann-agent-gap-analysis-00" name="ietf.draft">
|
||
<!-- Generator version information:
|
||
xml2rfc 3.31.0
|
||
Python 3.14.3
|
||
ConfigArgParse 1.7.1
|
||
google-i18n-address 3.1.1
|
||
intervaltree 3.2.1
|
||
Jinja2 3.1.6
|
||
lxml 6.0.2
|
||
platformdirs 4.9.2
|
||
pycountry 26.2.16
|
||
PyYAML 6.0.3
|
||
requests 2.32.5
|
||
wcwidth 0.6.0
|
||
-->
|
||
<link href="draft-nennemann-agent-gap-analysis-00.xml" rel="alternate" type="application/rfc+xml">
|
||
<link href="#copyright" rel="license">
|
||
<style type="text/css">/*
|
||
|
||
NOTE: Changes at the bottom of this file overrides some earlier settings.
|
||
|
||
Once the style has stabilized and has been adopted as an official RFC style,
|
||
this can be consolidated so that style settings occur only in one place, but
|
||
for now the contents of this file consists first of the initial CSS work as
|
||
provided to the RFC Formatter (xml2rfc) work, followed by itemized and
|
||
commented changes found necessary during the development of the v3
|
||
formatters.
|
||
|
||
*/
|
||
|
||
/* fonts */
|
||
@import url('https://static.ietf.org/fonts/noto-sans/import.css'); /* Sans-serif */
|
||
@import url('https://static.ietf.org/fonts/noto-serif/import.css'); /* Serif (print) */
|
||
@import url('https://static.ietf.org/fonts/roboto-mono/import.css'); /* Monospace */
|
||
|
||
:root {
|
||
--font-sans: 'Noto Sans', Arial, Helvetica, sans-serif;
|
||
--font-serif: 'Noto Serif', 'Times', 'Times New Roman', serif;
|
||
--font-mono: 'Roboto Mono', Courier, 'Courier New', monospace;
|
||
}
|
||
|
||
@viewport {
|
||
zoom: 1.0;
|
||
}
|
||
@-ms-viewport {
|
||
width: extend-to-zoom;
|
||
zoom: 1.0;
|
||
}
|
||
/* general and mobile first */
|
||
html {
|
||
}
|
||
body {
|
||
max-width: 90%;
|
||
margin: 1.5em auto;
|
||
color: #222;
|
||
background-color: #fff;
|
||
font-size: 14px;
|
||
font-family: var(--font-sans);
|
||
line-height: 1.6;
|
||
scroll-behavior: smooth;
|
||
overflow-wrap: break-word;
|
||
}
|
||
.ears {
|
||
display: none;
|
||
}
|
||
|
||
/* headings */
|
||
#title, h1, h2, h3, h4, h5, h6 {
|
||
margin: 1em 0 0.5em;
|
||
font-weight: bold;
|
||
line-height: 1.3;
|
||
}
|
||
#title {
|
||
clear: both;
|
||
border-bottom: 1px solid #ddd;
|
||
margin: 0 0 0.5em 0;
|
||
padding: 1em 0 0.5em;
|
||
}
|
||
.author {
|
||
padding-bottom: 4px;
|
||
}
|
||
h1 {
|
||
font-size: 26px;
|
||
margin: 1em 0;
|
||
}
|
||
h2 {
|
||
font-size: 22px;
|
||
margin-top: -20px; /* provide offset for in-page anchors */
|
||
padding-top: 33px;
|
||
}
|
||
h3 {
|
||
font-size: 18px;
|
||
margin-top: -36px; /* provide offset for in-page anchors */
|
||
padding-top: 42px;
|
||
}
|
||
h4 {
|
||
font-size: 16px;
|
||
margin-top: -36px; /* provide offset for in-page anchors */
|
||
padding-top: 42px;
|
||
}
|
||
h5, h6 {
|
||
font-size: 14px;
|
||
}
|
||
#n-copyright-notice {
|
||
border-bottom: 1px solid #ddd;
|
||
padding-bottom: 1em;
|
||
margin-bottom: 1em;
|
||
}
|
||
/* general structure */
|
||
p {
|
||
padding: 0;
|
||
margin: 0 0 1em 0;
|
||
text-align: left;
|
||
}
|
||
div, span {
|
||
position: relative;
|
||
}
|
||
div {
|
||
margin: 0;
|
||
}
|
||
.alignRight.art-text {
|
||
background-color: #f9f9f9;
|
||
border: 1px solid #eee;
|
||
border-radius: 3px;
|
||
padding: 1em 1em 0;
|
||
margin-bottom: 1.5em;
|
||
}
|
||
.alignRight.art-text pre {
|
||
padding: 0;
|
||
}
|
||
.alignRight {
|
||
margin: 1em 0;
|
||
}
|
||
.alignRight > *:first-child {
|
||
border: none;
|
||
margin: 0;
|
||
float: right;
|
||
clear: both;
|
||
}
|
||
.alignRight > *:nth-child(2) {
|
||
clear: both;
|
||
display: block;
|
||
border: none;
|
||
}
|
||
svg {
|
||
display: block;
|
||
}
|
||
@media print {
|
||
svg {
|
||
max-height: 850px;
|
||
max-width: 660px;
|
||
}
|
||
}
|
||
svg[font-family~="serif" i], svg [font-family~="serif" i] {
|
||
font-family: var(--font-serif);
|
||
}
|
||
svg[font-family~="sans-serif" i], svg [font-family~="sans-serif" i] {
|
||
font-family: var(--font-sans);
|
||
}
|
||
svg[font-family~="monospace" i], svg [font-family~="monospace" i] {
|
||
font-family: var(--font-mono);
|
||
}
|
||
.alignCenter.art-text {
|
||
background-color: #f9f9f9;
|
||
border: 1px solid #eee;
|
||
border-radius: 3px;
|
||
padding: 1em 1em 0;
|
||
margin-bottom: 1.5em;
|
||
}
|
||
.alignCenter.art-text pre {
|
||
padding: 0;
|
||
}
|
||
.alignCenter {
|
||
margin: 1em 0;
|
||
}
|
||
.alignCenter > *:first-child {
|
||
display: table;
|
||
border: none;
|
||
margin: 0 auto;
|
||
}
|
||
|
||
/* lists */
|
||
ol, ul {
|
||
padding: 0;
|
||
margin: 0 0 1em 2em;
|
||
}
|
||
ol ol, ul ul, ol ul, ul ol {
|
||
margin-left: 1em;
|
||
}
|
||
li {
|
||
margin: 0 0 0.25em 0;
|
||
}
|
||
.ulCompact li {
|
||
margin: 0;
|
||
}
|
||
ul.empty, .ulEmpty {
|
||
list-style-type: none;
|
||
}
|
||
ul.empty li, .ulEmpty li {
|
||
margin-top: 0.5em;
|
||
}
|
||
ul.ulBare, li.ulBare {
|
||
margin-left: 0em !important;
|
||
}
|
||
ul.compact, .ulCompact,
|
||
ol.compact, .olCompact {
|
||
line-height: 100%;
|
||
margin: 0 0 0 2em;
|
||
}
|
||
|
||
/* definition lists */
|
||
dl {
|
||
}
|
||
dl > dt {
|
||
float: left;
|
||
margin-right: 1em;
|
||
}
|
||
/*
|
||
dl.nohang > dt {
|
||
float: none;
|
||
}
|
||
*/
|
||
dl > dd {
|
||
margin-bottom: .8em;
|
||
min-height: 1.3em;
|
||
}
|
||
dl.compact > dd, .dlCompact > dd {
|
||
margin-bottom: 0em;
|
||
}
|
||
dl > dd > dl {
|
||
margin-top: 0.5em;
|
||
margin-bottom: 0em;
|
||
}
|
||
|
||
/* links */
|
||
a {
|
||
text-decoration: none;
|
||
}
|
||
a[href] {
|
||
color: #22e; /* Arlen: WCAG 2019 */
|
||
}
|
||
a[href]:hover {
|
||
background-color: #f2f2f2;
|
||
}
|
||
figcaption a[href],
|
||
a[href].selfRef {
|
||
color: #222;
|
||
}
|
||
/* XXX probably not this:
|
||
a.selfRef:hover {
|
||
background-color: transparent;
|
||
cursor: default;
|
||
} */
|
||
|
||
/* Figures */
|
||
tt, code, pre {
|
||
background-color: #f9f9f9;
|
||
font-family: var(--font-mono);
|
||
}
|
||
pre {
|
||
border: 1px solid #eee;
|
||
margin: 0;
|
||
padding: 1em;
|
||
}
|
||
img {
|
||
max-width: 100%;
|
||
}
|
||
figure {
|
||
margin: 0;
|
||
}
|
||
figure blockquote {
|
||
margin: 0.8em 0.4em 0.4em;
|
||
}
|
||
figcaption {
|
||
font-style: italic;
|
||
margin: 0 0 1em 0;
|
||
}
|
||
@media screen {
|
||
pre {
|
||
overflow-x: auto;
|
||
max-width: 100%;
|
||
max-width: calc(100% - 22px);
|
||
}
|
||
}
|
||
|
||
/* aside, blockquote */
|
||
aside, blockquote {
|
||
margin-left: 0;
|
||
padding: 1.2em 2em;
|
||
}
|
||
blockquote {
|
||
background-color: #f9f9f9;
|
||
color: #111; /* Arlen: WCAG 2019 */
|
||
border: 1px solid #ddd;
|
||
border-radius: 3px;
|
||
margin: 1em 0;
|
||
}
|
||
blockquote > *:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
cite {
|
||
display: block;
|
||
text-align: right;
|
||
font-style: italic;
|
||
}
|
||
.xref {
|
||
overflow-wrap: normal;
|
||
}
|
||
|
||
/* tables */
|
||
table {
|
||
width: 100%;
|
||
margin: 0 0 1em;
|
||
border-collapse: collapse;
|
||
border: 1px solid #eee;
|
||
}
|
||
th, td {
|
||
text-align: left;
|
||
vertical-align: top;
|
||
padding: 0.5em 0.75em;
|
||
}
|
||
th {
|
||
text-align: left;
|
||
background-color: #e9e9e9;
|
||
}
|
||
tr:nth-child(2n+1) > td {
|
||
background-color: #f5f5f5;
|
||
}
|
||
table caption {
|
||
font-style: italic;
|
||
margin: 0;
|
||
padding: 0;
|
||
text-align: left;
|
||
}
|
||
table p {
|
||
/* XXX to avoid bottom margin on table row signifiers. If paragraphs should
|
||
be allowed within tables more generally, it would be far better to select on a class. */
|
||
margin: 0;
|
||
}
|
||
|
||
/* pilcrow */
|
||
a.pilcrow {
|
||
color: #666; /* Arlen: AHDJ 2019 */
|
||
text-decoration: none;
|
||
visibility: hidden;
|
||
user-select: none;
|
||
-ms-user-select: none;
|
||
-o-user-select:none;
|
||
-moz-user-select: none;
|
||
-khtml-user-select: none;
|
||
-webkit-user-select: none;
|
||
-webkit-touch-callout: none;
|
||
}
|
||
@media screen {
|
||
aside:hover > a.pilcrow,
|
||
p:hover > a.pilcrow,
|
||
blockquote:hover > a.pilcrow,
|
||
div:hover > a.pilcrow,
|
||
li:hover > a.pilcrow,
|
||
pre:hover > a.pilcrow {
|
||
visibility: visible;
|
||
}
|
||
a.pilcrow:hover {
|
||
background-color: transparent;
|
||
}
|
||
}
|
||
|
||
/* misc */
|
||
hr {
|
||
border: 0;
|
||
border-top: 1px solid #eee;
|
||
}
|
||
.bcp14 {
|
||
font-variant: small-caps;
|
||
}
|
||
|
||
.role {
|
||
font-variant: all-small-caps;
|
||
}
|
||
|
||
/* info block */
|
||
#identifiers {
|
||
margin: 0;
|
||
font-size: 0.9em;
|
||
}
|
||
#identifiers dt {
|
||
width: 3em;
|
||
clear: left;
|
||
}
|
||
#identifiers dd {
|
||
float: left;
|
||
margin-bottom: 0;
|
||
}
|
||
/* Fix PDF info block run off issue */
|
||
@media print {
|
||
#identifiers dd {
|
||
max-width: 100%;
|
||
}
|
||
}
|
||
#identifiers .authors .author {
|
||
display: inline-block;
|
||
margin-right: 1.5em;
|
||
}
|
||
#identifiers .authors .org {
|
||
font-style: italic;
|
||
}
|
||
|
||
/* The prepared/rendered info at the very bottom of the page */
|
||
.docInfo {
|
||
color: #666; /* Arlen: WCAG 2019 */
|
||
font-size: 0.9em;
|
||
font-style: italic;
|
||
margin-top: 2em;
|
||
}
|
||
.docInfo .prepared {
|
||
float: left;
|
||
}
|
||
.docInfo .prepared {
|
||
float: right;
|
||
}
|
||
|
||
/* table of contents */
|
||
#toc {
|
||
padding: 0.75em 0 2em 0;
|
||
margin-bottom: 1em;
|
||
}
|
||
nav.toc ul {
|
||
margin: 0 0.5em 0 0;
|
||
padding: 0;
|
||
list-style: none;
|
||
}
|
||
nav.toc li {
|
||
line-height: 1.3em;
|
||
margin: 0.75em 0;
|
||
padding-left: 1.2em;
|
||
text-indent: -1.2em;
|
||
}
|
||
/* references */
|
||
.references dt {
|
||
text-align: right;
|
||
font-weight: bold;
|
||
min-width: 7em;
|
||
}
|
||
.references dd {
|
||
margin-left: 8em;
|
||
overflow: auto;
|
||
}
|
||
|
||
.refInstance {
|
||
margin-bottom: 1.25em;
|
||
}
|
||
|
||
.refSubseries {
|
||
margin-bottom: 1.25em;
|
||
}
|
||
|
||
.references .ascii {
|
||
margin-bottom: 0.25em;
|
||
}
|
||
|
||
/* index */
|
||
.index ul {
|
||
margin: 0 0 0 1em;
|
||
padding: 0;
|
||
list-style: none;
|
||
}
|
||
.index ul ul {
|
||
margin: 0;
|
||
}
|
||
.index li {
|
||
margin: 0;
|
||
text-indent: -2em;
|
||
padding-left: 2em;
|
||
padding-bottom: 5px;
|
||
}
|
||
.indexIndex {
|
||
margin: 0.5em 0 1em;
|
||
}
|
||
.index a {
|
||
font-weight: 700;
|
||
}
|
||
/* make the index two-column on all but the smallest screens */
|
||
@media (min-width: 600px) {
|
||
.index ul {
|
||
-moz-column-count: 2;
|
||
-moz-column-gap: 20px;
|
||
}
|
||
.index ul ul {
|
||
-moz-column-count: 1;
|
||
-moz-column-gap: 0;
|
||
}
|
||
}
|
||
|
||
/* authors */
|
||
address.vcard {
|
||
font-style: normal;
|
||
margin: 1em 0;
|
||
}
|
||
|
||
address.vcard .nameRole {
|
||
font-weight: 700;
|
||
margin-left: 0;
|
||
}
|
||
address.vcard .label {
|
||
font-family: var(--font-sans);
|
||
margin: 0.5em 0;
|
||
}
|
||
address.vcard .type {
|
||
display: none;
|
||
}
|
||
.alternative-contact {
|
||
margin: 1.5em 0 1em;
|
||
}
|
||
hr.addr {
|
||
border-top: 1px dashed;
|
||
margin: 0;
|
||
color: #ddd;
|
||
max-width: calc(100% - 16px);
|
||
}
|
||
|
||
/* temporary notes */
|
||
.rfcEditorRemove::before {
|
||
position: absolute;
|
||
top: 0.2em;
|
||
right: 0.2em;
|
||
padding: 0.2em;
|
||
content: "The RFC Editor will remove this note";
|
||
color: #9e2a00; /* Arlen: WCAG 2019 */
|
||
background-color: #ffd; /* Arlen: WCAG 2019 */
|
||
}
|
||
.rfcEditorRemove {
|
||
position: relative;
|
||
padding-top: 1.8em;
|
||
background-color: #ffd; /* Arlen: WCAG 2019 */
|
||
border-radius: 3px;
|
||
}
|
||
.cref {
|
||
background-color: #ffd; /* Arlen: WCAG 2019 */
|
||
padding: 2px 4px;
|
||
}
|
||
.crefSource {
|
||
font-style: italic;
|
||
}
|
||
/* alternative layout for smaller screens */
|
||
@media screen and (max-width: 1023px) {
|
||
body {
|
||
padding-top: 2em;
|
||
}
|
||
#title {
|
||
padding: 1em 0;
|
||
}
|
||
h1 {
|
||
font-size: 24px;
|
||
}
|
||
h2 {
|
||
font-size: 20px;
|
||
margin-top: -18px; /* provide offset for in-page anchors */
|
||
padding-top: 38px;
|
||
}
|
||
#identifiers dd {
|
||
max-width: 60%;
|
||
}
|
||
#toc {
|
||
position: fixed;
|
||
z-index: 2;
|
||
top: 0;
|
||
right: 0;
|
||
padding: 0;
|
||
margin: 0;
|
||
background-color: inherit;
|
||
border-bottom: 1px solid #ccc;
|
||
}
|
||
#toc h2 {
|
||
margin: -1px 0 0 0;
|
||
padding: 4px 0 4px 6px;
|
||
padding-right: 1em;
|
||
min-width: 190px;
|
||
font-size: 1.1em;
|
||
text-align: right;
|
||
background-color: #444;
|
||
color: white;
|
||
cursor: pointer;
|
||
}
|
||
#toc h2::before { /* css hamburger */
|
||
float: right;
|
||
position: relative;
|
||
width: 1em;
|
||
height: 1px;
|
||
left: -164px;
|
||
margin: 6px 0 0 0;
|
||
background: white none repeat scroll 0 0;
|
||
box-shadow: 0 4px 0 0 white, 0 8px 0 0 white;
|
||
content: "";
|
||
}
|
||
#toc nav {
|
||
display: none;
|
||
padding: 0.5em 1em 1em;
|
||
overflow: auto;
|
||
height: calc(100vh - 48px);
|
||
border-left: 1px solid #ddd;
|
||
}
|
||
}
|
||
|
||
/* alternative layout for wide screens */
|
||
@media screen and (min-width: 1024px) {
|
||
body {
|
||
max-width: 724px;
|
||
margin: 42px auto;
|
||
padding-left: 1.5em;
|
||
padding-right: 29em;
|
||
}
|
||
#toc {
|
||
position: fixed;
|
||
top: 42px;
|
||
right: 42px;
|
||
width: 25%;
|
||
margin: 0;
|
||
padding: 0 1em;
|
||
z-index: 1;
|
||
}
|
||
#toc h2 {
|
||
border-top: none;
|
||
border-bottom: 1px solid #ddd;
|
||
font-size: 1em;
|
||
font-weight: normal;
|
||
margin: 0;
|
||
padding: 0.25em 1em 1em 0;
|
||
}
|
||
#toc nav {
|
||
display: block;
|
||
height: calc(90vh - 84px);
|
||
bottom: 0;
|
||
padding: 0.5em 0 0;
|
||
overflow: auto;
|
||
}
|
||
img { /* future proofing */
|
||
max-width: 100%;
|
||
height: auto;
|
||
}
|
||
}
|
||
|
||
/* pagination */
|
||
@media print {
|
||
body {
|
||
width: 100%;
|
||
}
|
||
p {
|
||
orphans: 3;
|
||
widows: 3;
|
||
}
|
||
#n-copyright-notice {
|
||
border-bottom: none;
|
||
}
|
||
#toc, #n-introduction {
|
||
page-break-before: always;
|
||
}
|
||
#toc {
|
||
border-top: none;
|
||
padding-top: 0;
|
||
}
|
||
figure, pre {
|
||
page-break-inside: avoid;
|
||
}
|
||
figure {
|
||
overflow: scroll;
|
||
}
|
||
.breakable pre {
|
||
break-inside: auto;
|
||
}
|
||
h1, h2, h3, h4, h5, h6 {
|
||
page-break-after: avoid;
|
||
}
|
||
h2+*, h3+*, h4+*, h5+*, h6+* {
|
||
page-break-before: avoid;
|
||
}
|
||
pre {
|
||
white-space: pre-wrap;
|
||
word-wrap: break-word;
|
||
font-size: 10pt;
|
||
}
|
||
table {
|
||
border: 1px solid #ddd;
|
||
}
|
||
td {
|
||
border-top: 1px solid #ddd;
|
||
}
|
||
}
|
||
|
||
/* This is commented out here, as the string-set: doesn't
|
||
pass W3C validation currently */
|
||
/*
|
||
.ears thead .left {
|
||
string-set: ears-top-left content();
|
||
}
|
||
|
||
.ears thead .center {
|
||
string-set: ears-top-center content();
|
||
}
|
||
|
||
.ears thead .right {
|
||
string-set: ears-top-right content();
|
||
}
|
||
|
||
.ears tfoot .left {
|
||
string-set: ears-bottom-left content();
|
||
}
|
||
|
||
.ears tfoot .center {
|
||
string-set: ears-bottom-center content();
|
||
}
|
||
|
||
.ears tfoot .right {
|
||
string-set: ears-bottom-right content();
|
||
}
|
||
*/
|
||
|
||
@page :first {
|
||
padding-top: 0;
|
||
@top-left {
|
||
content: normal;
|
||
border: none;
|
||
}
|
||
@top-center {
|
||
content: normal;
|
||
border: none;
|
||
}
|
||
@top-right {
|
||
content: normal;
|
||
border: none;
|
||
}
|
||
}
|
||
|
||
@page {
|
||
size: A4;
|
||
margin-bottom: 45mm;
|
||
padding-top: 20px;
|
||
/* The following is commented out here, but set appropriately by in code, as
|
||
the content depends on the document */
|
||
/*
|
||
@top-left {
|
||
content: 'Internet-Draft';
|
||
vertical-align: bottom;
|
||
border-bottom: solid 1px #ccc;
|
||
}
|
||
@top-left {
|
||
content: string(ears-top-left);
|
||
vertical-align: bottom;
|
||
border-bottom: solid 1px #ccc;
|
||
}
|
||
@top-center {
|
||
content: string(ears-top-center);
|
||
vertical-align: bottom;
|
||
border-bottom: solid 1px #ccc;
|
||
}
|
||
@top-right {
|
||
content: string(ears-top-right);
|
||
vertical-align: bottom;
|
||
border-bottom: solid 1px #ccc;
|
||
}
|
||
@bottom-left {
|
||
content: string(ears-bottom-left);
|
||
vertical-align: top;
|
||
border-top: solid 1px #ccc;
|
||
}
|
||
@bottom-center {
|
||
content: string(ears-bottom-center);
|
||
vertical-align: top;
|
||
border-top: solid 1px #ccc;
|
||
}
|
||
@bottom-right {
|
||
content: '[Page ' counter(page) ']';
|
||
vertical-align: top;
|
||
border-top: solid 1px #ccc;
|
||
}
|
||
*/
|
||
|
||
}
|
||
|
||
/* Changes introduced to fix issues found during implementation */
|
||
/* Make sure links are clickable even if overlapped by following H* */
|
||
a {
|
||
z-index: 2;
|
||
}
|
||
/* Separate body from document info even without intervening H1 */
|
||
section {
|
||
clear: both;
|
||
}
|
||
|
||
|
||
/* Top align author divs, to avoid names without organization dropping level with org names */
|
||
.author {
|
||
vertical-align: top;
|
||
}
|
||
|
||
/* Leave room in document info to show Internet-Draft on one line */
|
||
#identifiers dt {
|
||
width: 8em;
|
||
}
|
||
|
||
/* Don't waste quite as much whitespace between label and value in doc info */
|
||
#identifiers dd {
|
||
margin-left: 1em;
|
||
}
|
||
|
||
/* Give floating toc a background color (needed when it's a div inside section */
|
||
#toc {
|
||
background-color: white;
|
||
}
|
||
|
||
/* Make the collapsed ToC header render white on gray also when it's a link */
|
||
@media screen and (max-width: 1023px) {
|
||
#toc h2 a,
|
||
#toc h2 a:link,
|
||
#toc h2 a:focus,
|
||
#toc h2 a:hover,
|
||
#toc a.toplink,
|
||
#toc a.toplink:hover {
|
||
color: white;
|
||
background-color: #444;
|
||
text-decoration: none;
|
||
}
|
||
}
|
||
|
||
/* Give the bottom of the ToC some whitespace */
|
||
@media screen and (min-width: 1024px) {
|
||
#toc {
|
||
padding: 0 0 1em 1em;
|
||
}
|
||
}
|
||
|
||
/* Style section numbers with more space between number and title */
|
||
.section-number {
|
||
padding-right: 0.5em;
|
||
}
|
||
|
||
/* prevent monospace from becoming overly large */
|
||
tt, code, pre {
|
||
font-size: 95%;
|
||
}
|
||
|
||
/* Fix the height/width aspect for ascii art*/
|
||
.sourcecode pre,
|
||
.art-text pre {
|
||
line-height: 1.12;
|
||
}
|
||
|
||
|
||
/* Add styling for a link in the ToC that points to the top of the document */
|
||
a.toplink {
|
||
float: right;
|
||
margin-right: 0.5em;
|
||
}
|
||
|
||
/* Fix the dl styling to match the RFC 7992 attributes */
|
||
dl > dt,
|
||
dl.dlParallel > dt {
|
||
float: left;
|
||
margin-right: 1em;
|
||
}
|
||
dl.dlNewline > dt {
|
||
float: none;
|
||
}
|
||
|
||
/* Provide styling for table cell text alignment */
|
||
table td.text-left,
|
||
table th.text-left {
|
||
text-align: left;
|
||
}
|
||
table td.text-center,
|
||
table th.text-center {
|
||
text-align: center;
|
||
}
|
||
table td.text-right,
|
||
table th.text-right {
|
||
text-align: right;
|
||
}
|
||
|
||
/* Make the alternative author contact information look less like just another
|
||
author, and group it closer with the primary author contact information */
|
||
.alternative-contact {
|
||
margin: 0.5em 0 0.25em 0;
|
||
}
|
||
address .non-ascii {
|
||
margin: 0 0 0 2em;
|
||
}
|
||
|
||
/* With it being possible to set tables with alignment
|
||
left, center, and right, { width: 100%; } does not make sense */
|
||
table {
|
||
width: auto;
|
||
}
|
||
|
||
/* Avoid reference text that sits in a block with very wide left margin,
|
||
because of a long floating dt label.*/
|
||
.references dd {
|
||
overflow: visible;
|
||
}
|
||
|
||
/* Control caption placement */
|
||
caption {
|
||
caption-side: bottom;
|
||
}
|
||
|
||
/* Limit the width of the author address vcard, so names in right-to-left
|
||
script don't end up on the other side of the page. */
|
||
|
||
address.vcard {
|
||
max-width: 30em;
|
||
margin-right: auto;
|
||
}
|
||
|
||
/* For address alignment dependent on LTR or RTL scripts */
|
||
address div.left {
|
||
text-align: left;
|
||
}
|
||
address div.right {
|
||
text-align: right;
|
||
}
|
||
|
||
/* Provide table alignment support. We can't use the alignX classes above
|
||
since they do unwanted things with caption and other styling. */
|
||
table.right {
|
||
margin-left: auto;
|
||
margin-right: 0;
|
||
}
|
||
table.center {
|
||
margin-left: auto;
|
||
margin-right: auto;
|
||
}
|
||
table.left {
|
||
margin-left: 0;
|
||
margin-right: auto;
|
||
}
|
||
|
||
/* Give the table caption label the same styling as the figcaption */
|
||
caption a[href] {
|
||
color: #222;
|
||
}
|
||
|
||
@media print {
|
||
.toplink {
|
||
display: none;
|
||
}
|
||
|
||
/* avoid overwriting the top border line with the ToC header */
|
||
#toc {
|
||
padding-top: 1px;
|
||
}
|
||
|
||
/* Avoid page breaks inside dl and author address entries */
|
||
.vcard {
|
||
page-break-inside: avoid;
|
||
}
|
||
|
||
}
|
||
/* Tweak the bcp14 keyword presentation */
|
||
.bcp14 {
|
||
font-variant: small-caps;
|
||
font-weight: bold;
|
||
font-size: 0.9em;
|
||
}
|
||
/* Tweak the invisible space above H* in order not to overlay links in text above */
|
||
h2 {
|
||
margin-top: -18px; /* provide offset for in-page anchors */
|
||
padding-top: 31px;
|
||
}
|
||
h3 {
|
||
margin-top: -18px; /* provide offset for in-page anchors */
|
||
padding-top: 24px;
|
||
}
|
||
h4 {
|
||
margin-top: -18px; /* provide offset for in-page anchors */
|
||
padding-top: 24px;
|
||
}
|
||
/* Float artwork pilcrow to the right */
|
||
@media screen {
|
||
.artwork a.pilcrow {
|
||
display: block;
|
||
line-height: 0.7;
|
||
margin-top: 0.15em;
|
||
}
|
||
}
|
||
/* Make pilcrows on dd visible */
|
||
@media screen {
|
||
dd:hover > a.pilcrow {
|
||
visibility: visible;
|
||
}
|
||
}
|
||
/* Make the placement of figcaption match that of a table's caption
|
||
by removing the figure's added bottom margin */
|
||
.alignLeft.art-text,
|
||
.alignCenter.art-text,
|
||
.alignRight.art-text {
|
||
margin-bottom: 0;
|
||
}
|
||
.alignLeft,
|
||
.alignCenter,
|
||
.alignRight {
|
||
margin: 1em 0 0 0;
|
||
}
|
||
/* In print, the pilcrow won't show on hover, so prevent it from taking up space,
|
||
possibly even requiring a new line */
|
||
@media print {
|
||
a.pilcrow {
|
||
display: none;
|
||
}
|
||
}
|
||
/* Styling for the external metadata */
|
||
div#external-metadata {
|
||
background-color: #eee;
|
||
padding: 0.5em;
|
||
margin-bottom: 0.5em;
|
||
display: none;
|
||
}
|
||
div#internal-metadata {
|
||
padding: 0.5em; /* to match the external-metadata padding */
|
||
}
|
||
/* Styling for title RFC Number */
|
||
h1#rfcnum {
|
||
clear: both;
|
||
margin: 0 0 -1em;
|
||
padding: 1em 0 0 0;
|
||
}
|
||
/* Make .olPercent look the same as <ol><li> */
|
||
dl.olPercent > dd {
|
||
margin-bottom: 0.25em;
|
||
min-height: initial;
|
||
}
|
||
/* Give aside some styling to set it apart */
|
||
aside {
|
||
border-left: 1px solid #ddd;
|
||
margin: 1em 0 1em 2em;
|
||
padding: 0.2em 2em;
|
||
}
|
||
aside > dl,
|
||
aside > ol,
|
||
aside > ul,
|
||
aside > table,
|
||
aside > p {
|
||
margin-bottom: 0.5em;
|
||
}
|
||
/* Additional page break settings */
|
||
@media print {
|
||
figcaption, table caption {
|
||
page-break-before: avoid;
|
||
}
|
||
}
|
||
/* Font size adjustments for print */
|
||
@media print {
|
||
body { font-size: 10pt; line-height: normal; max-width: 96%; }
|
||
h1 { font-size: 1.72em; padding-top: 1.5em; } /* 1*1.2*1.2*1.2 */
|
||
h2 { font-size: 1.44em; padding-top: 1.5em; } /* 1*1.2*1.2 */
|
||
h3 { font-size: 1.2em; padding-top: 1.5em; } /* 1*1.2 */
|
||
h4 { font-size: 1em; padding-top: 1.5em; }
|
||
h5, h6 { font-size: 1em; margin: initial; padding: 0.5em 0 0.3em; }
|
||
}
|
||
/* Sourcecode margin in print, when there's no pilcrow */
|
||
@media print {
|
||
.artwork,
|
||
.artwork > pre,
|
||
.sourcecode {
|
||
margin-bottom: 1em;
|
||
}
|
||
}
|
||
/* Avoid narrow tables forcing too narrow table captions, which may render badly */
|
||
table {
|
||
min-width: 20em;
|
||
}
|
||
/* ol type a */
|
||
ol.type-a { list-style-type: lower-alpha; }
|
||
ol.type-A { list-style-type: upper-alpha; }
|
||
ol.type-i { list-style-type: lower-roman; }
|
||
ol.type-I { list-style-type: upper-roman; }
|
||
/* Apply the print table and row borders in general, on request from the RPC,
|
||
and increase the contrast between border and odd row background slightly */
|
||
table {
|
||
border: 1px solid #ddd;
|
||
}
|
||
td {
|
||
border-top: 1px solid #ddd;
|
||
}
|
||
tr {
|
||
break-inside: avoid;
|
||
}
|
||
tr:nth-child(2n+1) > td {
|
||
background-color: #f8f8f8;
|
||
}
|
||
/* Use style rules to govern display of the TOC. */
|
||
@media screen and (max-width: 1023px) {
|
||
#toc nav { display: none; }
|
||
#toc.active nav { display: block; }
|
||
}
|
||
/* Add support for keepWithNext */
|
||
.keepWithNext {
|
||
break-after: avoid-page;
|
||
break-after: avoid-page;
|
||
}
|
||
/* Add support for keepWithPrevious */
|
||
.keepWithPrevious {
|
||
break-before: avoid-page;
|
||
}
|
||
/* Change the approach to avoiding breaks inside artwork etc. */
|
||
figure, pre, table, .artwork, .sourcecode {
|
||
break-before: auto;
|
||
break-after: auto;
|
||
}
|
||
/* Avoid breaks between <dt> and <dd> */
|
||
dl {
|
||
break-before: auto;
|
||
break-inside: auto;
|
||
}
|
||
dt {
|
||
break-before: auto;
|
||
break-after: avoid-page;
|
||
}
|
||
dd {
|
||
break-before: avoid-page;
|
||
break-after: auto;
|
||
orphans: 3;
|
||
widows: 3
|
||
}
|
||
span.break, dd.break {
|
||
margin-bottom: 0;
|
||
min-height: 0;
|
||
break-before: auto;
|
||
break-inside: auto;
|
||
break-after: auto;
|
||
}
|
||
/* Undo break-before ToC */
|
||
@media print {
|
||
#toc {
|
||
break-before: auto;
|
||
}
|
||
}
|
||
/* Text in compact lists should not get extra bottom margin space,
|
||
since that would makes the list not compact */
|
||
ul.compact p, .ulCompact p,
|
||
ol.compact p, .olCompact p {
|
||
margin: 0;
|
||
}
|
||
/* But the list as a whole needs the extra space at the end */
|
||
section ul.compact,
|
||
section .ulCompact,
|
||
section ol.compact,
|
||
section .olCompact {
|
||
margin-bottom: 1em; /* same as p not within ul.compact etc. */
|
||
}
|
||
/* The tt and code background above interferes with for instance table cell
|
||
backgrounds. Changed to something a bit more selective. */
|
||
tt, code {
|
||
background-color: transparent;
|
||
}
|
||
p tt, p code, li tt, li code, dt tt, dt code {
|
||
background-color: #f8f8f8;
|
||
}
|
||
/* Tweak the pre margin -- 0px doesn't come out well */
|
||
pre {
|
||
margin-top: 0.5px;
|
||
}
|
||
/* Tweak the compact list text */
|
||
ul.compact, .ulCompact,
|
||
ol.compact, .olCompact,
|
||
dl.compact, .dlCompact {
|
||
line-height: normal;
|
||
}
|
||
/* Don't add top margin for nested lists */
|
||
li > ul, li > ol, li > dl,
|
||
dd > ul, dd > ol, dd > dl,
|
||
dl > dd > dl {
|
||
margin-top: initial;
|
||
}
|
||
/* Elements that should not be rendered on the same line as a <dt> */
|
||
/* This should match the element list in writer.text.TextWriter.render_dl() */
|
||
dd > div.artwork:first-child,
|
||
dd > aside:first-child,
|
||
dd > blockquote:first-child,
|
||
dd > figure:first-child,
|
||
dd > ol:first-child,
|
||
dd > div.sourcecode:first-child,
|
||
dd > table:first-child,
|
||
dd > ul:first-child {
|
||
clear: left;
|
||
}
|
||
/* fix for weird browser behaviour when <dd/> is empty */
|
||
dt+dd:empty::before{
|
||
content: "\00a0";
|
||
}
|
||
/* Make paragraph spacing inside <li> smaller than in body text, to fit better within the list */
|
||
li > p {
|
||
margin-bottom: 0.5em
|
||
}
|
||
/* Don't let p margin spill out from inside list items */
|
||
li > p:last-of-type:only-child {
|
||
margin-bottom: 0;
|
||
}
|
||
</style>
|
||
<link href="rfc-local.css" rel="stylesheet" type="text/css">
|
||
<script type="application/javascript">async function addMetadata(){try{const e=document.styleSheets[0].cssRules;for(let t=0;t<e.length;t++)if(/#identifiers/.exec(e[t].selectorText)){const a=e[t].cssText.replace("#identifiers","#external-updates");document.styleSheets[0].insertRule(a,document.styleSheets[0].cssRules.length)}}catch(e){console.log(e)}const e=document.getElementById("external-metadata");if(e)try{var t,a="",o=function(e){const t=document.getElementsByTagName("meta");for(let a=0;a<t.length;a++)if(t[a].getAttribute("name")===e)return t[a].getAttribute("content");return""}("rfc.number");if(o){t="https://www.rfc-editor.org/rfc/rfc"+o+".json";try{const e=await fetch(t);a=await e.json()}catch(e){t=document.URL.indexOf("html")>=0?document.URL.replace(/html$/,"json"):document.URL+".json";const o=await fetch(t);a=await o.json()}}if(!a)return;e.style.display="block";const s="",d="https://datatracker.ietf.org/doc",n="https://datatracker.ietf.org/ipr/search",c="https://www.rfc-editor.org/info",l=a.doc_id.toLowerCase(),i=a.doc_id.slice(0,3).toLowerCase(),f=a.doc_id.slice(3).replace(/^0+/,""),u={status:"Status",obsoletes:"Obsoletes",obsoleted_by:"Obsoleted By",updates:"Updates",updated_by:"Updated By",see_also:"See Also",errata_url:"Errata"};let h="<dl style='overflow:hidden' id='external-updates'>";["status","obsoletes","obsoleted_by","updates","updated_by","see_also","errata_url"].forEach(e=>{if("status"==e){a[e]=a[e].toLowerCase();var t=a[e].split(" "),o=t.length,w="",p=1;for(let e=0;e<o;e++)p<o?w=w+r(t[e])+" ":w+=r(t[e]),p++;a[e]=w}else if("obsoletes"==e||"obsoleted_by"==e||"updates"==e||"updated_by"==e){var g,m="",b=1;g=a[e].length;for(let t=0;t<g;t++)a[e][t]&&(a[e][t]=String(a[e][t]).toLowerCase(),m=b<g?m+"<a href='"+s+"/rfc/".concat(a[e][t])+"'>"+a[e][t].slice(3)+"</a>, ":m+"<a href='"+s+"/rfc/".concat(a[e][t])+"'>"+a[e][t].slice(3)+"</a>",b++);a[e]=m}else if("see_also"==e){var y,L="",C=1;y=a[e].length;for(let t=0;t<y;t++)if(a[e][t]){a[e][t]=String(a[e][t]);var _=a[e][t].slice(0,3),v=a[e][t].slice(3).replace(/^0+/,"");L=C<y?"RFC"!=_?L+"<a href='"+s+"/info/"+_.toLowerCase().concat(v.toLowerCase())+"'>"+_+" "+v+"</a>, ":L+"<a href='"+s+"/info/"+_.toLowerCase().concat(v.toLowerCase())+"'>"+v+"</a>, ":"RFC"!=_?L+"<a href='"+s+"/info/"+_.toLowerCase().concat(v.toLowerCase())+"'>"+_+" "+v+"</a>":L+"<a href='"+s+"/info/"+_.toLowerCase().concat(v.toLowerCase())+"'>"+v+"</a>",C++}a[e]=L}else if("errata_url"==e){var R="";R=a[e]?R+"<a href='"+a[e]+"'>Errata exist</a> | <a href='"+d+"/"+l+"'>Datatracker</a>| <a href='"+n+"/?"+i+"="+f+"&submit="+i+"'>IPR</a> | <a href='"+c+"/"+l+"'>Info page</a>":"<a href='"+d+"/"+l+"'>Datatracker</a> | <a href='"+n+"/?"+i+"="+f+"&submit="+i+"'>IPR</a> | <a href='"+c+"/"+l+"'>Info page</a>",a[e]=R}""!=a[e]?"Errata"==u[e]?h+=`<dt>More info:</dt><dd>${a[e]}</dd>`:h+=`<dt>${u[e]}:</dt><dd>${a[e]}</dd>`:"Errata"==u[e]&&(h+=`<dt>More info:</dt><dd>${a[e]}</dd>`)}),h+="</dl>",e.innerHTML=h}catch(e){console.log(e)}else console.log("Could not locate metadata <div> element");function r(e){return e.charAt(0).toUpperCase()+e.slice(1)}}window.removeEventListener("load",addMetadata),window.addEventListener("load",addMetadata);</script>
|
||
</head>
|
||
<body class="xml2rfc">
|
||
<table class="ears">
|
||
<thead><tr>
|
||
<td class="left">Internet-Draft</td>
|
||
<td class="center">Agent Gap Analysis</td>
|
||
<td class="right">March 2026</td>
|
||
</tr></thead>
|
||
<tfoot><tr>
|
||
<td class="left">Nennemann</td>
|
||
<td class="center">Expires 7 September 2026</td>
|
||
<td class="right">[Page]</td>
|
||
</tr></tfoot>
|
||
</table>
|
||
<div id="external-metadata" class="document-information"></div>
|
||
<div id="internal-metadata" class="document-information">
|
||
<dl id="identifiers">
|
||
<dt class="label-workgroup">Workgroup:</dt>
|
||
<dd class="workgroup">NMOP</dd>
|
||
<dt class="label-internet-draft">Internet-Draft:</dt>
|
||
<dd class="internet-draft">draft-nennemann-agent-gap-analysis-00</dd>
|
||
<dt class="label-published">Published:</dt>
|
||
<dd class="published">
|
||
<time datetime="2026-03-06" class="published">6 March 2026</time>
|
||
</dd>
|
||
<dt class="label-intended-status">Intended Status:</dt>
|
||
<dd class="intended-status">Informational</dd>
|
||
<dt class="label-expires">Expires:</dt>
|
||
<dd class="expires"><time datetime="2026-09-07">7 September 2026</time></dd>
|
||
<dt class="label-authors">Author:</dt>
|
||
<dd class="authors">
|
||
<div class="author">
|
||
<div class="author-name">C. Nennemann</div>
|
||
<div class="org">Independent Researcher</div>
|
||
</div>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
<h1 id="title">Gap Analysis for Autonomous Agent Protocols</h1>
|
||
<section id="section-abstract">
|
||
<h2 id="abstract"><a href="#abstract" class="selfRef">Abstract</a></h2>
|
||
<p id="section-abstract-1">This document maps the IETF autonomous agent landscape,
|
||
identifies eleven gap areas where standardization is absent
|
||
or insufficient, and introduces six companion drafts that
|
||
address the most critical gaps. Over 260 IETF drafts touch
|
||
on agent communication, identity, safety, and operations,
|
||
yet no single reference architecture ties them together.
|
||
This gap analysis provides a structured roadmap for the
|
||
standards work needed to enable safe, interoperable, and
|
||
auditable autonomous agent ecosystems.<a href="#section-abstract-1" class="pilcrow">¶</a></p>
|
||
</section>
|
||
<div id="status-of-memo">
|
||
<section id="section-boilerplate.1">
|
||
<h2 id="name-status-of-this-memo">
|
||
<a href="#name-status-of-this-memo" class="section-name selfRef">Status of This Memo</a>
|
||
</h2>
|
||
<p id="section-boilerplate.1-1">
|
||
This Internet-Draft is submitted in full conformance with the
|
||
provisions of BCP 78 and BCP 79.<a href="#section-boilerplate.1-1" class="pilcrow">¶</a></p>
|
||
<p id="section-boilerplate.1-2">
|
||
Internet-Drafts are working documents of the Internet Engineering Task
|
||
Force (IETF). Note that other groups may also distribute working
|
||
documents as Internet-Drafts. The list of current Internet-Drafts is
|
||
at <span><a href="https://datatracker.ietf.org/drafts/current/">https://datatracker.ietf.org/drafts/current/</a></span>.<a href="#section-boilerplate.1-2" class="pilcrow">¶</a></p>
|
||
<p id="section-boilerplate.1-3">
|
||
Internet-Drafts are draft documents valid for a maximum of six months
|
||
and may be updated, replaced, or obsoleted by other documents at any
|
||
time. It is inappropriate to use Internet-Drafts as reference
|
||
material or to cite them other than as "work in progress."<a href="#section-boilerplate.1-3" class="pilcrow">¶</a></p>
|
||
<p id="section-boilerplate.1-4">
|
||
This Internet-Draft will expire on 7 September 2026.<a href="#section-boilerplate.1-4" class="pilcrow">¶</a></p>
|
||
</section>
|
||
</div>
|
||
<div id="copyright">
|
||
<section id="section-boilerplate.2">
|
||
<h2 id="name-copyright-notice">
|
||
<a href="#name-copyright-notice" class="section-name selfRef">Copyright Notice</a>
|
||
</h2>
|
||
<p id="section-boilerplate.2-1">
|
||
Copyright (c) 2026 IETF Trust and the persons identified as the
|
||
document authors. All rights reserved.<a href="#section-boilerplate.2-1" class="pilcrow">¶</a></p>
|
||
<p id="section-boilerplate.2-2">
|
||
This document is subject to BCP 78 and the IETF Trust's Legal
|
||
Provisions Relating to IETF Documents
|
||
(<span><a href="https://trustee.ietf.org/license-info">https://trustee.ietf.org/license-info</a></span>) in effect on the date of
|
||
publication of this document. Please review these documents
|
||
carefully, as they describe your rights and restrictions with
|
||
respect to this document. Code Components extracted from this
|
||
document must include Revised BSD License text as described in
|
||
Section 4.e of the Trust Legal Provisions and are provided without
|
||
warranty as described in the Revised BSD License.<a href="#section-boilerplate.2-2" class="pilcrow">¶</a></p>
|
||
</section>
|
||
</div>
|
||
<div id="toc">
|
||
<section id="section-toc.1">
|
||
<a href="#" onclick="scroll(0,0)" class="toplink">▲</a><h2 id="name-table-of-contents">
|
||
<a href="#name-table-of-contents" class="section-name selfRef">Table of Contents</a>
|
||
</h2>
|
||
<nav class="toc"><ul class="compact toc ulBare ulEmpty">
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.1">
|
||
<p id="section-toc.1-1.1.1" class="keepWithNext"><a href="#section-1" class="auto internal xref">1</a>. <a href="#name-introduction" class="internal xref">Introduction</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.2">
|
||
<p id="section-toc.1-1.2.1" class="keepWithNext"><a href="#section-2" class="auto internal xref">2</a>. <a href="#name-terminology" class="internal xref">Terminology</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.3">
|
||
<p id="section-toc.1-1.3.1" class="keepWithNext"><a href="#section-3" class="auto internal xref">3</a>. <a href="#name-reference-architecture" class="internal xref">Reference Architecture</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.4">
|
||
<p id="section-toc.1-1.4.1"><a href="#section-4" class="auto internal xref">4</a>. <a href="#name-existing-ietf-work" class="internal xref">Existing IETF Work</a></p>
|
||
<ul class="compact toc ulBare ulEmpty">
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.4.2.1">
|
||
<p id="section-toc.1-1.4.2.1.1"><a href="#section-4.1" class="auto internal xref">4.1</a>. <a href="#name-wimse-workload-identity-in-" class="internal xref">WIMSE (Workload Identity in Multi-System Environments)</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.4.2.2">
|
||
<p id="section-toc.1-1.4.2.2.1"><a href="#section-4.2" class="auto internal xref">4.2</a>. <a href="#name-rats-remote-attestation-pro" class="internal xref">RATS (Remote ATtestation procedureS)</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.4.2.3">
|
||
<p id="section-toc.1-1.4.2.3.1"><a href="#section-4.3" class="auto internal xref">4.3</a>. <a href="#name-oauth-and-gnap" class="internal xref">OAuth and GNAP</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.4.2.4">
|
||
<p id="section-toc.1-1.4.2.4.1"><a href="#section-4.4" class="auto internal xref">4.4</a>. <a href="#name-scitt-supply-chain-integrit" class="internal xref">SCITT (Supply Chain Integrity, Transparency, and Trust)</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.4.2.5">
|
||
<p id="section-toc.1-1.4.2.5.1"><a href="#section-4.5" class="auto internal xref">4.5</a>. <a href="#name-nmop-network-management-ope" class="internal xref">NMOP (Network Management Operations)</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.4.2.6">
|
||
<p id="section-toc.1-1.4.2.6.1"><a href="#section-4.6" class="auto internal xref">4.6</a>. <a href="#name-industry-protocols-a2a-and-" class="internal xref">Industry Protocols: A2A and MCP</a></p>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.5">
|
||
<p id="section-toc.1-1.5.1"><a href="#section-5" class="auto internal xref">5</a>. <a href="#name-gap-analysis" class="internal xref">Gap Analysis</a></p>
|
||
<ul class="compact toc ulBare ulEmpty">
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.5.2.1">
|
||
<p id="section-toc.1-1.5.2.1.1"><a href="#section-5.1" class="auto internal xref">5.1</a>. <a href="#name-gap-1-agent-behavioral-veri" class="internal xref">Gap 1: Agent Behavioral Verification</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.5.2.2">
|
||
<p id="section-toc.1-1.5.2.2.1"><a href="#section-5.2" class="auto internal xref">5.2</a>. <a href="#name-gap-2-agent-failure-cascade" class="internal xref">Gap 2: Agent Failure Cascade Prevention</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.5.2.3">
|
||
<p id="section-toc.1-1.5.2.3.1"><a href="#section-5.3" class="auto internal xref">5.3</a>. <a href="#name-gap-3-multi-agent-consensus" class="internal xref">Gap 3: Multi-Agent Consensus Protocols</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.5.2.4">
|
||
<p id="section-toc.1-1.5.2.4.1"><a href="#section-5.4" class="auto internal xref">5.4</a>. <a href="#name-gap-4-real-time-agent-rollb" class="internal xref">Gap 4: Real-Time Agent Rollback Mechanisms</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.5.2.5">
|
||
<p id="section-toc.1-1.5.2.5.1"><a href="#section-5.5" class="auto internal xref">5.5</a>. <a href="#name-gap-5-federated-agent-learn" class="internal xref">Gap 5: Federated Agent Learning Privacy</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.5.2.6">
|
||
<p id="section-toc.1-1.5.2.6.1"><a href="#section-5.6" class="auto internal xref">5.6</a>. <a href="#name-gap-6-cross-domain-agent-au" class="internal xref">Gap 6: Cross-Domain Agent Audit Trails</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.5.2.7">
|
||
<p id="section-toc.1-1.5.2.7.1"><a href="#section-5.7" class="auto internal xref">5.7</a>. <a href="#name-gap-7-human-override-standa" class="internal xref">Gap 7: Human Override Standardization</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.5.2.8">
|
||
<p id="section-toc.1-1.5.2.8.1"><a href="#section-5.8" class="auto internal xref">5.8</a>. <a href="#name-gap-8-cross-protocol-agent-" class="internal xref">Gap 8: Cross-Protocol Agent Migration</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.5.2.9">
|
||
<p id="section-toc.1-1.5.2.9.1"><a href="#section-5.9" class="auto internal xref">5.9</a>. <a href="#name-gap-9-agent-resource-accoun" class="internal xref">Gap 9: Agent Resource Accounting and Billing</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.5.2.10">
|
||
<p id="section-toc.1-1.5.2.10.1"><a href="#section-5.10" class="auto internal xref">5.10</a>. <a href="#name-gap-10-agent-capability-neg" class="internal xref">Gap 10: Agent Capability Negotiation</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.5.2.11">
|
||
<p id="section-toc.1-1.5.2.11.1"><a href="#section-5.11" class="auto internal xref">5.11</a>. <a href="#name-gap-11-agent-performance-be" class="internal xref">Gap 11: Agent Performance Benchmarking</a></p>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.6">
|
||
<p id="section-toc.1-1.6.1"><a href="#section-6" class="auto internal xref">6</a>. <a href="#name-companion-draft-roadmap" class="internal xref">Companion Draft Roadmap</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.7">
|
||
<p id="section-toc.1-1.7.1"><a href="#section-7" class="auto internal xref">7</a>. <a href="#name-security-considerations" class="internal xref">Security Considerations</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.8">
|
||
<p id="section-toc.1-1.8.1"><a href="#section-8" class="auto internal xref">8</a>. <a href="#name-iana-considerations" class="internal xref">IANA Considerations</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.9">
|
||
<p id="section-toc.1-1.9.1"><a href="#section-9" class="auto internal xref">9</a>. <a href="#name-references" class="internal xref">References</a></p>
|
||
<ul class="compact toc ulBare ulEmpty">
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.9.2.1">
|
||
<p id="section-toc.1-1.9.2.1.1"><a href="#section-9.1" class="auto internal xref">9.1</a>. <a href="#name-normative-references" class="internal xref">Normative References</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.9.2.2">
|
||
<p id="section-toc.1-1.9.2.2.1"><a href="#section-9.2" class="auto internal xref">9.2</a>. <a href="#name-informative-references" class="internal xref">Informative References</a></p>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.10">
|
||
<p id="section-toc.1-1.10.1"><a href="#appendix-A" class="auto internal xref">Appendix A</a>. <a href="#name-acknowledgments" class="internal xref">Acknowledgments</a></p>
|
||
</li>
|
||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.11">
|
||
<p id="section-toc.1-1.11.1"><a href="#appendix-B" class="auto internal xref"></a><a href="#name-authors-address" class="internal xref">Author's Address</a></p>
|
||
</li>
|
||
</ul>
|
||
</nav>
|
||
</section>
|
||
</div>
|
||
<div id="introduction">
|
||
<section id="section-1">
|
||
<h2 id="name-introduction">
|
||
<a href="#section-1" class="section-number selfRef">1. </a><a href="#name-introduction" class="section-name selfRef">Introduction</a>
|
||
</h2>
|
||
<p id="section-1-1">Autonomous software agents are increasingly deployed in
|
||
network management, cloud orchestration, supply-chain
|
||
logistics, and AI-driven workflows. Over 260 IETF drafts
|
||
touch on aspects of agent communication, identity, safety,
|
||
and operations. However, these efforts remain fragmented:
|
||
no single reference architecture ties them together, and
|
||
several critical capabilities lack any standardization at
|
||
all.<a href="#section-1-1" class="pilcrow">¶</a></p>
|
||
<p id="section-1-2">This document provides three contributions:<a href="#section-1-2" class="pilcrow">¶</a></p>
|
||
<ol start="1" type="1" class="normal type-1" id="section-1-3">
|
||
<li id="section-1-3.1">
|
||
<p id="section-1-3.1.1">A reference architecture that organizes agent
|
||
capabilities into layers (Section 3).<a href="#section-1-3.1.1" class="pilcrow">¶</a></p>
|
||
</li>
|
||
<li id="section-1-3.2">
|
||
<p id="section-1-3.2.1">A survey of existing IETF work relevant to autonomous
|
||
agents (Section 4).<a href="#section-1-3.2.1" class="pilcrow">¶</a></p>
|
||
</li>
|
||
<li id="section-1-3.3">
|
||
<p id="section-1-3.3.1">A gap analysis identifying eleven areas where new or
|
||
extended standards are needed, together with a roadmap
|
||
of six companion drafts that address the most critical
|
||
gaps (Sections 5 and 6).<a href="#section-1-3.3.1" class="pilcrow">¶</a></p>
|
||
</li>
|
||
</ol>
|
||
<p id="section-1-4">The intended audience includes working group chairs,
|
||
area directors, and protocol designers evaluating where
|
||
autonomous-agent standardization efforts should focus.<a href="#section-1-4" class="pilcrow">¶</a></p>
|
||
</section>
|
||
</div>
|
||
<div id="terminology">
|
||
<section id="section-2">
|
||
<h2 id="name-terminology">
|
||
<a href="#section-2" class="section-number selfRef">2. </a><a href="#name-terminology" class="section-name selfRef">Terminology</a>
|
||
</h2>
|
||
<p id="section-2-1">The key words "<span class="bcp14">MUST</span>", "<span class="bcp14">MUST NOT</span>", "<span class="bcp14">REQUIRED</span>", "<span class="bcp14">SHALL</span>",
|
||
"<span class="bcp14">SHALL NOT</span>", "<span class="bcp14">SHOULD</span>", "<span class="bcp14">SHOULD NOT</span>", "<span class="bcp14">RECOMMENDED</span>",
|
||
"<span class="bcp14">NOT RECOMMENDED</span>", "<span class="bcp14">MAY</span>", and "<span class="bcp14">OPTIONAL</span>" in this document
|
||
are to be interpreted as described in BCP 14 <span>[<a href="#RFC2119" class="cite xref">RFC2119</a>]</span>
|
||
<span>[<a href="#RFC8174" class="cite xref">RFC8174</a>]</span> when, and only when, they appear in all
|
||
capitals, as shown here.<a href="#section-2-1" class="pilcrow">¶</a></p>
|
||
<p id="section-2-2">The key words "<span class="bcp14">MUST</span>", "<span class="bcp14">MUST NOT</span>", "<span class="bcp14">REQUIRED</span>", "<span class="bcp14">SHALL</span>", "<span class="bcp14">SHALL NOT</span>", "<span class="bcp14">SHOULD</span>", "<span class="bcp14">SHOULD NOT</span>", "<span class="bcp14">RECOMMENDED</span>", "<span class="bcp14">NOT RECOMMENDED</span>",
|
||
"<span class="bcp14">MAY</span>", and "<span class="bcp14">OPTIONAL</span>" in this document are to be interpreted as
|
||
described in BCP 14 <span>[<a href="#RFC2119" class="cite xref">RFC2119</a>]</span> <span>[<a href="#RFC8174" class="cite xref">RFC8174</a>]</span> when, and only when, they
|
||
appear in all capitals, as shown here.<a href="#section-2-2" class="pilcrow">¶</a></p>
|
||
<p id="section-2-3">The following terms are used throughout this document:<a href="#section-2-3" class="pilcrow">¶</a></p>
|
||
<span class="break"></span><dl class="dlParallel" id="section-2-4">
|
||
<dt id="section-2-4.1">Agent:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-2-4.2">
|
||
<p id="section-2-4.2.1">A software component that acts on behalf of a principal
|
||
(human or organizational) to perform tasks, communicate
|
||
with other agents, or interact with external systems.<a href="#section-2-4.2.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-2-4.3">Autonomous Agent:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-2-4.4">
|
||
<p id="section-2-4.4.1">An agent capable of executing multi-step tasks without
|
||
continuous human supervision, including making decisions
|
||
based on policy, context, and environmental state.<a href="#section-2-4.4.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-2-4.5">Agent Ecosystem:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-2-4.6">
|
||
<p id="section-2-4.6.1">The set of agents, their principals, the policies that
|
||
govern them, and the infrastructure services (identity,
|
||
discovery, audit) they rely on.<a href="#section-2-4.6.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-2-4.7">DAG (Directed Acyclic Graph):</dt>
|
||
<dd style="margin-left: 1.5em" id="section-2-4.8">
|
||
<p id="section-2-4.8.1">A graph structure used to represent multi-step agent
|
||
execution plans where tasks have dependency ordering
|
||
but no circular dependencies.<a href="#section-2-4.8.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-2-4.9">HITL (Human-in-the-Loop):</dt>
|
||
<dd style="margin-left: 1.5em" id="section-2-4.10">
|
||
<p id="section-2-4.10.1">A control pattern in which a human operator must
|
||
approve, modify, or reject an agent action before
|
||
it takes effect.<a href="#section-2-4.10.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-2-4.11">ECT (Execution Context Token):</dt>
|
||
<dd style="margin-left: 1.5em" id="section-2-4.12">
|
||
<p id="section-2-4.12.1">A cryptographically signed token that carries the
|
||
execution context (task identity, delegated authority,
|
||
constraints) for an agent action. See
|
||
<span>[<a href="#I-D.nennemann-wimse-ect" class="cite xref">I-D.nennemann-wimse-ect</a>]</span>.<a href="#section-2-4.12.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-2-4.13">ACP (Agent Context Policy):</dt>
|
||
<dd style="margin-left: 1.5em" id="section-2-4.14">
|
||
<p id="section-2-4.14.1">A policy document that specifies permitted behaviors,
|
||
resource limits, and escalation rules for an agent
|
||
within a given execution context. See
|
||
<span>[<a href="#I-D.nennemann-agent-dag-hitl-safety" class="cite xref">I-D.nennemann-agent-dag-hitl-safety</a>]</span>.<a href="#section-2-4.14.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-2-4.15">Behavioral Attestation:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-2-4.16">
|
||
<p id="section-2-4.16.1">A verifiable claim that an agent's runtime behavior
|
||
conforms to a declared policy or behavioral profile.<a href="#section-2-4.16.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-2-4.17">Cascade Failure:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-2-4.18">
|
||
<p id="section-2-4.18.1">A failure mode in which an error in one agent
|
||
propagates through a multi-agent workflow, causing
|
||
successive agents to fail or produce incorrect
|
||
results.<a href="#section-2-4.18.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-2-4.19">Consensus Protocol:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-2-4.20">
|
||
<p id="section-2-4.20.1">A protocol by which multiple agents reach agreement
|
||
on a shared decision, state, or action plan.<a href="#section-2-4.20.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-2-4.21">Override Signal:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-2-4.22">
|
||
<p id="section-2-4.22.1">A message from a human operator or supervisory system
|
||
that instructs an agent to halt, modify, or roll back
|
||
its current action.<a href="#section-2-4.22.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
</dl>
|
||
</section>
|
||
</div>
|
||
<div id="reference-architecture">
|
||
<section id="section-3">
|
||
<h2 id="name-reference-architecture">
|
||
<a href="#section-3" class="section-number selfRef">3. </a><a href="#name-reference-architecture" class="section-name selfRef">Reference Architecture</a>
|
||
</h2>
|
||
<p id="section-3-1">The following diagram presents a layered reference
|
||
architecture for autonomous agent ecosystems. Each layer
|
||
identifies the relevant gap areas addressed by this
|
||
analysis.<a href="#section-3-1" class="pilcrow">¶</a></p>
|
||
<span id="name-agent-ecosystem-reference-a"></span><div id="fig-arch">
|
||
<figure id="figure-1">
|
||
<div class="alignLeft art-ascii-art art-text artwork" id="section-3-2.1">
|
||
<pre>
|
||
+-------------------------------------------------------------+
|
||
| HUMAN OPERATORS |
|
||
| [Override & HITL Layer -- GAP 7] |
|
||
+-------------------------------------------------------------+
|
||
| AGENT INTERACTION LAYER |
|
||
| +---------+ +---------+ +---------+ +---------+ |
|
||
| | Agent A |<>| Agent B |<>| Agent C |<>| Agent D | |
|
||
| +----+----+ +----+----+ +----+----+ +----+----+ |
|
||
| | GAP 3: | GAP 10: | GAP 1: | |
|
||
| | Consensus | Cap.Neg. | Behav. | |
|
||
| | | | Verif. | |
|
||
+-------+------------+------------+------------+--------------+
|
||
| EXECUTION LAYER (ECT) |
|
||
| DAG Execution | Checkpoints | Rollback | Circuit Breakers |
|
||
| [GAP 2: Cascade Prevention] [GAP 4: Rollback] |
|
||
+-------------------------------------------------------------+
|
||
| POLICY & GOVERNANCE LAYER |
|
||
| ACP-DAG-HITL | Trust Scoring | Assurance Profiles |
|
||
| [GAP 5: Federated Privacy] [GAP 6: Cross-Domain Audit] |
|
||
+-------------------------------------------------------------+
|
||
| INFRASTRUCTURE LAYER |
|
||
| Identity | Discovery | Registration | Protocol Bridges |
|
||
| [GAP 8: Cross-Protocol] [GAP 9: Resource Accounting] |
|
||
| [GAP 11: Performance Benchmarking] |
|
||
+-------------------------------------------------------------+
|
||
</pre>
|
||
</div>
|
||
<figcaption><a href="#figure-1" class="selfRef">Figure 1</a>:
|
||
<a href="#name-agent-ecosystem-reference-a" class="selfRef">Agent Ecosystem Reference Architecture</a>
|
||
</figcaption></figure>
|
||
</div>
|
||
<p id="section-3-3">The Human Operators layer provides override and
|
||
human-in-the-loop controls (Gap 7). The Agent Interaction
|
||
layer is where agents communicate, negotiate capabilities
|
||
(Gap 10), reach consensus (Gap 3), and undergo behavioral
|
||
verification (Gap 1). The Execution layer manages DAG-based
|
||
workflows with cascade prevention (Gap 2) and rollback
|
||
(Gap 4). The Policy and Governance layer enforces privacy
|
||
in federated learning (Gap 5) and cross-domain audit trails
|
||
(Gap 6). The Infrastructure layer handles identity,
|
||
discovery, cross-protocol migration (Gap 8), resource
|
||
accounting (Gap 9), and performance benchmarking (Gap 11).<a href="#section-3-3" class="pilcrow">¶</a></p>
|
||
</section>
|
||
</div>
|
||
<div id="existing-ietf-work">
|
||
<section id="section-4">
|
||
<h2 id="name-existing-ietf-work">
|
||
<a href="#section-4" class="section-number selfRef">4. </a><a href="#name-existing-ietf-work" class="section-name selfRef">Existing IETF Work</a>
|
||
</h2>
|
||
<p id="section-4-1">This section briefly surveys existing IETF efforts relevant
|
||
to autonomous agent protocols.<a href="#section-4-1" class="pilcrow">¶</a></p>
|
||
<div id="wimse-workload-identity-in-multi-system-environments">
|
||
<section id="section-4.1">
|
||
<h3 id="name-wimse-workload-identity-in-">
|
||
<a href="#section-4.1" class="section-number selfRef">4.1. </a><a href="#name-wimse-workload-identity-in-" class="section-name selfRef">WIMSE (Workload Identity in Multi-System Environments)</a>
|
||
</h3>
|
||
<p id="section-4.1-1">The WIMSE working group addresses workload identity and
|
||
Execution Context Tokens (ECTs) <span>[<a href="#I-D.nennemann-wimse-ect" class="cite xref">I-D.nennemann-wimse-ect</a>]</span>.
|
||
ECTs provide the foundation for carrying delegated authority
|
||
and task context across agent boundaries.<a href="#section-4.1-1" class="pilcrow">¶</a></p>
|
||
</section>
|
||
</div>
|
||
<div id="rats-remote-attestation-procedures">
|
||
<section id="section-4.2">
|
||
<h3 id="name-rats-remote-attestation-pro">
|
||
<a href="#section-4.2" class="section-number selfRef">4.2. </a><a href="#name-rats-remote-attestation-pro" class="section-name selfRef">RATS (Remote ATtestation procedureS)</a>
|
||
</h3>
|
||
<p id="section-4.2-1">RATS defines architectures and protocols for remote
|
||
attestation <span>[<a href="#RFC9334" class="cite xref">RFC9334</a>]</span>. Attestation evidence and
|
||
appraisal are directly applicable to verifying agent
|
||
behavioral claims.<a href="#section-4.2-1" class="pilcrow">¶</a></p>
|
||
</section>
|
||
</div>
|
||
<div id="oauth-and-gnap">
|
||
<section id="section-4.3">
|
||
<h3 id="name-oauth-and-gnap">
|
||
<a href="#section-4.3" class="section-number selfRef">4.3. </a><a href="#name-oauth-and-gnap" class="section-name selfRef">OAuth and GNAP</a>
|
||
</h3>
|
||
<p id="section-4.3-1">OAuth 2.0 and the Grant Negotiation and Authorization
|
||
Protocol (GNAP) provide authorization frameworks.
|
||
Transaction tokens and token exchange mechanisms are
|
||
relevant to agent-to-agent delegation chains.<a href="#section-4.3-1" class="pilcrow">¶</a></p>
|
||
</section>
|
||
</div>
|
||
<div id="scitt-supply-chain-integrity-transparency-and-trust">
|
||
<section id="section-4.4">
|
||
<h3 id="name-scitt-supply-chain-integrit">
|
||
<a href="#section-4.4" class="section-number selfRef">4.4. </a><a href="#name-scitt-supply-chain-integrit" class="section-name selfRef">SCITT (Supply Chain Integrity, Transparency, and Trust)</a>
|
||
</h3>
|
||
<p id="section-4.4-1">SCITT defines transparency services for supply chain
|
||
artifacts. Its append-only log model is relevant to
|
||
agent audit trails and provenance tracking.<a href="#section-4.4-1" class="pilcrow">¶</a></p>
|
||
</section>
|
||
</div>
|
||
<div id="nmop-network-management-operations">
|
||
<section id="section-4.5">
|
||
<h3 id="name-nmop-network-management-ope">
|
||
<a href="#section-4.5" class="section-number selfRef">4.5. </a><a href="#name-nmop-network-management-ope" class="section-name selfRef">NMOP (Network Management Operations)</a>
|
||
</h3>
|
||
<p id="section-4.5-1">The NMOP working group focuses on network management
|
||
operations including intent-based management and
|
||
autonomous network functions. Agent-driven network
|
||
management is a primary use case for the gaps identified
|
||
in this document.<a href="#section-4.5-1" class="pilcrow">¶</a></p>
|
||
</section>
|
||
</div>
|
||
<div id="industry-protocols-a2a-and-mcp">
|
||
<section id="section-4.6">
|
||
<h3 id="name-industry-protocols-a2a-and-">
|
||
<a href="#section-4.6" class="section-number selfRef">4.6. </a><a href="#name-industry-protocols-a2a-and-" class="section-name selfRef">Industry Protocols: A2A and MCP</a>
|
||
</h3>
|
||
<p id="section-4.6-1">The Agent-to-Agent (A2A) protocol and Model Context
|
||
Protocol (MCP) are emerging industry standards for agent
|
||
communication. While not IETF specifications, they
|
||
inform the gap analysis by highlighting capabilities
|
||
that lack standardized, interoperable definitions.<a href="#section-4.6-1" class="pilcrow">¶</a></p>
|
||
</section>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
<div id="gap-analysis">
|
||
<section id="section-5">
|
||
<h2 id="name-gap-analysis">
|
||
<a href="#section-5" class="section-number selfRef">5. </a><a href="#name-gap-analysis" class="section-name selfRef">Gap Analysis</a>
|
||
</h2>
|
||
<p id="section-5-1">This section identifies eleven gaps in the current
|
||
standards landscape for autonomous agent protocols.
|
||
Gaps are classified by severity:<a href="#section-5-1" class="pilcrow">¶</a></p>
|
||
<ul class="normal">
|
||
<li class="normal" id="section-5-2.1">
|
||
<p id="section-5-2.1.1">CRITICAL: No existing standard addresses the problem;
|
||
failure to standardize poses immediate safety or
|
||
interoperability risks.<a href="#section-5-2.1.1" class="pilcrow">¶</a></p>
|
||
</li>
|
||
<li class="normal" id="section-5-2.2">
|
||
<p id="section-5-2.2.1">HIGH: Partial coverage exists but is insufficient for
|
||
production autonomous agent deployments.<a href="#section-5-2.2.1" class="pilcrow">¶</a></p>
|
||
</li>
|
||
<li class="normal" id="section-5-2.3">
|
||
<p id="section-5-2.3.1">MEDIUM: The gap affects efficiency or completeness but
|
||
does not pose immediate safety risks.<a href="#section-5-2.3.1" class="pilcrow">¶</a></p>
|
||
</li>
|
||
</ul>
|
||
<div id="gap-1">
|
||
<section id="section-5.1">
|
||
<h3 id="name-gap-1-agent-behavioral-veri">
|
||
<a href="#section-5.1" class="section-number selfRef">5.1. </a><a href="#name-gap-1-agent-behavioral-veri" class="section-name selfRef">Gap 1: Agent Behavioral Verification</a>
|
||
</h3>
|
||
<span class="break"></span><dl class="dlParallel" id="section-5.1-1">
|
||
<dt id="section-5.1-1.1">Severity:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.1-1.2">
|
||
<p id="section-5.1-1.2.1">CRITICAL<a href="#section-5.1-1.2.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.1-1.3">Category:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.1-1.4">
|
||
<p id="section-5.1-1.4.1">AI Safety<a href="#section-5.1-1.4.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.1-1.5">Problem Statement:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.1-1.6">
|
||
<p id="section-5.1-1.6.1">Autonomous agents operating in production environments
|
||
currently lack any standardized mechanism for runtime
|
||
verification of policy compliance. While RATS
|
||
<span>[<a href="#RFC9334" class="cite xref">RFC9334</a>]</span> provides attestation for platform integrity,
|
||
no equivalent exists for verifying that an agent's
|
||
observed behavior conforms to its declared behavioral
|
||
profile or policy constraints.<a href="#section-5.1-1.6.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.1-1.7"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.1-1.8">
|
||
<p id="section-5.1-1.8.1">Without behavioral verification, operators cannot
|
||
distinguish between an agent that faithfully executes
|
||
its policy and one that has drifted, been compromised,
|
||
or is operating outside its intended parameters. This
|
||
is especially dangerous in multi-agent workflows where
|
||
one misbehaving agent can corrupt downstream results.<a href="#section-5.1-1.8.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.1-1.9"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.1-1.10">
|
||
<p id="section-5.1-1.10.1">The gap extends to the absence of standardized
|
||
behavioral profiles, verification evidence formats,
|
||
and appraisal procedures specific to agent conduct.<a href="#section-5.1-1.10.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.1-1.11">Impact if Unaddressed:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.1-1.12">
|
||
<p id="section-5.1-1.12.1">Undetected policy violations in autonomous agents
|
||
could cause safety incidents, data breaches, or
|
||
cascading failures in critical infrastructure.<a href="#section-5.1-1.12.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.1-1.13">Existing Partial Coverage:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.1-1.14">
|
||
<p id="section-5.1-1.14.1">RATS <span>[<a href="#RFC9334" class="cite xref">RFC9334</a>]</span> covers platform attestation but not
|
||
behavioral compliance. ACP-DAG-HITL
|
||
<span>[<a href="#I-D.nennemann-agent-dag-hitl-safety" class="cite xref">I-D.nennemann-agent-dag-hitl-safety</a>]</span> defines
|
||
policies but not verification mechanisms.<a href="#section-5.1-1.14.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.1-1.15">Companion Draft:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.1-1.16">
|
||
<p id="section-5.1-1.16.1"><span>[<a href="#I-D.nennemann-agent-behavioral-verification" class="cite xref">I-D.nennemann-agent-behavioral-verification</a>]</span><a href="#section-5.1-1.16.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
</dl>
|
||
</section>
|
||
</div>
|
||
<div id="gap-2">
|
||
<section id="section-5.2">
|
||
<h3 id="name-gap-2-agent-failure-cascade">
|
||
<a href="#section-5.2" class="section-number selfRef">5.2. </a><a href="#name-gap-2-agent-failure-cascade" class="section-name selfRef">Gap 2: Agent Failure Cascade Prevention</a>
|
||
</h3>
|
||
<span class="break"></span><dl class="dlParallel" id="section-5.2-1">
|
||
<dt id="section-5.2-1.1">Severity:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.2-1.2">
|
||
<p id="section-5.2-1.2.1">CRITICAL<a href="#section-5.2-1.2.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.2-1.3">Category:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.2-1.4">
|
||
<p id="section-5.2-1.4.1">AI Safety, Resilience<a href="#section-5.2-1.4.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.2-1.5">Problem Statement:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.2-1.6">
|
||
<p id="section-5.2-1.6.1">Multi-agent workflows create dependency chains where a
|
||
failure in one agent can propagate to downstream agents,
|
||
causing cascade failures. No standardized mechanism
|
||
exists for circuit breakers, failure isolation, or
|
||
cascade containment in agent-to-agent interactions.<a href="#section-5.2-1.6.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.2-1.7"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.2-1.8">
|
||
<p id="section-5.2-1.8.1">Current practice relies on ad-hoc timeout and retry
|
||
logic that is neither interoperable nor sufficient for
|
||
complex DAG-structured workflows. Agents from
|
||
different vendors or administrative domains have no
|
||
common way to signal failure states or trigger
|
||
containment procedures.<a href="#section-5.2-1.8.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.2-1.9"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.2-1.10">
|
||
<p id="section-5.2-1.10.1">The absence of cascade prevention is especially
|
||
critical in network management scenarios where agent
|
||
failures could propagate to affect live network
|
||
operations.<a href="#section-5.2-1.10.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.2-1.11">Impact if Unaddressed:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.2-1.12">
|
||
<p id="section-5.2-1.12.1">A single agent failure could cascade through an entire
|
||
multi-agent deployment, causing widespread service
|
||
disruption with no automated containment.<a href="#section-5.2-1.12.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.2-1.13">Existing Partial Coverage:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.2-1.14">
|
||
<p id="section-5.2-1.14.1">ECT <span>[<a href="#I-D.nennemann-wimse-ect" class="cite xref">I-D.nennemann-wimse-ect</a>]</span> provides execution
|
||
context but no failure containment semantics.<a href="#section-5.2-1.14.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.2-1.15">Companion Draft:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.2-1.16">
|
||
<p id="section-5.2-1.16.1"><span>[<a href="#I-D.nennemann-agent-cascade-prevention" class="cite xref">I-D.nennemann-agent-cascade-prevention</a>]</span><a href="#section-5.2-1.16.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
</dl>
|
||
</section>
|
||
</div>
|
||
<div id="gap-3">
|
||
<section id="section-5.3">
|
||
<h3 id="name-gap-3-multi-agent-consensus">
|
||
<a href="#section-5.3" class="section-number selfRef">5.3. </a><a href="#name-gap-3-multi-agent-consensus" class="section-name selfRef">Gap 3: Multi-Agent Consensus Protocols</a>
|
||
</h3>
|
||
<span class="break"></span><dl class="dlParallel" id="section-5.3-1">
|
||
<dt id="section-5.3-1.1">Severity:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.3-1.2">
|
||
<p id="section-5.3-1.2.1">HIGH<a href="#section-5.3-1.2.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.3-1.3">Category:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.3-1.4">
|
||
<p id="section-5.3-1.4.1">A2A Protocols<a href="#section-5.3-1.4.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.3-1.5">Problem Statement:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.3-1.6">
|
||
<p id="section-5.3-1.6.1">When multiple agents must agree on a shared decision
|
||
(e.g., a network configuration change, a resource
|
||
allocation plan, or a coordinated response to an
|
||
incident), no standardized consensus protocol exists
|
||
for agent-to-agent agreement.<a href="#section-5.3-1.6.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.3-1.7"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.3-1.8">
|
||
<p id="section-5.3-1.8.1">Distributed systems consensus protocols (Raft, Paxos)
|
||
are designed for replicated state machines, not for
|
||
heterogeneous agents with different capabilities,
|
||
trust levels, and policy constraints. Agent consensus
|
||
requires additional semantics such as weighted voting,
|
||
capability-based participation, and policy-constrained
|
||
proposals.<a href="#section-5.3-1.8.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.3-1.9"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.3-1.10">
|
||
<p id="section-5.3-1.10.1">Without a standard protocol, multi-agent coordination
|
||
relies on proprietary mechanisms that are not
|
||
interoperable across vendors or administrative domains.<a href="#section-5.3-1.10.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.3-1.11">Impact if Unaddressed:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.3-1.12">
|
||
<p id="section-5.3-1.12.1">Multi-vendor agent deployments cannot coordinate
|
||
decisions, limiting autonomous agents to single-vendor
|
||
silos.<a href="#section-5.3-1.12.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.3-1.13">Existing Partial Coverage:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.3-1.14">
|
||
<p id="section-5.3-1.14.1">No existing IETF work directly addresses multi-agent
|
||
consensus.<a href="#section-5.3-1.14.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.3-1.15">Companion Draft:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.3-1.16">
|
||
<p id="section-5.3-1.16.1"><span>[<a href="#I-D.nennemann-agent-consensus" class="cite xref">I-D.nennemann-agent-consensus</a>]</span><a href="#section-5.3-1.16.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
</dl>
|
||
</section>
|
||
</div>
|
||
<div id="gap-4">
|
||
<section id="section-5.4">
|
||
<h3 id="name-gap-4-real-time-agent-rollb">
|
||
<a href="#section-5.4" class="section-number selfRef">5.4. </a><a href="#name-gap-4-real-time-agent-rollb" class="section-name selfRef">Gap 4: Real-Time Agent Rollback Mechanisms</a>
|
||
</h3>
|
||
<span class="break"></span><dl class="dlParallel" id="section-5.4-1">
|
||
<dt id="section-5.4-1.1">Severity:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.4-1.2">
|
||
<p id="section-5.4-1.2.1">HIGH<a href="#section-5.4-1.2.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.4-1.3">Category:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.4-1.4">
|
||
<p id="section-5.4-1.4.1">Resilience, Operations<a href="#section-5.4-1.4.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.4-1.5">Problem Statement:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.4-1.6">
|
||
<p id="section-5.4-1.6.1">When an autonomous agent takes an action that produces
|
||
unintended consequences, no standardized mechanism
|
||
exists for rolling back the action and restoring
|
||
the previous state. This is particularly important
|
||
for network management agents that modify device
|
||
configurations.<a href="#section-5.4-1.6.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.4-1.7"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.4-1.8">
|
||
<p id="section-5.4-1.8.1">Rollback requires standardized checkpointing, state
|
||
snapshots, and undo semantics that work across agent
|
||
boundaries and administrative domains. Current
|
||
rollback mechanisms (e.g., NETCONF confirmed-commit)
|
||
are protocol-specific and do not generalize to
|
||
arbitrary agent actions.<a href="#section-5.4-1.8.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.4-1.9"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.4-1.10">
|
||
<p id="section-5.4-1.10.1">The lack of rollback is compounded in multi-agent
|
||
workflows where multiple agents may have taken
|
||
coordinated actions that must be reversed as a unit.<a href="#section-5.4-1.10.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.4-1.11">Impact if Unaddressed:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.4-1.12">
|
||
<p id="section-5.4-1.12.1">Operators cannot safely deploy autonomous agents for
|
||
critical operations without manual intervention
|
||
capability for every action.<a href="#section-5.4-1.12.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.4-1.13">Existing Partial Coverage:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.4-1.14">
|
||
<p id="section-5.4-1.14.1">NETCONF confirmed-commit provides rollback for
|
||
configuration changes only.<a href="#section-5.4-1.14.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.4-1.15">Companion Draft:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.4-1.16">
|
||
<p id="section-5.4-1.16.1"><span>[<a href="#I-D.nennemann-agent-cascade-prevention" class="cite xref">I-D.nennemann-agent-cascade-prevention</a>]</span><a href="#section-5.4-1.16.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
</dl>
|
||
</section>
|
||
</div>
|
||
<div id="gap-5">
|
||
<section id="section-5.5">
|
||
<h3 id="name-gap-5-federated-agent-learn">
|
||
<a href="#section-5.5" class="section-number selfRef">5.5. </a><a href="#name-gap-5-federated-agent-learn" class="section-name selfRef">Gap 5: Federated Agent Learning Privacy</a>
|
||
</h3>
|
||
<span class="break"></span><dl class="dlParallel" id="section-5.5-1">
|
||
<dt id="section-5.5-1.1">Severity:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.5-1.2">
|
||
<p id="section-5.5-1.2.1">HIGH<a href="#section-5.5-1.2.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.5-1.3">Category:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.5-1.4">
|
||
<p id="section-5.5-1.4.1">Privacy, Federated Systems<a href="#section-5.5-1.4.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.5-1.5">Problem Statement:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.5-1.6">
|
||
<p id="section-5.5-1.6.1">Agents that participate in federated learning or
|
||
share operational data across administrative domains
|
||
require privacy guarantees that go beyond transport
|
||
encryption. No IETF specification addresses the
|
||
privacy requirements of federated agent learning,
|
||
including differential privacy parameters, data
|
||
minimization for shared agent telemetry, and
|
||
consent management for cross-domain data sharing.<a href="#section-5.5-1.6.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.5-1.7"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.5-1.8">
|
||
<p id="section-5.5-1.8.1">As agents are deployed across organizational
|
||
boundaries, the data they generate and share can
|
||
reveal sensitive information about network topology,
|
||
operational patterns, and business logic. Privacy-
|
||
preserving mechanisms specific to agent interactions
|
||
are needed.<a href="#section-5.5-1.8.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.5-1.9">Impact if Unaddressed:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.5-1.10">
|
||
<p id="section-5.5-1.10.1">Organizations will be unable to participate in
|
||
federated agent ecosystems without unacceptable
|
||
privacy risks, limiting the value of multi-domain
|
||
agent deployments.<a href="#section-5.5-1.10.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.5-1.11">Existing Partial Coverage:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.5-1.12">
|
||
<p id="section-5.5-1.12.1">General privacy frameworks exist but none address
|
||
agent-specific federated learning scenarios.<a href="#section-5.5-1.12.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.5-1.13">Companion Draft:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.5-1.14">
|
||
<p id="section-5.5-1.14.1"><span>[<a href="#I-D.nennemann-agent-federation-privacy" class="cite xref">I-D.nennemann-agent-federation-privacy</a>]</span><a href="#section-5.5-1.14.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
</dl>
|
||
</section>
|
||
</div>
|
||
<div id="gap-6">
|
||
<section id="section-5.6">
|
||
<h3 id="name-gap-6-cross-domain-agent-au">
|
||
<a href="#section-5.6" class="section-number selfRef">5.6. </a><a href="#name-gap-6-cross-domain-agent-au" class="section-name selfRef">Gap 6: Cross-Domain Agent Audit Trails</a>
|
||
</h3>
|
||
<span class="break"></span><dl class="dlParallel" id="section-5.6-1">
|
||
<dt id="section-5.6-1.1">Severity:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.6-1.2">
|
||
<p id="section-5.6-1.2.1">HIGH<a href="#section-5.6-1.2.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.6-1.3">Category:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.6-1.4">
|
||
<p id="section-5.6-1.4.1">Audit, Compliance<a href="#section-5.6-1.4.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.6-1.5">Problem Statement:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.6-1.6">
|
||
<p id="section-5.6-1.6.1">When agents operate across multiple administrative
|
||
domains, their actions must be auditable end-to-end.
|
||
No standardized format exists for cross-domain agent
|
||
audit trails that preserves causal ordering, links
|
||
related actions across domain boundaries, and provides
|
||
tamper-evident logging.<a href="#section-5.6-1.6.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.6-1.7"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.6-1.8">
|
||
<p id="section-5.6-1.8.1">Execution Audit Tokens <span>[<a href="#I-D.nennemann-exec-audit" class="cite xref">I-D.nennemann-exec-audit</a>]</span>
|
||
provide per-action audit records, but no standard
|
||
defines how these records are aggregated, correlated,
|
||
and queried across domains. SCITT provides
|
||
transparency log primitives but does not define
|
||
agent-specific audit semantics.<a href="#section-5.6-1.8.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.6-1.9"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.6-1.10">
|
||
<p id="section-5.6-1.10.1">Regulatory and compliance requirements increasingly
|
||
demand end-to-end audit trails for automated
|
||
decision-making, making this gap urgent for
|
||
enterprise deployments.<a href="#section-5.6-1.10.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.6-1.11">Impact if Unaddressed:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.6-1.12">
|
||
<p id="section-5.6-1.12.1">Organizations cannot demonstrate compliance for
|
||
cross-domain agent operations, blocking adoption
|
||
in regulated industries.<a href="#section-5.6-1.12.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.6-1.13">Existing Partial Coverage:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.6-1.14">
|
||
<p id="section-5.6-1.14.1">SCITT provides transparency log primitives.
|
||
<span>[<a href="#I-D.nennemann-exec-audit" class="cite xref">I-D.nennemann-exec-audit</a>]</span> defines per-action
|
||
audit tokens.<a href="#section-5.6-1.14.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.6-1.15">Companion Draft:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.6-1.16">
|
||
<p id="section-5.6-1.16.1"><span>[<a href="#I-D.nennemann-agent-cross-domain-audit" class="cite xref">I-D.nennemann-agent-cross-domain-audit</a>]</span><a href="#section-5.6-1.16.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
</dl>
|
||
</section>
|
||
</div>
|
||
<div id="gap-7">
|
||
<section id="section-5.7">
|
||
<h3 id="name-gap-7-human-override-standa">
|
||
<a href="#section-5.7" class="section-number selfRef">5.7. </a><a href="#name-gap-7-human-override-standa" class="section-name selfRef">Gap 7: Human Override Standardization</a>
|
||
</h3>
|
||
<span class="break"></span><dl class="dlParallel" id="section-5.7-1">
|
||
<dt id="section-5.7-1.1">Severity:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.7-1.2">
|
||
<p id="section-5.7-1.2.1">HIGH<a href="#section-5.7-1.2.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.7-1.3">Category:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.7-1.4">
|
||
<p id="section-5.7-1.4.1">AI Safety, Human Control<a href="#section-5.7-1.4.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.7-1.5">Problem Statement:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.7-1.6">
|
||
<p id="section-5.7-1.6.1">Autonomous agents must always be subject to human
|
||
override, but no cross-vendor protocol exists for
|
||
sending override signals to agents. Override
|
||
requirements include emergency stop, graceful pause,
|
||
parameter modification, and forced rollback.<a href="#section-5.7-1.6.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.7-1.7"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.7-1.8">
|
||
<p id="section-5.7-1.8.1">Current override mechanisms are vendor-specific and
|
||
cannot be used in multi-vendor agent deployments.
|
||
ACP-DAG-HITL <span>[<a href="#I-D.nennemann-agent-dag-hitl-safety" class="cite xref">I-D.nennemann-agent-dag-hitl-safety</a>]</span>
|
||
defines when human approval is required but does not
|
||
specify the protocol for delivering override signals
|
||
to running agents.<a href="#section-5.7-1.8.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.7-1.9"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.7-1.10">
|
||
<p id="section-5.7-1.10.1">The absence of a standard override protocol creates
|
||
a significant safety risk: if an agent misbehaves,
|
||
the operator may not have a reliable way to stop it
|
||
if the agent comes from a different vendor than the
|
||
management platform.<a href="#section-5.7-1.10.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.7-1.11">Impact if Unaddressed:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.7-1.12">
|
||
<p id="section-5.7-1.12.1">Operators lose the ability to control autonomous
|
||
agents in emergency situations, creating unacceptable
|
||
safety risks.<a href="#section-5.7-1.12.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.7-1.13">Existing Partial Coverage:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.7-1.14">
|
||
<p id="section-5.7-1.14.1">ACP-DAG-HITL <span>[<a href="#I-D.nennemann-agent-dag-hitl-safety" class="cite xref">I-D.nennemann-agent-dag-hitl-safety</a>]</span>
|
||
defines HITL policies but not override delivery.<a href="#section-5.7-1.14.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.7-1.15">Companion Draft:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.7-1.16">
|
||
<p id="section-5.7-1.16.1"><span>[<a href="#I-D.nennemann-agent-override-protocol" class="cite xref">I-D.nennemann-agent-override-protocol</a>]</span><a href="#section-5.7-1.16.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
</dl>
|
||
</section>
|
||
</div>
|
||
<div id="gap-8">
|
||
<section id="section-5.8">
|
||
<h3 id="name-gap-8-cross-protocol-agent-">
|
||
<a href="#section-5.8" class="section-number selfRef">5.8. </a><a href="#name-gap-8-cross-protocol-agent-" class="section-name selfRef">Gap 8: Cross-Protocol Agent Migration</a>
|
||
</h3>
|
||
<span class="break"></span><dl class="dlParallel" id="section-5.8-1">
|
||
<dt id="section-5.8-1.1">Severity:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.8-1.2">
|
||
<p id="section-5.8-1.2.1">MEDIUM<a href="#section-5.8-1.2.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.8-1.3">Category:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.8-1.4">
|
||
<p id="section-5.8-1.4.1">Interoperability<a href="#section-5.8-1.4.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.8-1.5">Problem Statement:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.8-1.6">
|
||
<p id="section-5.8-1.6.1">Agents may need to migrate between protocol
|
||
environments (e.g., from an A2A-based system to an
|
||
MCP-based system) while preserving execution context,
|
||
identity, and accumulated state. No standard defines
|
||
how agent context is translated or preserved across
|
||
protocol boundaries.<a href="#section-5.8-1.6.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.8-1.7"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.8-1.8">
|
||
<p id="section-5.8-1.8.1">As the agent ecosystem matures, agents will
|
||
increasingly operate in heterogeneous protocol
|
||
environments. Without migration standards, agents
|
||
are locked into specific protocol ecosystems.<a href="#section-5.8-1.8.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.8-1.9">Impact if Unaddressed:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.8-1.10">
|
||
<p id="section-5.8-1.10.1">Agent deployments become fragmented across protocol
|
||
silos, reducing interoperability and increasing
|
||
operational complexity.<a href="#section-5.8-1.10.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.8-1.11">Existing Partial Coverage:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.8-1.12">
|
||
<p id="section-5.8-1.12.1">ECT <span>[<a href="#I-D.nennemann-wimse-ect" class="cite xref">I-D.nennemann-wimse-ect</a>]</span> provides a
|
||
protocol-neutral context token but does not define
|
||
migration procedures.<a href="#section-5.8-1.12.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.8-1.13">Companion Draft:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.8-1.14">
|
||
<p id="section-5.8-1.14.1"><span>[<a href="#I-D.nennemann-agent-federation-privacy" class="cite xref">I-D.nennemann-agent-federation-privacy</a>]</span><a href="#section-5.8-1.14.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
</dl>
|
||
</section>
|
||
</div>
|
||
<div id="gap-9">
|
||
<section id="section-5.9">
|
||
<h3 id="name-gap-9-agent-resource-accoun">
|
||
<a href="#section-5.9" class="section-number selfRef">5.9. </a><a href="#name-gap-9-agent-resource-accoun" class="section-name selfRef">Gap 9: Agent Resource Accounting and Billing</a>
|
||
</h3>
|
||
<span class="break"></span><dl class="dlParallel" id="section-5.9-1">
|
||
<dt id="section-5.9-1.1">Severity:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.9-1.2">
|
||
<p id="section-5.9-1.2.1">MEDIUM<a href="#section-5.9-1.2.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.9-1.3">Category:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.9-1.4">
|
||
<p id="section-5.9-1.4.1">Operations, Economics<a href="#section-5.9-1.4.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.9-1.5">Problem Statement:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.9-1.6">
|
||
<p id="section-5.9-1.6.1">Autonomous agents consume computational, network, and
|
||
API resources across administrative domains. No
|
||
standardized mechanism exists for tracking, reporting,
|
||
and reconciling resource consumption by agents,
|
||
especially in multi-domain scenarios where an agent's
|
||
actions incur costs in domains other than its own.<a href="#section-5.9-1.6.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.9-1.7"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.9-1.8">
|
||
<p id="section-5.9-1.8.1">Resource accounting is a prerequisite for sustainable
|
||
multi-domain agent ecosystems where organizations
|
||
need to track and charge for agent resource usage.<a href="#section-5.9-1.8.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.9-1.9">Impact if Unaddressed:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.9-1.10">
|
||
<p id="section-5.9-1.10.1">Organizations cannot accurately track or bill for
|
||
agent resource consumption, hindering commercial
|
||
multi-domain agent deployments.<a href="#section-5.9-1.10.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.9-1.11">Existing Partial Coverage:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.9-1.12">
|
||
<p id="section-5.9-1.12.1">No existing IETF work addresses agent-specific
|
||
resource accounting.<a href="#section-5.9-1.12.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.9-1.13">Companion Draft:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.9-1.14">
|
||
<p id="section-5.9-1.14.1"><span>[<a href="#I-D.nennemann-agent-cross-domain-audit" class="cite xref">I-D.nennemann-agent-cross-domain-audit</a>]</span><a href="#section-5.9-1.14.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
</dl>
|
||
</section>
|
||
</div>
|
||
<div id="gap-10">
|
||
<section id="section-5.10">
|
||
<h3 id="name-gap-10-agent-capability-neg">
|
||
<a href="#section-5.10" class="section-number selfRef">5.10. </a><a href="#name-gap-10-agent-capability-neg" class="section-name selfRef">Gap 10: Agent Capability Negotiation</a>
|
||
</h3>
|
||
<span class="break"></span><dl class="dlParallel" id="section-5.10-1">
|
||
<dt id="section-5.10-1.1">Severity:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.10-1.2">
|
||
<p id="section-5.10-1.2.1">MEDIUM<a href="#section-5.10-1.2.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.10-1.3">Category:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.10-1.4">
|
||
<p id="section-5.10-1.4.1">A2A Protocols<a href="#section-5.10-1.4.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.10-1.5">Problem Statement:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.10-1.6">
|
||
<p id="section-5.10-1.6.1">When agents interact, they need to discover and
|
||
negotiate each other's capabilities dynamically.
|
||
No standardized capability negotiation protocol
|
||
exists for agents to advertise their functions,
|
||
agree on interaction protocols, and establish
|
||
compatible communication parameters.<a href="#section-5.10-1.6.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.10-1.7"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.10-1.8">
|
||
<p id="section-5.10-1.8.1">Well-known URI <span>[<a href="#RFC8615" class="cite xref">RFC8615</a>]</span> and HTTP <span>[<a href="#RFC9110" class="cite xref">RFC9110</a>]</span>
|
||
provide discovery primitives, but agent capability
|
||
negotiation requires richer semantics including
|
||
versioning, conditional capabilities, and policy-
|
||
constrained capability advertisement.<a href="#section-5.10-1.8.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.10-1.9">Impact if Unaddressed:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.10-1.10">
|
||
<p id="section-5.10-1.10.1">Agent interactions require pre-configured knowledge
|
||
of peer capabilities, limiting dynamic composition
|
||
and ad-hoc agent collaboration.<a href="#section-5.10-1.10.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.10-1.11">Existing Partial Coverage:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.10-1.12">
|
||
<p id="section-5.10-1.12.1">HTTP content negotiation and well-known URIs provide
|
||
basic discovery but not agent-specific capability
|
||
negotiation.<a href="#section-5.10-1.12.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.10-1.13">Companion Draft:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.10-1.14">
|
||
<p id="section-5.10-1.14.1"><span>[<a href="#I-D.nennemann-agent-consensus" class="cite xref">I-D.nennemann-agent-consensus</a>]</span><a href="#section-5.10-1.14.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
</dl>
|
||
</section>
|
||
</div>
|
||
<div id="gap-11">
|
||
<section id="section-5.11">
|
||
<h3 id="name-gap-11-agent-performance-be">
|
||
<a href="#section-5.11" class="section-number selfRef">5.11. </a><a href="#name-gap-11-agent-performance-be" class="section-name selfRef">Gap 11: Agent Performance Benchmarking</a>
|
||
</h3>
|
||
<span class="break"></span><dl class="dlParallel" id="section-5.11-1">
|
||
<dt id="section-5.11-1.1">Severity:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.11-1.2">
|
||
<p id="section-5.11-1.2.1">MEDIUM<a href="#section-5.11-1.2.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.11-1.3">Category:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.11-1.4">
|
||
<p id="section-5.11-1.4.1">Operations, Metrics<a href="#section-5.11-1.4.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.11-1.5">Problem Statement:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.11-1.6">
|
||
<p id="section-5.11-1.6.1">No standardized metrics or benchmarking methodology
|
||
exists for evaluating autonomous agent performance.
|
||
Without common metrics, operators cannot compare
|
||
agent implementations, set performance baselines,
|
||
or detect performance degradation.<a href="#section-5.11-1.6.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.11-1.7"></dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.11-1.8">
|
||
<p id="section-5.11-1.8.1">Agent performance encompasses multiple dimensions:
|
||
task completion accuracy, latency, resource
|
||
efficiency, safety compliance rate, and behavioral
|
||
consistency. Standardized metrics and measurement
|
||
procedures are needed for each dimension.<a href="#section-5.11-1.8.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.11-1.9">Impact if Unaddressed:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.11-1.10">
|
||
<p id="section-5.11-1.10.1">Operators cannot objectively evaluate or compare
|
||
autonomous agent implementations, hindering
|
||
procurement and deployment decisions.<a href="#section-5.11-1.10.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.11-1.11">Existing Partial Coverage:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.11-1.12">
|
||
<p id="section-5.11-1.12.1">No existing IETF work addresses agent performance
|
||
benchmarking.<a href="#section-5.11-1.12.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-5.11-1.13">Companion Draft:</dt>
|
||
<dd style="margin-left: 1.5em" id="section-5.11-1.14">
|
||
<p id="section-5.11-1.14.1"><span>[<a href="#I-D.nennemann-agent-behavioral-verification" class="cite xref">I-D.nennemann-agent-behavioral-verification</a>]</span><a href="#section-5.11-1.14.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
</dl>
|
||
</section>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
<div id="companion-draft-roadmap">
|
||
<section id="section-6">
|
||
<h2 id="name-companion-draft-roadmap">
|
||
<a href="#section-6" class="section-number selfRef">6. </a><a href="#name-companion-draft-roadmap" class="section-name selfRef">Companion Draft Roadmap</a>
|
||
</h2>
|
||
<p id="section-6-1">The following table maps each companion draft to the
|
||
gaps it addresses and its priority level:<a href="#section-6-1" class="pilcrow">¶</a></p>
|
||
<span id="name-companion-draft-roadmap-2"></span><div id="tab-roadmap">
|
||
<table class="center" id="table-1">
|
||
<caption>
|
||
<a href="#table-1" class="selfRef">Table 1</a>:
|
||
<a href="#name-companion-draft-roadmap-2" class="selfRef">Companion Draft Roadmap</a>
|
||
</caption>
|
||
<thead>
|
||
<tr>
|
||
<th class="text-left" rowspan="1" colspan="1">Companion Draft</th>
|
||
<th class="text-center" rowspan="1" colspan="1">Gaps</th>
|
||
<th class="text-center" rowspan="1" colspan="1">Priority</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td class="text-left" rowspan="1" colspan="1">draft-nennemann-agent-behavioral-verification</td>
|
||
<td class="text-center" rowspan="1" colspan="1">1, 11</td>
|
||
<td class="text-center" rowspan="1" colspan="1">CRITICAL</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="text-left" rowspan="1" colspan="1">draft-nennemann-agent-cascade-prevention</td>
|
||
<td class="text-center" rowspan="1" colspan="1">2, 4</td>
|
||
<td class="text-center" rowspan="1" colspan="1">CRITICAL</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="text-left" rowspan="1" colspan="1">draft-nennemann-agent-consensus</td>
|
||
<td class="text-center" rowspan="1" colspan="1">3, 10</td>
|
||
<td class="text-center" rowspan="1" colspan="1">HIGH</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="text-left" rowspan="1" colspan="1">draft-nennemann-agent-cross-domain-audit</td>
|
||
<td class="text-center" rowspan="1" colspan="1">6, 9</td>
|
||
<td class="text-center" rowspan="1" colspan="1">HIGH</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="text-left" rowspan="1" colspan="1">draft-nennemann-agent-override-protocol</td>
|
||
<td class="text-center" rowspan="1" colspan="1">7</td>
|
||
<td class="text-center" rowspan="1" colspan="1">HIGH</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="text-left" rowspan="1" colspan="1">draft-nennemann-agent-federation-privacy</td>
|
||
<td class="text-center" rowspan="1" colspan="1">5, 8</td>
|
||
<td class="text-center" rowspan="1" colspan="1">HIGH</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<p id="section-6-3">The dependency relationships between companion drafts
|
||
are shown below:<a href="#section-6-3" class="pilcrow">¶</a></p>
|
||
<span id="name-companion-draft-dependencie"></span><div id="fig-deps">
|
||
<figure id="figure-2">
|
||
<div class="alignLeft art-ascii-art art-text artwork" id="section-6-4.1">
|
||
<pre>
|
||
behavioral-verification ---+
|
||
| |
|
||
v |
|
||
cascade-prevention |
|
||
| |
|
||
v v
|
||
override-protocol cross-domain-audit
|
||
| |
|
||
v v
|
||
consensus federation-privacy
|
||
</pre>
|
||
</div>
|
||
<figcaption><a href="#figure-2" class="selfRef">Figure 2</a>:
|
||
<a href="#name-companion-draft-dependencie" class="selfRef">Companion Draft Dependencies</a>
|
||
</figcaption></figure>
|
||
</div>
|
||
<p id="section-6-5">The behavioral-verification draft (Companion A) is
|
||
foundational because its behavioral attestation format
|
||
is used by the cascade-prevention and cross-domain-audit
|
||
drafts. The cascade-prevention draft (Companion B)
|
||
defines failure containment that the override-protocol
|
||
(Companion E) builds upon. The consensus draft
|
||
(Companion C) extends behavioral verification with
|
||
multi-agent agreement. The cross-domain-audit draft
|
||
(Companion D) provides the audit infrastructure that
|
||
federation-privacy (Companion F) adds privacy controls
|
||
to.<a href="#section-6-5" class="pilcrow">¶</a></p>
|
||
</section>
|
||
</div>
|
||
<div id="security-considerations">
|
||
<section id="section-7">
|
||
<h2 id="name-security-considerations">
|
||
<a href="#section-7" class="section-number selfRef">7. </a><a href="#name-security-considerations" class="section-name selfRef">Security Considerations</a>
|
||
</h2>
|
||
<p id="section-7-1">The gaps identified in this document have direct security
|
||
implications:<a href="#section-7-1" class="pilcrow">¶</a></p>
|
||
<span class="break"></span><dl class="dlParallel" id="section-7-2">
|
||
<dt id="section-7-2.1">Behavioral Verification (Gap 1):</dt>
|
||
<dd style="margin-left: 1.5em" id="section-7-2.2">
|
||
<p id="section-7-2.2.1">Without runtime behavioral verification, compromised
|
||
or malfunctioning agents cannot be detected, creating
|
||
opportunities for attacks that exploit trusted agent
|
||
identities to perform unauthorized actions.<a href="#section-7-2.2.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-7-2.3">Cascade Prevention (Gap 2):</dt>
|
||
<dd style="margin-left: 1.5em" id="section-7-2.4">
|
||
<p id="section-7-2.4.1">The absence of cascade containment creates a denial-
|
||
of-service vector where an attacker can compromise a
|
||
single agent to disrupt an entire multi-agent workflow.<a href="#section-7-2.4.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-7-2.5">Human Override (Gap 7):</dt>
|
||
<dd style="margin-left: 1.5em" id="section-7-2.6">
|
||
<p id="section-7-2.6.1">Without standardized override protocols, safety-
|
||
critical agent actions may not be stoppable, creating
|
||
an unacceptable risk profile for autonomous
|
||
deployments.<a href="#section-7-2.6.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-7-2.7">Cross-Domain Audit (Gap 6):</dt>
|
||
<dd style="margin-left: 1.5em" id="section-7-2.8">
|
||
<p id="section-7-2.8.1">Gaps in audit trails across domain boundaries create
|
||
opportunities for agents to take actions that evade
|
||
detection and accountability.<a href="#section-7-2.8.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
<dt id="section-7-2.9">Federated Privacy (Gap 5):</dt>
|
||
<dd style="margin-left: 1.5em" id="section-7-2.10">
|
||
<p id="section-7-2.10.1">Sharing agent operational data across domains without
|
||
adequate privacy controls can expose sensitive
|
||
organizational information, network topology, and
|
||
business logic.<a href="#section-7-2.10.1" class="pilcrow">¶</a></p>
|
||
</dd>
|
||
<dd class="break"></dd>
|
||
</dl>
|
||
<p id="section-7-3">Implementers of autonomous agent systems <span class="bcp14">SHOULD</span> treat the
|
||
CRITICAL and HIGH severity gaps as security requirements
|
||
and prioritize their resolution.<a href="#section-7-3" class="pilcrow">¶</a></p>
|
||
</section>
|
||
</div>
|
||
<div id="iana-considerations">
|
||
<section id="section-8">
|
||
<h2 id="name-iana-considerations">
|
||
<a href="#section-8" class="section-number selfRef">8. </a><a href="#name-iana-considerations" class="section-name selfRef">IANA Considerations</a>
|
||
</h2>
|
||
<p id="section-8-1">This document has no IANA actions.<a href="#section-8-1" class="pilcrow">¶</a></p>
|
||
</section>
|
||
</div>
|
||
<div id="sec-combined-references">
|
||
<section id="section-9">
|
||
<h2 id="name-references">
|
||
<a href="#section-9" class="section-number selfRef">9. </a><a href="#name-references" class="section-name selfRef">References</a>
|
||
</h2>
|
||
<div id="sec-normative-references">
|
||
<section id="section-9.1">
|
||
<h3 id="name-normative-references">
|
||
<a href="#section-9.1" class="section-number selfRef">9.1. </a><a href="#name-normative-references" class="section-name selfRef">Normative References</a>
|
||
</h3>
|
||
<dl class="references">
|
||
<dt id="RFC2119">[RFC2119]</dt>
|
||
<dd>
|
||
<span class="refAuthor">Bradner, S.</span>, <span class="refTitle">"Key words for use in RFCs to Indicate Requirement Levels"</span>, <span class="seriesInfo">BCP 14</span>, <span class="seriesInfo">RFC 2119</span>, <span class="seriesInfo">DOI 10.17487/RFC2119</span>, <time datetime="1997-03" class="refDate">March 1997</time>, <span><<a href="https://www.rfc-editor.org/rfc/rfc2119">https://www.rfc-editor.org/rfc/rfc2119</a>></span>. </dd>
|
||
<dd class="break"></dd>
|
||
<dt id="RFC8174">[RFC8174]</dt>
|
||
<dd>
|
||
<span class="refAuthor">Leiba, B.</span>, <span class="refTitle">"Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words"</span>, <span class="seriesInfo">BCP 14</span>, <span class="seriesInfo">RFC 8174</span>, <span class="seriesInfo">DOI 10.17487/RFC8174</span>, <time datetime="2017-05" class="refDate">May 2017</time>, <span><<a href="https://www.rfc-editor.org/rfc/rfc8174">https://www.rfc-editor.org/rfc/rfc8174</a>></span>. </dd>
|
||
<dd class="break"></dd>
|
||
</dl>
|
||
</section>
|
||
</div>
|
||
<div id="sec-informative-references">
|
||
<section id="section-9.2">
|
||
<h3 id="name-informative-references">
|
||
<a href="#section-9.2" class="section-number selfRef">9.2. </a><a href="#name-informative-references" class="section-name selfRef">Informative References</a>
|
||
</h3>
|
||
<dl class="references">
|
||
<dt id="I-D.nennemann-agent-behavioral-verification">[I-D.nennemann-agent-behavioral-verification]</dt>
|
||
<dd>
|
||
<span class="refTitle">"Agent Behavioral Verification and Performance Benchmarking"</span>, <span>n.d.</span>, <span><<a href="https://datatracker.ietf.org/doc/draft-nennemann-agent-behavioral-verification/">https://datatracker.ietf.org/doc/draft-nennemann-agent-behavioral-verification/</a>></span>. </dd>
|
||
<dd class="break"></dd>
|
||
<dt id="I-D.nennemann-agent-cascade-prevention">[I-D.nennemann-agent-cascade-prevention]</dt>
|
||
<dd>
|
||
<span class="refTitle">"Agent Failure Cascade Prevention and Rollback"</span>, <span>n.d.</span>, <span><<a href="https://datatracker.ietf.org/doc/draft-nennemann-agent-cascade-prevention/">https://datatracker.ietf.org/doc/draft-nennemann-agent-cascade-prevention/</a>></span>. </dd>
|
||
<dd class="break"></dd>
|
||
<dt id="I-D.nennemann-agent-consensus">[I-D.nennemann-agent-consensus]</dt>
|
||
<dd>
|
||
<span class="refTitle">"Multi-Agent Consensus and Capability Negotiation Protocols"</span>, <span>n.d.</span>, <span><<a href="https://datatracker.ietf.org/doc/draft-nennemann-agent-consensus/">https://datatracker.ietf.org/doc/draft-nennemann-agent-consensus/</a>></span>. </dd>
|
||
<dd class="break"></dd>
|
||
<dt id="I-D.nennemann-agent-cross-domain-audit">[I-D.nennemann-agent-cross-domain-audit]</dt>
|
||
<dd>
|
||
<span class="refTitle">"Cross-Domain Agent Audit Trails and Resource Accounting"</span>, <span>n.d.</span>, <span><<a href="https://datatracker.ietf.org/doc/draft-nennemann-agent-cross-domain-audit/">https://datatracker.ietf.org/doc/draft-nennemann-agent-cross-domain-audit/</a>></span>. </dd>
|
||
<dd class="break"></dd>
|
||
<dt id="I-D.nennemann-agent-dag-hitl-safety">[I-D.nennemann-agent-dag-hitl-safety]</dt>
|
||
<dd>
|
||
<span class="refTitle">"Agent Context Policy Token: DAG Delegation with Human Override"</span>, <span>n.d.</span>, <span><<a href="https://datatracker.ietf.org/doc/draft-nennemann-agent-dag-hitl-safety/">https://datatracker.ietf.org/doc/draft-nennemann-agent-dag-hitl-safety/</a>></span>. </dd>
|
||
<dd class="break"></dd>
|
||
<dt id="I-D.nennemann-agent-federation-privacy">[I-D.nennemann-agent-federation-privacy]</dt>
|
||
<dd>
|
||
<span class="refTitle">"Federated Agent Learning Privacy and Cross-Protocol Migration"</span>, <span>n.d.</span>, <span><<a href="https://datatracker.ietf.org/doc/draft-nennemann-agent-federation-privacy/">https://datatracker.ietf.org/doc/draft-nennemann-agent-federation-privacy/</a>></span>. </dd>
|
||
<dd class="break"></dd>
|
||
<dt id="I-D.nennemann-agent-override-protocol">[I-D.nennemann-agent-override-protocol]</dt>
|
||
<dd>
|
||
<span class="refTitle">"Standardized Human Override Protocol for Autonomous Agents"</span>, <span>n.d.</span>, <span><<a href="https://datatracker.ietf.org/doc/draft-nennemann-agent-override-protocol/">https://datatracker.ietf.org/doc/draft-nennemann-agent-override-protocol/</a>></span>. </dd>
|
||
<dd class="break"></dd>
|
||
<dt id="I-D.nennemann-exec-audit">[I-D.nennemann-exec-audit]</dt>
|
||
<dd>
|
||
<span class="refTitle">"Cross-Domain Execution Audit Tokens"</span>, <span>n.d.</span>, <span><<a href="https://datatracker.ietf.org/doc/draft-nennemann-exec-audit/">https://datatracker.ietf.org/doc/draft-nennemann-exec-audit/</a>></span>. </dd>
|
||
<dd class="break"></dd>
|
||
<dt id="I-D.nennemann-wimse-ect">[I-D.nennemann-wimse-ect]</dt>
|
||
<dd>
|
||
<span class="refTitle">"Execution Context Tokens for Distributed Agentic Workflows"</span>, <span>n.d.</span>, <span><<a href="https://datatracker.ietf.org/doc/draft-nennemann-wimse-ect/">https://datatracker.ietf.org/doc/draft-nennemann-wimse-ect/</a>></span>. </dd>
|
||
<dd class="break"></dd>
|
||
<dt id="RFC7519">[RFC7519]</dt>
|
||
<dd>
|
||
<span class="refAuthor">Jones, M.</span>, <span class="refAuthor">Bradley, J.</span>, and <span class="refAuthor">N. Sakimura</span>, <span class="refTitle">"JSON Web Token (JWT)"</span>, <span class="seriesInfo">RFC 7519</span>, <span class="seriesInfo">DOI 10.17487/RFC7519</span>, <time datetime="2015-05" class="refDate">May 2015</time>, <span><<a href="https://www.rfc-editor.org/rfc/rfc7519">https://www.rfc-editor.org/rfc/rfc7519</a>></span>. </dd>
|
||
<dd class="break"></dd>
|
||
<dt id="RFC8615">[RFC8615]</dt>
|
||
<dd>
|
||
<span class="refAuthor">Nottingham, M.</span>, <span class="refTitle">"Well-Known Uniform Resource Identifiers (URIs)"</span>, <span class="seriesInfo">RFC 8615</span>, <span class="seriesInfo">DOI 10.17487/RFC8615</span>, <time datetime="2019-05" class="refDate">May 2019</time>, <span><<a href="https://www.rfc-editor.org/rfc/rfc8615">https://www.rfc-editor.org/rfc/rfc8615</a>></span>. </dd>
|
||
<dd class="break"></dd>
|
||
<dt id="RFC9110">[RFC9110]</dt>
|
||
<dd>
|
||
<span class="refAuthor">Fielding, R., Ed.</span>, <span class="refAuthor">Nottingham, M., Ed.</span>, and <span class="refAuthor">J. Reschke, Ed.</span>, <span class="refTitle">"HTTP Semantics"</span>, <span class="seriesInfo">STD 97</span>, <span class="seriesInfo">RFC 9110</span>, <span class="seriesInfo">DOI 10.17487/RFC9110</span>, <time datetime="2022-06" class="refDate">June 2022</time>, <span><<a href="https://www.rfc-editor.org/rfc/rfc9110">https://www.rfc-editor.org/rfc/rfc9110</a>></span>. </dd>
|
||
<dd class="break"></dd>
|
||
<dt id="RFC9334">[RFC9334]</dt>
|
||
<dd>
|
||
<span class="refAuthor">Birkholz, H.</span>, <span class="refAuthor">Thaler, D.</span>, <span class="refAuthor">Richardson, M.</span>, <span class="refAuthor">Smith, N.</span>, and <span class="refAuthor">W. Pan</span>, <span class="refTitle">"Remote ATtestation procedureS (RATS) Architecture"</span>, <span class="seriesInfo">RFC 9334</span>, <span class="seriesInfo">DOI 10.17487/RFC9334</span>, <time datetime="2023-01" class="refDate">January 2023</time>, <span><<a href="https://www.rfc-editor.org/rfc/rfc9334">https://www.rfc-editor.org/rfc/rfc9334</a>></span>. </dd>
|
||
<dd class="break"></dd>
|
||
</dl>
|
||
</section>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
<div id="acknowledgments">
|
||
<section id="appendix-A">
|
||
<h2 id="name-acknowledgments">
|
||
<a href="#appendix-A" class="section-number selfRef">Appendix A. </a><a href="#name-acknowledgments" class="section-name selfRef">Acknowledgments</a>
|
||
</h2>
|
||
<p id="appendix-A-1">The author thanks the participants of the WIMSE, RATS,
|
||
and NMOP working groups for discussions that informed
|
||
this analysis.<a href="#appendix-A-1" class="pilcrow">¶</a></p>
|
||
</section>
|
||
</div>
|
||
<div id="authors-addresses">
|
||
<section id="appendix-B">
|
||
<h2 id="name-authors-address">
|
||
<a href="#name-authors-address" class="section-name selfRef">Author's Address</a>
|
||
</h2>
|
||
<address class="vcard">
|
||
<div dir="auto" class="left"><span class="fn nameRole">Christian Nennemann</span></div>
|
||
<div dir="auto" class="left"><span class="org">Independent Researcher</span></div>
|
||
<div class="email">
|
||
<span>Email:</span>
|
||
<a href="mailto:ietf@nennemann.de" class="email">ietf@nennemann.de</a>
|
||
</div>
|
||
</address>
|
||
</section>
|
||
</div>
|
||
<script>const toc = document.getElementById("toc");
|
||
toc.querySelector("h2").addEventListener("click", e => {
|
||
toc.classList.toggle("active");
|
||
});
|
||
toc.querySelector("nav").addEventListener("click", e => {
|
||
toc.classList.remove("active");
|
||
});
|
||
</script>
|
||
</body>
|
||
</html>
|