Skip to content

v4.115.1

Choose a tag to compare

@github-actions github-actions released this 12 Oct 11:36
· 185 commits to main since this release

Fix: up no longer invents an idempotency key for the tier purchase or the faucet

Without a caller-supplied idempotencyKey, r.up() / run402 up / MCP up (and projects.provision with autoPrerequisites) derived one from the run's inputs. Every wallet running a default run402 up therefore sent the same Idempotency-Key on POST /tiers/v1/prototype, and a wallet that bought again within the gateway's 24-hour replay window was answered with its own earlier receipt instead of being charged.

  • The tier purchase and the faucet drip now carry a key only under a caller root key (action:<root>:tier.set, action:<root>:wallets.faucet), as the agent-cold-start-bootstrap spec requires. Without one, their step details.idempotency_key is null.
  • Re-running up after a crash stays safe: it reads tier.status() first and skips the purchase when the tier is already active.
  • The unused RUN402_IDEMPOTENCY_REQUIRED error is removed.

Pairs with the gateway change that scopes the tier route's replay cache to the signing wallet and the request body.

Full Changelog: v4.115.0...v4.115.1