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

100 lines
3.3 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.002.md -->
<!-- version: 1 -->
# Delta `0.3.3-pre.003-fix.002` — correctif compilation et ownership du contrat PostgreSQL
## 1. Base et objectif
Ce correctif sapplique **par-dessus `0.3.3-pre.003-fix.001`**. Le gate opérateur de `fix.001` a confirmé que les audits Rust/Markdown étaient propres, mais a échoué sur deux défauts localisés :
1. `schema.rs` transmettait un `&str` directement dans deux slices de paramètres `tokio-postgres`, alors que le cast vers `&(dyn ToSql + Sync)` nécessite ici un `&&str` ;
2. cinq constantes internes du contrat de colonnes commençaient par `KSP_`, namespace que les canaris Config réservent aux variables denvironnement runtime, ce qui provoquait à la fois un refus downership Store et une fausse exigence `.env.example`.
Version workspace après application :
```text
0.3.3-pre.3.fix.2
```
Identifiant de livraison :
```text
0.3.3-pre.003-fix.002
```
## 2. Correctifs
### 2.1 Paramètres catalogue `tokio-postgres`
Les deux appels concernés deviennent :
```text
transaction.query(UNEXPECTED_CONSTRAINTS_SQL, &[&table])
transaction.query(UNIQUE_INDEXES_SQL, &[&table])
```
Aucune requête SQL ni logique dintrospection nest modifiée.
### 2.2 Namespace `KSP_` réservé à Config
Les constantes privées suivantes sont renommées sans changer leur contenu :
```text
KSP_STORE_SCHEMA_MIGRATIONS_COLUMNS -> STORE_SCHEMA_MIGRATIONS_COLUMNS
KSP_STORE_IDENTITY_COLUMNS -> STORE_IDENTITY_COLUMNS
KSP_RAW_TRANSACTIONS_COLUMNS -> RAW_TRANSACTIONS_COLUMNS
KSP_RAW_TRANSACTION_OBSERVATIONS_COLUMNS -> RAW_TRANSACTION_OBSERVATIONS_COLUMNS
KSP_RAW_TRANSACTION_ARCHIVE_PAYLOADS_COLUMNS -> RAW_TRANSACTION_ARCHIVE_PAYLOADS_COLUMNS
```
Le test ownership nest pas assoupli et `.env.example` nest pas pollué par de faux noms runtime.
## 3. Invariants inchangés
Ce fix ne modifie aucune ressource SQL. Larborescence V000/V001, lordre embedded, le binding réseau et le contrat `Compatible/Missing/Incompatible` restent inchangés.
Checksums attendus inchangés :
```text
V000 d29068b8c13b9dc0cc9ef6aaadd0fa12d41e0fe4c56541a1118c4bfc846a1450
V001 31488cda2f08f3f46c4cdbdbb6c18c243662fada02eac4487040c8735d72cc51
```
## 4. Fichiers modifiés
- `Cargo.toml`
- `crates/ksp-store-postgres-lib/src/schema.rs`
- `docs/validation/020-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION.md`
## 5. Fichier ajouté
- `deltas/0.3.3/pre.003-fix.002.md`
## 6. Suppressions
Aucune suppression supplémentaire dans `fix.002`. Les deux suppressions demandées par `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 du delta par-dessus `fix.001` :
```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 ne doit être considéré validé quaprès gate Cargo opérateur vert.