From c50bbf61d3cebde43527814bb5b983b672f9a182 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 23 Jun 2026 07:31:22 +0000 Subject: [PATCH] fix(b20): correct link_method for candidate wallet match in linkTokenToAgent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Case 3 (issuer wallet in agent wallet list but not manifest-declared) was incorrectly setting method to "manifest". Changed to "none" — the agent link is still captured via agentName/confidence:candidate. deriveManifestStatus correctly returns "candidate" via the agentName null-check regardless. Co-Authored-By: Claude Sonnet 4.6 Claude-Session: https://claude.ai/code/session_01RHDXdEbGQsn88zks713gye --- src/lib/b20-client.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/b20-client.ts b/src/lib/b20-client.ts index 1409d5f..f04123b 100644 --- a/src/lib/b20-client.ts +++ b/src/lib/b20-client.ts @@ -349,13 +349,14 @@ export function linkTokenToAgent( }; } - // 3. candidate: issuer wallet appears in any agent's wallet list (not manifest) + // 3. candidate: issuer wallet appears in any agent's wallet list (not manifest-declared) + // method stays "none" — no confirmed link method exists until .agent/wallets.json is submitted const byWallet = agents.find((a) => (a.wallets ?? []).some((w) => w.address.toLowerCase() === issuerLower), ); if (byWallet) { return { - method: "manifest", + method: "none", confidence: "candidate", agentName: byWallet.name, agentSlug: toSlug(byWallet.name),