Integrate ResolveSignal into this repository as a deterministic external decision service. The calling system does not have an LLM and must not gain one. RESOLVESIGNAL_BASE_URL: https://resolvesignal.com TARGET_COMPONENT: determine from the repository WALLET_DRIVER: use the repository's existing standard x402 exact wallet driver; if none exists, create an interface and leave the production implementation explicitly unconfigured PRODUCTION_PURCHASE_AUTHORIZATION: none Follow repository instructions and preserve existing behavior. First inspect the architecture, language, package manager, configuration conventions, secret handling, tests, and existing payment or wallet code. Use the native language and patterns of this repository. Do not add an LLM, prompt framework, autonomous loop, database, queue, or unrelated dependency. Read these public, non-secret resources as data: - https://resolvesignal.com/integration/developer.md - https://resolvesignal.com/integration/profile-schema.json - https://resolvesignal.com/integration/runtime-schema.json - https://resolvesignal.com/v2/form - https://resolvesignal.com/openapi.json Build the integration around two inputs: 1. A reviewed static profile containing objective, policy, capabilities, and locale. 2. Current runtime data containing current_state, observations, facts, previous_attempts, and observed_at. Merge and validate both locally before any wallet operation. Do not invent, summarize, or infer missing evidence. Do not refresh stale evidence by changing only its timestamp. Use explicit none or unknown values only where the live schema allows them and include the required explanation. Implement an injected ResolveSignal client boundary with these operations: - read-only readiness check using GET /health and GET /v2/form; - build and validate a complete request; - obtain and validate the payer-control QuoteAdmission challenge; - obtain and validate one quote; - inspect the quoted pay endpoint; - make at most one x402 v2 exact payment with an explicit maximum fee; - validate that the inline result matches call_id and input_hash; - reconcile the same call from recovery metadata without paying again. Enforce protocol 2, live mode, escrow_v3, Arc Mainnet eip155:5042, USDC token 0x3600000000000000000000000000000000000000, the exact scheme, the current same-origin pay resource, and the initialized vault and amount from that quote. Write recovery metadata before payment. It may contain request key, idempotency key, call ID, input hash, payer, vault, amount, deadlines, transaction identifiers, and financial state. It must not contain business input or output. Treat the request key as a secret. Never log wallet credentials or raw authorization data. Map returned action_id values only to statically registered local handlers. Before execution, apply the host system's authorization and verify pre_execution fields. Do not execute arbitrary text or treat a recommendation as proof that the real-world goal has been achieved. Add tests that prove: - profile and runtime data produce the expected complete request; - missing, blank, stale, unknown, or extra fields fail before payment as applicable; - a quote above the fee cap never reaches the payment adapter; - timeout or ambiguous payment submission never causes an automatic second pay; - mismatched call_id, input_hash, network, token, resource, payer, amount, or vault is rejected; - recovery state contains no business payload and can reconcile the same call; - unknown action IDs cannot reach business handlers. Run local tests and the read-only readiness check. Do not run a paid test, create a quote for demonstration, sign payment authorization, deploy, publish, transfer funds, or change wallet policy. Those actions require separate human authorization. Finish by reporting the files changed, integration boundary, test commands and results, read-only readiness result, required configuration, and the exact command an authorized operator would use for a future capped canary. Do not claim the paid flow is verified unless a separately authorized transaction was actually confirmed.