Skip to content

Commit ea9d8bf

Browse files
Align-every-page-on-one-shared-editorial-system
The hub, quickstart, demos, telemetry, and the cA2A extension page were each carrying their own stylesheet and their own palette. Quickstart was dark navy on Montserrat/Roboto, demos and the extension page were the old light navy theme, and telemetry duplicated the editorial styles inline. Add a shared .at-page layer to design-system.css: header, hero, section rhythm, cards and grids, the hairline flow strip, callouts, buttons, code blocks with a copy bar, terminal, stepper, check rows, verdict panel, tables, footer, one breakpoint. A page now opts in with <body class="at-page"> and writes no CSS of its own, so the four subpages carry zero page-level styles. supernav.js reads its colours from the same tokens instead of a hardcoded palette, which also aligns the four MkDocs subdomains that load both files from here. Drops the nine-colour dot set, adds Quickstart, and resolves the active item for /quickstart and /extensions/ca2a. On the hub, remove the hand-built domain nav: it duplicated the supernav list verbatim one row below it. Rather than rewrite its 500 lines of inline CSS, remap its legacy variables onto the editorial tokens once, so the page resolves through one palette rather than two. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 82876ad commit ea9d8bf

8 files changed

Lines changed: 1090 additions & 751 deletions

File tree

demos/index.html

Lines changed: 83 additions & 171 deletions
Large diffs are not rendered by default.

design-system.css

Lines changed: 680 additions & 3 deletions
Large diffs are not rendered by default.

extensions/ca2a/v0.1/index.html

Lines changed: 58 additions & 137 deletions
Original file line numberDiff line numberDiff line change
@@ -32,151 +32,51 @@
3232
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
3333
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
3434

35-
<style>
36-
:root {
37-
--bg: #F2F4F7;
38-
--surface: #FFFFFF;
39-
--border: #D0D9E3;
40-
--navy: #15294B;
41-
--body: #2E4057;
42-
--muted: #6B7F94;
43-
--red: #B91C1C;
44-
}
45-
* { box-sizing: border-box; }
46-
body {
47-
margin: 0;
48-
background: var(--bg);
49-
color: var(--body);
50-
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
51-
line-height: 1.7;
52-
-webkit-font-smoothing: antialiased;
53-
}
54-
header {
55-
background: var(--navy);
56-
border-bottom: 3px solid var(--red);
57-
padding: 1rem 2rem;
58-
}
59-
header a {
60-
color: #fff;
61-
text-decoration: none;
62-
font-weight: 700;
63-
letter-spacing: -0.01em;
64-
}
65-
header a span { color: rgba(255,255,255,0.5); font-weight: 400; }
66-
main { max-width: 820px; margin: 0 auto; padding: 3rem 2rem 4rem; }
67-
.eyebrow {
68-
font-size: 0.7rem;
69-
font-weight: 700;
70-
letter-spacing: 0.1em;
71-
text-transform: uppercase;
72-
color: var(--muted);
73-
margin: 0 0 0.5rem;
74-
}
75-
h1 {
76-
color: var(--navy);
77-
font-size: 1.875rem;
78-
letter-spacing: -0.02em;
79-
margin: 0 0 1.25rem;
80-
line-height: 1.25;
81-
}
82-
h2 {
83-
color: var(--navy);
84-
font-size: 1.125rem;
85-
letter-spacing: -0.01em;
86-
margin: 2.5rem 0 0.75rem;
87-
}
88-
p { margin: 0 0 1rem; }
89-
a { color: var(--red); }
90-
code {
91-
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
92-
font-size: 0.9em;
93-
background: #E3E9F0;
94-
padding: 0.1em 0.35em;
95-
border-radius: 3px;
96-
}
97-
pre {
98-
background: var(--navy);
99-
color: #E6EDF6;
100-
padding: 1.125rem 1.25rem;
101-
border-radius: 8px;
102-
overflow-x: auto;
103-
font-size: 0.85rem;
104-
line-height: 1.6;
105-
}
106-
pre code { background: none; padding: 0; color: inherit; font-size: inherit; }
107-
.uri {
108-
display: block;
109-
background: var(--surface);
110-
border: 1px solid var(--border);
111-
border-left: 3px solid var(--red);
112-
border-radius: 6px;
113-
padding: 0.875rem 1.125rem;
114-
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
115-
font-size: 0.9375rem;
116-
color: var(--navy);
117-
word-break: break-all;
118-
margin: 0 0 1.5rem;
119-
}
120-
.callout {
121-
background: var(--surface);
122-
border: 1px solid var(--border);
123-
border-left: 3px solid #C17817;
124-
border-radius: 6px;
125-
padding: 1rem 1.125rem;
126-
font-size: 0.9375rem;
127-
margin: 0 0 1.5rem;
128-
}
129-
.callout strong { color: var(--navy); }
130-
table { border-collapse: collapse; width: 100%; font-size: 0.9375rem; margin: 0 0 1.5rem; }
131-
th, td { text-align: left; padding: 0.625rem 0.75rem; border-bottom: 1px solid var(--border); }
132-
th { color: var(--navy); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; }
133-
footer {
134-
border-top: 1px solid var(--border);
135-
padding: 1.5rem 2rem;
136-
font-size: 0.875rem;
137-
color: var(--muted);
138-
text-align: center;
139-
}
140-
footer a { color: var(--body); }
141-
@media (max-width: 640px) {
142-
main { padding: 2rem 1.25rem 3rem; }
143-
header { padding: 0.875rem 1.25rem; }
144-
h1 { font-size: 1.5rem; }
145-
}
146-
</style>
35+
<link rel="stylesheet" href="/design-system.css?v=6">
14736
</head>
148-
<body>
149-
150-
<header>
151-
<a href="/">agentrust<span>.io</span></a>
37+
<body class="at-page">
38+
39+
<header class="site-header">
40+
<a class="wordmark" href="/">agentrust<span>.io</span></a>
41+
<nav>
42+
<a href="#adds">What it adds</a>
43+
<a href="#declare">Declaring support</a>
44+
<a href="#status">Status</a>
45+
<a class="cta" href="https://ca2a.agentrust-io.com">cA2A docs</a>
46+
</nav>
15247
</header>
15348

49+
<div class="hero"><div class="wrap">
50+
<span class="eyebrow">A2A extension</span>
51+
<h1>Confidential A2A<br>(cA2A) v0.1</h1>
52+
<p class="sub">This page is what the cA2A v0.1 extension URI resolves to. The URI is an identifier, not an endpoint: A2A agents put it in their Agent Card to advertise the profile, and clients echo it in the <code>A2A-Extensions</code> header to opt in.</p>
53+
<span class="uri">https://agentrust-io.com/extensions/ca2a/v0.1</span>
54+
</div></div>
55+
15456
<main>
155-
<p class="eyebrow">A2A Extension</p>
156-
<h1>Confidential A2A (cA2A) v0.1</h1>
15757

158-
<p>This page is what the cA2A v0.1 extension URI resolves to. The URI is an identifier, not an endpoint: A2A agents put it in their Agent Card to advertise the profile, and clients echo it in the <code>A2A-Extensions</code> header to opt in.</p>
58+
<section id="adds">
59+
<span class="label">What it adds</span>
60+
<h2>A trust envelope around a delegated task</h2>
15961

160-
<span class="uri">https://agentrust-io.com/extensions/ca2a/v0.1</span>
161-
162-
<div class="callout">
163-
<strong>No agent is served on this domain.</strong> agentrust-io.com and its subdomains publish specifications and documentation. They do not host an A2A agent, an MCP server, or a Signed Agent Card. The card linked below is a reference example whose interface URL points at <code>example.com</code> deliberately.
62+
<div class="callout caution">
63+
<p><strong>No agent is served on this domain.</strong> agentrust-io.com and its subdomains publish specifications and documentation. They do not host an A2A agent, an MCP server, or a Signed Agent Card. The card linked below is a reference example whose interface URL points at <code>example.com</code> deliberately.</p>
16464
</div>
16565

166-
<h2>What the extension adds</h2>
167-
16866
<p>A2A's Signed Agent Card answers one question: did the domain owner issue this card. cA2A adds a trust envelope around a delegated task, carried entirely in A2A extension metadata. It defines no new wire format and no new endpoint. Removing every cA2A key from a message leaves a valid A2A task, which is what lets a cA2A deployment interoperate with peers that have never heard of the profile.</p>
16967

170-
<table>
68+
<table style="margin-top:2.25rem;">
17169
<tr><th>A2A element</th><th>cA2A addition</th></tr>
17270
<tr><td>Agent Card</td><td>An attestation measurement expectation for the peer, checked before a task is accepted</td></tr>
17371
<tr><td>Task message</td><td>A delegation credential naming issuer, subject, scope, depth, and parent link</td></tr>
17472
<tr><td>Task payload</td><td>Sealing to the peer's attested measurement</td></tr>
17573
<tr><td>(none)</td><td>A per-hop provenance record linking to its parent, forming the delegation DAG</td></tr>
17674
</table>
75+
</section>
17776

178-
<h2>Declaring support</h2>
179-
77+
<section id="declare">
78+
<span class="label">Declaring support</span>
79+
<h2>One entry in the Agent Card</h2>
18080
<p>An agent supporting the profile advertises the URI under <code>capabilities.extensions</code> in its Agent Card:</p>
18181

18282
<pre><code>{
@@ -194,26 +94,47 @@ <h2>Declaring support</h2>
19494
<p><code>required</code> is <code>false</code> because the profile is an overlay. A cA2A peer must treat a message carrying no cA2A keys as ordinary A2A input rather than synthesise a partial trust state from their absence, so a card that advertises cA2A still serves plain A2A clients.</p>
19595

19696
<p>A complete reference card, valid against the A2A v1.0 <code>AgentCard</code> definition, is at <a href="/examples/ca2a-agent-card.json">/examples/ca2a-agent-card.json</a>.</p>
97+
</section>
19798

198-
<h2>Status</h2>
199-
99+
<section id="status">
100+
<span class="label">Status</span>
101+
<h2>Developer preview, stated plainly</h2>
200102
<p>cA2A v0.1 is a developer preview and will change shape before v1. The delegation chain is verified and the payload is sealed, but binding that seal to a hardware-verified peer measurement is not yet wired: the reference transport runs in software mode with <code>assurance="none"</code>. Running the peer path end to end off hardware is not evidence that cA2A is attested across trust domains.</p>
103+
</section>
201104

202-
<h2>Normative sources</h2>
203-
204-
<p>This page is orientation. The binding is specified in the cA2A documentation, and that is the text to implement against:</p>
205-
105+
<section id="normative">
106+
<span class="label">Normative sources</span>
107+
<h2>This page is orientation</h2>
108+
<p>The binding is specified in the cA2A documentation, and that is the text to implement against:</p>
206109
<ul>
207110
<li><a href="https://ca2a.agentrust-io.com/docs/spec/transport/">Transport binding</a>, including the namespaced metadata keys and what ships today versus what does not</li>
208111
<li><a href="https://ca2a.agentrust-io.com/docs/spec/profile/">Profile</a>, the normative requirements P-1 onward</li>
209112
<li><a href="https://ca2a.agentrust-io.com/docs/spec/threat-model/">Threat model</a></li>
210113
<li><a href="https://github.com/agentrust-io/ca2a">Source and reference implementation</a></li>
211114
</ul>
115+
<div class="actions">
116+
<a class="button" href="https://ca2a.agentrust-io.com">Read the specification</a>
117+
<a class="button secondary" href="https://github.com/agentrust-io/ca2a">Reference implementation</a>
118+
</div>
119+
</section>
120+
212121
</main>
213122

214-
<footer>
215-
<a href="/">AgenTrust</a> &middot; <a href="https://ca2a.agentrust-io.com">cA2A docs</a> &middot; <a href="https://github.com/agentrust-io/ca2a">GitHub</a>
216-
</footer>
123+
<footer class="site-footer"><div class="wrap">
124+
<div class="foot-in">
125+
<div class="foot-brand">
126+
<a class="wordmark" href="/">AgenTrust</a>
127+
<div class="tagline">Open standards for AI agent governance</div>
128+
</div>
129+
<div class="foot-links">
130+
<a href="/">Home</a>
131+
<a href="https://ca2a.agentrust-io.com">cA2A docs</a>
132+
<a href="https://github.com/agentrust-io/ca2a">GitHub</a>
133+
</div>
134+
</div>
135+
<div class="foot-legal">© 2026 AgenTrust Contributors · MIT licensed · agentrust-io.com</div>
136+
</div></footer>
217137

138+
<script src="/supernav.js"></script>
218139
</body>
219140
</html>

index.html

Lines changed: 1 addition & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -576,48 +576,6 @@
576576
border-top: 1px solid var(--border);
577577
}
578578

579-
/* ── Quick nav bar ── */
580-
.domain-nav {
581-
background: var(--surface);
582-
border-top: 1px solid var(--border);
583-
border-bottom: 1px solid var(--border);
584-
}
585-
.domain-nav-inner {
586-
max-width: 1100px;
587-
margin: 0 auto;
588-
padding: 0 2rem;
589-
display: flex;
590-
gap: 0;
591-
overflow-x: auto;
592-
}
593-
.domain-nav a {
594-
display: inline-flex;
595-
align-items: center;
596-
gap: 0.375rem;
597-
padding: 0.875rem 1.125rem;
598-
font-size: 0.85rem;
599-
font-weight: 500;
600-
color: var(--muted);
601-
text-decoration: none;
602-
border-bottom: 2px solid transparent;
603-
white-space: nowrap;
604-
transition: all 0.12s;
605-
}
606-
.domain-nav a:hover {
607-
color: var(--navy);
608-
border-bottom-color: var(--navy);
609-
}
610-
.domain-nav a.active {
611-
color: var(--red);
612-
border-bottom-color: var(--red);
613-
}
614-
.nav-dot {
615-
width: 7px;
616-
height: 7px;
617-
border-radius: 50%;
618-
flex-shrink: 0;
619-
}
620-
621579
/* ── Specs table ── */
622580
.spec-row {
623581
display: grid;
@@ -715,7 +673,7 @@
715673
.ecosystem-grid { grid-template-columns: 1fr; }
716674
}
717675
</style>
718-
<link rel="stylesheet" href="/design-system.css?v=f092cc0">
676+
<link rel="stylesheet" href="/design-system.css?v=6">
719677
</head>
720678
<body class="agentrust-hub">
721679

@@ -735,44 +693,6 @@
735693
</div>
736694
</header>
737695

738-
<!-- Domain Quick Nav -->
739-
<div class="domain-nav">
740-
<div class="domain-nav-inner">
741-
<a href="https://agentrust-io.com" class="active">
742-
<span class="nav-dot" style="background:#B91C1C;"></span>
743-
agentrust-io.com
744-
</a>
745-
<a href="/telemetry/">
746-
<span class="nav-dot" style="background:#EA580C;"></span>
747-
telemetry
748-
</a>
749-
<a href="https://trace.agentrust-io.com">
750-
<span class="nav-dot" style="background:#1B5EA0;"></span>
751-
trace
752-
</a>
753-
<a href="https://manifest.agentrust-io.com">
754-
<span class="nav-dot" style="background:#1B7A4A;"></span>
755-
manifest
756-
</a>
757-
<a href="https://cmcp.agentrust-io.com">
758-
<span class="nav-dot" style="background:#6D28D9;"></span>
759-
cmcp
760-
</a>
761-
<a href="https://ca2a.agentrust-io.com">
762-
<span class="nav-dot" style="background:#0D9488;"></span>
763-
ca2a
764-
</a>
765-
<a href="https://governance.agentrust-io.com">
766-
<span class="nav-dot" style="background:#EA580C;"></span>
767-
governance
768-
</a>
769-
<a href="https://github.com/microsoft/agent-governance-toolkit">
770-
<span class="nav-dot" style="background:#6B7F94;"></span>
771-
agt ↗
772-
</a>
773-
</div>
774-
</div>
775-
776696
<!-- Hero -->
777697
<div class="fellowship" data-fellowship-banner data-closes="2026-08-30T00:00:00-07:00">
778698
<div class="fellowship-inner">

0 commit comments

Comments
 (0)