Files
khadhroony-solana-project/deltas/0.3.2/pre.004-fix.001.md

3.1 KiB

Delta 0.3.2-pre.004-fix.001 — Store targets réseau-spécifiques + gate fixes

1. Base

Base exacte : 0.3.2-pre.004. Le gate opérateur du 29 août 2026 confirme cargo check, les tests Config/Store principaux et les trois builds Tauri, mais révèle :

1 warning Clippy collapsible_if dans ksp-config-lib/unit_tests/store.rs
1 échec Config Desk : fixture cfg.std.store absente

La discussion de design menée pendant ce gate confirme aussi qu'une instance Store ne doit jamais multiplexer plusieurs réseaux.

2. Décision target/réseau

Le mécanisme de profiles Config existant devient directement le mécanisme de targets Store nommés :

profile_id      = target Store nommé
default_profile = target autonome
profile forcé   = target explicitement imposé par job/worker/app
1 target        = 1 network + 1 backend + 1 URI/base
1 StoreSettings = 1 RawNetworkId + 1 backend

ksp-store-lib ne contient aucun registry ni routeur multi-target. Pour changer de réseau, le consumer résout un autre profile std.store puis ouvre une autre instance Store.

3. Targets committed

devnet  -> network devnet       -> KSP_SECRET_STORE_DEVNET_POSTGRES_URI  -> ksp_devnet
mainnet -> network mainnet-beta -> KSP_SECRET_STORE_MAINNET_POSTGRES_URI -> ksp_mainnet
testnet -> network testnet      -> KSP_SECRET_STORE_TESTNET_POSTGRES_URI -> ksp_testnet

default_profile = devnet, cohérent avec le défaut Transport et plus sûr pour les workflows de développement. Le schema reste extensible à d'autres targets/réseaux sûrs.

4. Deuxième protection réseau

StoreSettings exige désormais un RawNetworkId. Les futures opérations RAW devront rejeter avant I/O toute identité/query dont le réseau ne correspond pas au réseau de l'instance Store. Cette vérification ne route jamais automatiquement vers un autre target.

5. Correctifs de gate

  • collapse du if let imbriqué signalé par Clippy ;
  • ajout de crates/ksp-config-lib/unit_tests/fixtures/std.store.json ;
  • Config Desk vérifie désormais explicitement que cfg.std.store appartient à l'inventaire profilé ;
  • tests Config ajoutés pour la sélection explicite et indépendante de devnet, mainnet et testnet.

6. Version

workspace.package.version = 0.3.2-pre.4.fix.1

7. Gate opérateur

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.2
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-config-lib
cargo test -p ksp-store-lib
cargo test -p ksp-store-lib --no-default-features
cargo check -p ksp-store-lib --no-default-features
cargo test -p ksp-app-config-desk

Les trois builds Tauri pre.004 sont déjà verts et les resources packagées ne changent pas dans ce fix.

8. Suite

Après gate propre, pre.005 peut ouvrir la connexion PostgreSQL physique. Elle consommera un seul target/réseau déjà résolu ; aucun multiplexage réseau n'est à introduire.