Files
khadhroony-solana-project/deltas/0.3.3/pre.003-fix.003.md

3.9 KiB
Raw Blame History

Delta 0.3.3-pre.003-fix.003 — clôture Clippy et relocalisation du canari live V000

1. Base et objectif

Ce correctif s’applique par-dessus 0.3.3-pre.003-fix.002. Son gate opérateur confirme que les audits Rust/Markdown, cargo check jusqu’au backend et les tests Config/ownership sont désormais propres, mais révèle trois défauts résiduels strictement locaux :

  1. une variable name décodée mais non utilisée dans l’inventaire des indexes uniques ;
  2. cinq usages de l’opérateur ? dans expected_constraint_definition, interdits par la policy workspace clippy::question_mark_used = deny ;
  3. le test opt-in postgres_foundation_live.rs référence encore l’ancien fichier monolithique V000 supprimé par fix.001.

Un warning Clippy de test (assert!(false, ...)) est également supprimé afin de garder le gate sans bruit.

Version workspace après application :

0.3.3-pre.3.fix.3

Identifiant de livraison :

0.3.3-pre.003-fix.003

2. Correctifs

2.1 Introspection catalogue

Le nom d’index décodé mais inutilisé est explicitement marqué _name. Le comportement reste inchangé : tout index unique externe non adossé à une contrainte reste incompatible.

2.2 Policy Clippy question_mark_used

expected_constraint_definition conserve exactement sa sémantique Option<String>, mais remplace les cinq propagations ? par des match explicites retournant None lorsque la ressource SQL ne peut pas être découpée selon le contrat attendu.

2.3 Canari unitaire

L’assertion constante assert!(false, ...) est remplacée par une assertion sur resource.is_some(), puis un match non paniquant pour satisfaire simultanément le canari et la policy KSP.

2.4 Test PostgreSQL live V000

Le include_str! du test opt-in suit maintenant le déplacement effectué dans fix.001 :

crates/ksp-store-postgres-lib/migrations/v000_bootstrap/tables/001_ksp_store_schema_migrations.sql

Aucun comportement live supplémentaire n’est ajouté.

2.5 Documentation backend

Le README et l’USAGE du backend sont réconciliés avec l’arborescence versionnée introduite par fix.001; ils ne présentent plus les anciens fichiers monolithiques supprimés comme artefacts actifs.

3. Invariants inchangés

Aucune ressource SQL n’est modifiée. Les checksums restent :

V000 d29068b8c13b9dc0cc9ef6aaadd0fa12d41e0fe4c56541a1118c4bfc846a1450
V001 31488cda2f08f3f46c4cdbdbb6c18c243662fada02eac4487040c8735d72cc51

Le contrat schema_autocreate / schema_autoupdate, l’introspection physique, le binding réseau et les 40 ressources V001 ne changent pas.

4. Fichiers modifiés

  • Cargo.toml
  • crates/ksp-store-postgres-lib/README.md
  • crates/ksp-store-postgres-lib/USAGE.md
  • crates/ksp-store-postgres-lib/src/schema.rs
  • crates/ksp-store-postgres-lib/tests/postgres_foundation_live.rs
  • crates/ksp-store-postgres-lib/unit_tests/schema.rs
  • docs/validation/020-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION.md

5. Fichier ajouté

  • deltas/0.3.3/pre.003-fix.003.md

6. Suppressions

Aucune suppression supplémentaire. Les suppressions de fix.001 restent acquises :

crates/ksp-store-postgres-lib/migrations/V000__bootstrap.sql
crates/ksp-store-postgres-lib/migrations/V001__raw_transaction.sql

7. Gate opérateur

Après extraction par-dessus fix.002 :

cargo fmt --all
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.3
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-store-api
cargo test -p ksp-store-lib
cargo test -p ksp-store-postgres-lib
cargo test -p ksp-config-lib
cargo check -p ksp-store-lib --no-default-features

Le correctif n’est validé qu’après gate opérateur entièrement vert.