4.3 KiB
Delta 0.3.16-pre.008-fix.001 — fermeture Clippy du live proof PostgreSQL
Base requise
0.3.16-pre.008 appliqué
workspace.package.version = 0.3.16-pre.8
Le gate opérateur de pre.008 confirme que les audits Rust/Markdown, cargo check --workspace, les suites Store API, Store façade, PostgreSQL, Job Backfill et Worker sont propres. Le live proof postgres_raw_transaction_live passe également sur PostgreSQL 17 avec un URI dédié fourni sur stdin.
Le seul blocage restant est Clippy workspace/all-targets/all-features sous -D warnings, qui détecte trois éléments morts dans le test live :
LIVE_OBSERVATION_EXISTS_SQL
LivePersistResult::BackendError(PostgresBackendErrorKind)
observation_exists(...)
Ces éléments ne participent à aucun scénario pre.008 et leur suppression ne modifie ni le runtime, ni les migrations, ni les invariants du live proof.
Version
workspace.package.version = 0.3.16-pre.8.fix.1
Correction
Le test live PostgreSQL est nettoyé comme suit :
- suppression de
LIVE_OBSERVATION_EXISTS_SQL, inutilisé ; - suppression du helper privé
observation_exists(...), inutilisé ; LivePersistResult::BackendError(PostgresBackendErrorKind)devientLivePersistResult::BackendError, car aucun scénario ne lit lePostgresBackendErrorKindcapturé ;persist_once(...)conserve la distinction succès/erreur mais projette toute erreur backend vers le variant unitaireBackendError.
Les scénarios live ajoutés par pre.008 restent inchangés, notamment :
concurrence divergente -> InsertedCanonical + QuarantinedConflict
rollback tardif -> aucune variante/conflict case orphelin
selector -> cohérent avec la projection V001
Fichiers modifiés
Cargo.toml
crates/ksp-store-postgres-lib/tests/postgres_raw_transaction_live.rs
Fichier ajouté
deltas/0.3.16/pre.008-fix.001.md
Fichiers supprimés
aucun
Validation opérateur déjà observée avant ce fix
Le live proof suivant a été exécuté avec succès sur PostgreSQL 17 :
read -rsp 'PostgreSQL URI: ' KSP_TEST_POSTGRES_URI
printf '\n'
printf '%s\n' "$KSP_TEST_POSTGRES_URI" \
| cargo test -p ksp-store-postgres-lib \
--test postgres_raw_transaction_live \
-- --ignored --nocapture
unset KSP_TEST_POSTGRES_URI
Résultat observé :
KSP Store RawTransaction live proof: server major 17
test pre_009_real_postgres_raw_transaction_vertical_slice_is_atomic_concurrent_and_recoverable ... ok
1 passed; 0 failed
Validations exécutées lors de la génération
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
Le toolchain Rust n'est pas installé dans l'environnement de génération. cargo fmt, cargo check, Clippy et les tests Cargo ne sont donc pas déclarés exécutés ici.
Gate opérateur demandé
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
cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test -p ksp-store-api --all-targets --all-features
cargo test -p ksp-store-lib --all-targets --all-features
cargo test -p ksp-store-postgres-lib --all-targets --all-features
cargo test -p ksp-job-backfill-lib --all-targets --all-features
cargo test -p ksp-worker-raw-transaction-ingest-lib --all-targets --all-features
Le live proof PostgreSQL n'a pas besoin d'être rejoué pour corriger ces warnings, mais peut l'être sur une base dédiée vide si une seconde preuve opérateur est souhaitée.
Décisions prises
- aucun
#[allow(dead_code)]ni#[expect(dead_code)]n'est ajouté pour masquer les warnings ; - le code mort est retiré plutôt que toléré ;
- aucune logique runtime ni migration n'est modifiée ;
- le live proof déjà passé sur PostgreSQL 17 conserve ses scénarios et ses invariants.
Questions ouvertes
Aucune question bloquante.
Suite
Après gate propre : fermeture de 0.3.16-pre.008, puis 0.3.16-pre.009 pour la réconciliation documentaire finale.