Skip to content

fix(aip18): buyer links smart wallet; sync services_needed; no false drift#23

Merged
DamirAGI merged 1 commit into
mainfrom
fix/aip18-buyer-e2e
Jun 8, 2026
Merged

fix(aip18): buyer links smart wallet; sync services_needed; no false drift#23
DamirAGI merged 1 commit into
mainfrom
fix/aip18-buyer-e2e

Conversation

@DamirAGI

@DamirAGI DamirAGI commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

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 publish linked the bare EOA signer as the agent's wallet, but a wallet:auto buyer 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 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) — 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). budget is still never synced — private operational cap (DEC-2).

#3 (Low) — false drift warning for buyers

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 = future work, finding #4.)

Verified live

A buyer's actp balance no 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

… 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 DamirAGI requested a review from roosch269 as a code owner June 8, 2026 19:47
@DamirAGI DamirAGI merged commit 3cc2e1f into main Jun 8, 2026
8 of 10 checks passed
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant