2.7 KiB
Delta 0.3.15-pre.012-fix.001
Base
base archive : ksp-general-0.3.15-pre.012.zip
base SHA-256 : 627a1152e3c5d97517dfbe7de630ca47dc52fd2c3b7683a325b52cfea7291331
base version : 0.3.15-pre.12
Motif du fix
Le gate opérateur du 16 septembre 2026 a révélé un défaut de compilation dans la nouvelle protection stale-inventory de pre.012. AppState::start_route gardait un std::sync::MutexGuard<u32> dans la portée du futur jusqu'au await de start_route_runtime. Tauri exige un futur Send pour une commande async ; le Desk échouait donc à compiler avec :
future returned by `start_route` is not `Send`
std::sync::MutexGuard<'_, u32> is not `Send`
Les audits Rust/Markdown étaient propres et les tests Worker continuaient de passer, mais cargo check, Clippy, les tests Desk/workspace et cargo tauri dev étaient bloqués par cette erreur.
Correction
La préparation Start synchrone est maintenant enfermée dans une portée lexicale :
let prepared = {
lock generation
revalidate + reconstruct Config/Transport
return prepared value
};
await start_route_runtime(...)
Le guard de génération est ainsi détruit structurellement avant le premier await. La protection stale-inventory de pre.012 est conservée : aucune nouvelle génération ne peut être publiée entre le contrôle et la reconstruction synchrones.
Un canari de compilation impose désormais Future + Send au futur AppState::start_route, et le canari desktop vérifie la portée lexicale au lieu d'accepter std::mem::drop(generation) comme preuve suffisante.
Version
workspace.package.version : 0.3.15-pre.12.fix.1
root Cargo header counter : 623
Frontières
Aucun changement de comportement pour :
Start / Stop / shutdown
Config / Transport / Store
Worker / Common RAW
monitoring frontend
acquisition / replay / repair
IPC security contract
Validation d'assemblage
Exécuté dans l'environnement d'assemblage : contrôles statiques ciblés du diff, inventaire du delta, intégrité ZIP et reconstruction byte-exact à partir de pre.012.
Cargo/rustfmt ne sont pas disponibles dans cet environnement. Les gates Cargo de ce fix restent à confirmer par l'opérateur.
Inventaire exact du delta
Ajout :
deltas/0.3.15/pre.012-fix.001.md
Modifications :
Cargo.toml
crates/ksp-app-raw-transaction-ingest-desk/src/app_state.rs
crates/ksp-app-raw-transaction-ingest-desk/tests/desktop_contract.rs
crates/ksp-app-raw-transaction-ingest-desk/unit_tests/route_runtime.rs
docs/validation/032-V0_3_15_RAW_TRANSACTION_INGEST_DESK.md
Suppressions : aucune.