v0.3.2-pre.004-fix.001
This commit is contained in:
77
deltas/0.3.2/pre.004-fix.001.md
Normal file
77
deltas/0.3.2/pre.004-fix.001.md
Normal file
@@ -0,0 +1,77 @@
|
||||
<!-- file: deltas/0.3.2/pre.004-fix.001.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# 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.
|
||||
Reference in New Issue
Block a user