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

108 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- file: deltas/0.3.3/pre.003-fix.003.md -->
<!-- version: 1 -->
# Delta `0.3.3-pre.003-fix.003` — clôture Clippy et relocalisation du canari live V000
## 1. Base et objectif
Ce correctif sapplique **par-dessus `0.3.3-pre.003-fix.002`**. Son gate opérateur confirme que les audits Rust/Markdown, `cargo check` jusquau 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 linventaire des indexes uniques ;
2. cinq usages de lopé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 lancien 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 :
```text
0.3.3-pre.3.fix.3
```
Identifiant de livraison :
```text
0.3.3-pre.003-fix.003
```
## 2. Correctifs
### 2.1 Introspection catalogue
Le nom dindex 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
Lassertion 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` :
```text
crates/ksp-store-postgres-lib/migrations/v000_bootstrap/tables/001_ksp_store_schema_migrations.sql
```
Aucun comportement live supplémentaire nest ajouté.
### 2.5 Documentation backend
Le README et lUSAGE du backend sont réconciliés avec larborescence 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 nest modifiée. Les checksums restent :
```text
V000 d29068b8c13b9dc0cc9ef6aaadd0fa12d41e0fe4c56541a1118c4bfc846a1450
V001 31488cda2f08f3f46c4cdbdbb6c18c243662fada02eac4487040c8735d72cc51
```
Le contrat `schema_autocreate` / `schema_autoupdate`, lintrospection 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 :
```text
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` :
```bash
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 nest validé quaprès gate opérateur entièrement vert.