fix(aip18): buyer links smart wallet; sync services_needed; no false drift#23
Merged
Conversation
… false drift Three real-world findings from end-to-end buyer onboarding (sdk@4.4.5): #2 (Medium) pay-only `actp publish` linked the bare EOA signer as the agent's wallet, but a wallet:auto buyer transacts via its Smart Wallet — so the agirails.app profile didn't match on-chain payments. Providers get the Smart Wallet from on-chain activation; a buyer skips activation, so we now read the address `actp init` derived into .actp/config.json and link THAT (EOA stays the signer; the web derives + verifies). The buyer-link marker records it too. #5 (Low) the publish→web sync config omitted services_needed, so the dashboard never saw what a buyer requests. Now included (opt-in semi-public, §7.1). budget is still never synced — it is a private operational cap (DEC-2). #3 (Low) checkConfigDrift compared the local file to the on-chain AgentRegistry and warned "Local config is ahead / not published" on every client startup for a pure buyer — which is never anchored on-chain by design (DEC-3). It now short-circuits for intent:pay (DB-based buyer reconcile is future work). Verified live: a buyer's `actp balance` no longer emits the drift warning and still initializes the gas-sponsored AutoWallet. tsc clean; 64 targeted tests green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
DamirAGI
added a commit
that referenced
this pull request
Jun 8, 2026
From real-world buyer onboarding testing: - pay-only link records the Smart Wallet (not the bare EOA) so the profile matches on-chain payments - publish→web sync now carries services_needed (budget stays private) - no false "config ahead / not published" drift warning for pure buyers Source merged in #23. Bump kept separate from in-flight 4.5.0 delivery work. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three real-world findings from end-to-end buyer onboarding on sdk@4.4.5 (live-tested against
testing-pay-agent).#2 (Medium) — buyer linked the EOA, not the Smart Wallet
Pay-only
actp publishlinked the bare EOA signer as the agent's wallet, but awallet:autobuyer transacts via its Smart Wallet → the agirails.app profile didn't match on-chain payments. Providers get the Smart Wallet from on-chain activation; a buyer skips activation, so we now read the addressactp initderived into.actp/config.jsonand link that (EOA stays the signer; the web derives + verifies). The buyer-link marker records it too.#5 (Low) — sync omitted services_needed
The publish→web sync config dropped
services_needed, so the dashboard never saw what a buyer requests. Now included (opt-in semi-public, §7.1).budgetis still never synced — private operational cap (DEC-2).#3 (Low) — false drift warning for buyers
checkConfigDriftcompared the local file to the on-chain AgentRegistry and warned "Local config is ahead / not published" on every client startup for a pure buyer — which is never anchored on-chain by design (DEC-3). It now short-circuits forintent: pay. (DB-based buyer reconcile = future work, finding #4.)Verified live
A buyer's
actp balanceno longer emits the drift warning (0 occurrences, was present on 4.4.5) and still initializes the gas-sponsored AutoWallet. tsc clean; 64 targeted tests green.Companion web PR fixes the owner-doc Step 4b template (finding #1). Builds on #20/#21/#22.
🤖 Generated with Claude Code