{"record":{"id":"fb12d6aaccf80166","repo":"nautechsystems/nautilus_trader","slug":"execution-intent-uses-unsupported-schema-versio","errorCode":null,"errorMessage":"Execution intent {} uses unsupported schema version {}","messagePattern":"Execution intent (.+?) uses unsupported schema version (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/adapters/blockchain/src/execution/client.rs","lineNumber":1147,"sourceCode":"            .acquire_execution_payload_lease(self.payload_keys.as_deref().ok_or_else(|| {\n                anyhow::anyhow!(\"Protected payload keys are required for execution recovery\")\n            })?)\n            .await?;\n        let wallet_address = self.wallet_address.to_string();\n        anyhow::ensure!(\n            !database\n                .has_recoverable_signed_execution(self.chain.chain_id, &wallet_address)\n                .await?,\n            \"A recoverable execution for wallet {} retains signed transaction bytes; refusing to reuse its nonce without explicit recovery\",\n            self.wallet_address\n        );\n        let Some(intent) = database\n            .get_active_execution_intent(self.chain.chain_id, &wallet_address)\n            .await?\n        else {\n            return Ok(());\n        };\n        anyhow::ensure!(\n            intent.schema_version == crate::execution::transaction::EXECUTION_SCHEMA_VERSION,\n            \"Execution intent {} uses unsupported schema version {}\",\n            intent.id,\n            intent.schema_version\n        );\n\n        if intent.status == \"prepared\" {\n            database\n                .mark_execution_intent_recoverable(intent.id)\n                .await?;\n            release_preparing_slot(&self.in_flight);\n            return Ok(());\n        }\n\n        let purpose = TransactionPurpose::parse(&intent.purpose).ok_or_else(|| {\n            anyhow::anyhow!(\n                \"Execution intent {} has unknown purpose {}\",\n                intent.id,","sourceCodeStart":1129,"sourceCodeEnd":1165,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/blockchain/src/execution/client.rs#L1129-L1165","documentation":"The persisted execution intent's schema_version does not match the EXECUTION_SCHEMA_VERSION compiled into this build. The client cannot safely interpret or replay intents written by an incompatible version, so reconciliation aborts.","triggerScenarios":"connect() -> reconcile_unresolved_execution() loads get_active_execution_intent() and its schema_version differs from crate::execution::transaction::EXECUTION_SCHEMA_VERSION.","commonSituations":"Upgrading/downgrading the software while an intent from the old version is still active in the database; database shared between deployments running different versions.","solutions":["Drain or resolve the active execution intent with the software version that wrote it before upgrading","Migrate the persisted intent row to the current schema version using an upgrade/migration path","Roll back to the binary version matching the intent's schema_version to finish recovery","Start with a clean execution database only after verifying no in-flight funds depend on the old intent"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"let intent = database.get_active_execution_intent(chain_id, &wallet).await?;\nif let Some(i) = &intent {\n    if i.schema_version != EXECUTION_SCHEMA_VERSION {\n        // resolve/migrate before connecting\n    }\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Drain active intents before upgrading binaries","Keep one database per software version, or run migrations on deploy","Check schema_version at startup with a clear upgrade plan"],"tags":["blockchain","schema","versioning","migration"],"backgroundTag":"schema-version-mismatch","analyzedSha":"18893faf8b356be3320add8de2f861b0b647cf06","analyzedAt":"2026-09-08T20:49:34.690Z","contentChangedAt":"2026-09-08T20:49:34.690Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}