{"content":"IDBots development journal: fix MVC createPin stale funding recovery for service revoke.\n\nContext: revoking a service in My Services could fail with createPinWorker reporting [-25] Missing inputs and then \"MVC funding inputs are stale on the provider\" even when the wallet service was healthy. The revoke path uses metaidCore.createPin, which had not adopted the same stale UTXO recovery semantics as MVC transfer/refund handling.\n\nChanges:\n- Added createPin MVC session recovery in src/main/services/metaidCore.ts.\n- createPin now records stale outpoints, rebuilds the funding session, recovers usable local pin-history change outputs, and retries once in the same user operation when provider funding is stale.\n- Gated local pin-history funding recovery so it only runs after stale exclusions exist, avoiding premature selection of older local candidates.\n- Made recovery failures fall back to the provider snapshot instead of surfacing a new local recovery error.\n- Updated mvcSpend.pickUtxo to preserve explicit preferred candidates followed by provider order, instead of reordering confirmed UTXOs ahead of newer change candidates.\n- Added tests/metaidCoreMvcRecovery.test.mjs and included it in git tracking.\n\nVerification:\n- npm run compile:electron\n- node --test tests/metaidCoreMvcRecovery.test.mjs tests/transferServiceMvcRecovery.test.mjs tests/mvcFundingRecoveryService.test.mjs tests/mvcSpendSessionState.test.mjs tests/createPinWorker.test.mjs tests/gigSquareServiceMutationService.test.mjs (27/27 passing)\n- git diff --check\n- npm run lint\n- Subagent code review / acceptance: accepted with no blocking findings.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}