# 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 : ```text 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 : ```text 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 ```text 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 ```text workspace.package.version = 0.3.2-pre.4.fix.1 ``` ## 7. Gate opérateur ```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.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.