# Delta v0.3.15-pre.014-fix.003 — resserrement du canari Store `CompatibleLessComplete` ## Base requise ```text ksp-general-0.3.15-pre.014-fix.002.zip SHA-256 : 4998f938a2b10835429e345edf9e94bc5d7364da88d1e509b8313d316db69d7c bytes : 31529 ``` ## Cause Le gate opérateur de `pre.014-fix.002` confirme la correction de typage et progresse jusqu'aux tests d'intégration `ksp-store-postgres-lib`. L'unique échec restant est le canari `v0_3_15_pre_014_fix_001_truncated_log_compatibility_is_narrow_and_keeps_canonical_content`. Le canari interdisait `UPDATE ksp_raw_transactions SET payload` dans tout `src/raw_transaction.rs`. Cette condition est trop large : le backend contient déjà légitimement cette instruction dans la transition de rétention/archive, indépendamment du chemin de compatibilité des `logMessages` tronqués. Le test produisait donc un faux positif. ## Correction Le canari borne désormais son inspection au corps de `compare_existing_transaction()`, depuis sa déclaration jusqu'à la déclaration de `raw_transaction_incoming_truncated_log_messages_compatible()`. Il exige toujours la branche `ExistingTransactionMatch::ActiveIncomingTruncatedLogs` et vérifie uniquement dans ce chemin de décision qu'aucune réécriture SQL du payload canonique et aucune suppression de transaction n'existent. Aucun fichier de production n'est modifié. Aucun changement de schéma, Store runtime, Transport, Worker, API publique ou politique de conflit n'est introduit. ## Validation opérateur ```bash cargo fmt --all cargo fmt --all -- --check python3 scripts/audit_rust_workspace_rules.py python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas/0.3.15 cargo check --workspace cargo clippy --workspace --all-targets --all-features -- -D warnings cargo test -p ksp-store-postgres-lib --all-targets --all-features cargo test -p ksp-worker-raw-transaction-ingest-lib --all-targets --all-features cargo test -p ksp-app-raw-transaction-ingest-desk --all-targets --all-features cargo test --workspace --all-targets --all-features ``` Le live n'est pas requis pour ce fix de canari. Le prochain live prolongé appartient à la prerelease acquisition dédiée au backpressure Yellowstone.