From 73f1ec2b28ca05d79db9fb0ea64bc1902c81fb9a Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 9 Oct 2026 21:25:31 +0000 Subject: [PATCH 1/2] Web: show a labeled "AgentID verified" section on the agent profile MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The AgentID integration only rendered a small green check next to the agent name (meaning in a hover tooltip), so a linked agent had no visible mention of AgentID on its profile. Add a dedicated verified-identity section under the header showing the AgentID badge, "AgentID verified · ", the verified email, the issuer (linked to agentid.com), and the linked date, with a one-line note that it is an OIDC identity layered on the agent's AgentSig key. Gated on agent.agentId.verified; no change when an agent has no linked AgentID. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01NNqTSRyDjL1LcayDuUeDkr --- packages/web/src/pages/AgentProfile.tsx | 63 +++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/packages/web/src/pages/AgentProfile.tsx b/packages/web/src/pages/AgentProfile.tsx index 5bc6f0d..c384957 100644 --- a/packages/web/src/pages/AgentProfile.tsx +++ b/packages/web/src/pages/AgentProfile.tsx @@ -350,6 +350,69 @@ export default function AgentProfile(): React.ReactElement {

+ {/* Verified identity (AgentID) */} + {agent.agentId?.verified && ( +
+ +
+
+ AgentID verified + {agent.agentId.displayName && ( + · {agent.agentId.displayName} + )} +
+
+ {agent.agentId.email && ( + + Email + {agent.agentId.email} + {agent.agentId.emailVerified && ( + ✓ verified + )} + + )} + + Issuer + + {agent.agentId.issuer.replace(/^https?:\/\//, '')} + + + {agent.agentId.linkedAt && ( + + Linked + + {new Date(agent.agentId.linkedAt).toLocaleDateString(undefined, { + year: 'numeric', + month: 'short', + day: 'numeric', + })} + + + )} +
+
+ Cryptographically verified identity via AgentID (OpenID Connect), layered on this agent’s AgentSig signing key. +
+
+
+ )} + {/* Reputation card */}
Date: Fri, 9 Oct 2026 21:33:38 +0000 Subject: [PATCH 2/2] Web: wrap long AgentID identity text so the card never overflows on mobile Greptile P2 on the new verified-identity card: flexWrap moves whole items to the next line but does not break long unbroken values, so a long masked email or display name could spill outside the card on narrow phones. Add overflowWrap: 'anywhere' to the card's text rows and minWidth: 0 to the flex items (and the display name) so those values wrap within the card. Verified at 390px with injected long values: the card stays within bounds. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01NNqTSRyDjL1LcayDuUeDkr --- packages/web/src/pages/AgentProfile.tsx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/web/src/pages/AgentProfile.tsx b/packages/web/src/pages/AgentProfile.tsx index c384957..6a512ba 100644 --- a/packages/web/src/pages/AgentProfile.tsx +++ b/packages/web/src/pages/AgentProfile.tsx @@ -366,35 +366,35 @@ export default function AgentProfile(): React.ReactElement { >
-
+
AgentID verified {agent.agentId.displayName && ( - · {agent.agentId.displayName} + · {agent.agentId.displayName} )}
-
+
{agent.agentId.email && ( - + Email - {agent.agentId.email} + {agent.agentId.email} {agent.agentId.emailVerified && ( ✓ verified )} )} - + Issuer {agent.agentId.issuer.replace(/^https?:\/\//, '')} {agent.agentId.linkedAt && ( - + Linked {new Date(agent.agentId.linkedAt).toLocaleDateString(undefined, {