v0.2.5-pre.010

This commit is contained in:
2026-08-20 09:58:14 +02:00
parent e91bf36e9e
commit 5bf9651038
15 changed files with 1363 additions and 43 deletions

221
deltas/0.2.5/pre.010.md Normal file
View File

@@ -0,0 +1,221 @@
<!-- file: deltas/0.2.5/pre.010.md -->
<!-- version: 1 -->
# Delta `0.2.5-pre.010`
## Objet
Clôturer documentairement `0.2.5 — Wallet foundation` après le gate security/interoperability/compliance `pre.009` validé, sans modifier le code de production, les dépendances, la cryptographie ni le wire `.kspwallet` V1.
Cette tranche prépare la candidate de publication `rel.001` et le prompt d'ouverture de `0.2.6 — Wallet Desk`.
## Base validée
Base fonctionnelle :
```text
0.2.5-pre.009
workspace.package.version = 0.2.5-pre.9
```
Checkpoint opérateur communiqué le 2026-08-19 :
```text
cargo fmt --all OK
cargo check --workspace OK, aucun warning
cargo clippy --workspace --all-targets OK, aucun warning
cargo test -p ksp-wallet-lib OK
unit 58 passed / 1 ignored
dependency_boundary 3 passed
public_api 9 passed
doctests 2 passed
cargo test --workspace OK
```
Audit inverse final communiqué :
```text
ed25519-dalek 2.2.0
<- ksp-wallet-lib
<- solana-keypair 3.1.2 <- ksp-wallet-lib
solana-keypair 3.1.2
<- ksp-wallet-lib uniquement comme parent KSP direct
solana-address 2.7.0
<- solana-keypair 3.1.2
<- solana-pubkey 4.3.0 via ksp-core-lib
```
Aucune remédiation de code, dépendance ou wire n'est requise par ce checkpoint.
## Version Cargo
`pre.010` est **strictement documentaire**. Conformément à la règle KSP faisant de `workspace.package.version` un signal technique, `Cargo.toml` n'est pas modifié et reste :
```text
0.2.5-pre.9
```
La livraison/delta reste néanmoins identifiée :
```text
0.2.5-pre.010
```
`0.2.5-rel.001` effectuera le passage Cargo vers `0.2.5` lors de la publication stable.
## Documentation Wallet ajoutée
### `crates/ksp-wallet-lib/README.md`
Ajoute la synthèse consumer-facing de Wallet :
- responsabilités et hors-périmètre ;
- dépendances et frontières KSP ;
- états Locked/VIEW/OWNER ;
- format V1 et primitives ;
- persistence/no-clobber/state conflict ;
- import/export ;
- threat model et limites ;
- fixtures/tests et liens durables.
### `crates/ksp-wallet-lib/USAGE.md`
Ajoute des exemples des surfaces publiques :
```text
create_wallet_file_v1
inspect_locked_wallet_file_v1
open_wallet_view_file_v1
open_wallet_owner_file_v1
WalletOwner::sign
metadata administration
OWNER/VIEW password rotation
disable/recreate VIEW
inspect/import transfer
OWNER export
surfaces in-memory
```
Le guide rappelle explicitement que les octets d'export contiennent le secret et que Config/Transport restent hors de Wallet.
## Spécification et validation finales
`docs/formats/KSPWALLET_V1.md` passe en candidate documentaire finale :
- toutes les tranches `pre.006``pre.010` sont indiquées acquises ;
- aucune opération V1 n'est encore annoncée comme restant à implémenter ;
- la boundary async KDF est décrite au présent ;
- le tree final est rattaché au gate `pre.009` ;
- une section de statut de clôture rappelle que `rel.001` ne doit pas changer le wire.
`docs/validation/008-V0_2_5_WALLET_SECURITY_COMPLIANCE.md` devient la matrice finale :
- ajoute les résultats opérateur `pre.009` ;
- enregistre les convergences Dalek/Solana-address/keypair ;
- ajoute le gate documentaire `pre.010` ;
- porte le verdict final candidate positif ;
- pointe vers `rel.001` strictement publicationnelle.
## Graphes et plans
Le graphe Wallet documente désormais les dépendances réelles et rappelle :
```text
Pubkey -> ksp-core-lib
Keypair -> encapsulée dans ksp-wallet-lib
Wallet -X-> Config/Transport/Tauri/Store/tracing direct/env
```
ROADMAP, séquence fonctionnelle, plan `0.2.5`, indices formats/validation/docs et prompts sont synchronisés sur :
```text
pre.010 acquis
rel.001 prochaine étape
0.2.6 Wallet Desk ensuite
```
## Prompt `0.2.6`
Ajoute :
```text
prompts/011-V0_2_6_START_PROMPT.md
```
Le prompt impose `0.2.6-pre.001` comme gate d'audit/sizing avant UI lourde et cadre notamment :
- `ksp-app-wallet-desk` Tauri mince ;
- composition Config composite + Wallet + HTTP ;
- besoin minimal identité autorisée + `getBalance` ;
- audit d'un `std.wallet` minimal sans secret ;
- handles VIEW/OWNER possédés côté Rust ;
- passwords éphémères et aucun secret en Config/frontend persistence ;
- inventory/path safety ;
- administration OWNER via les APIs Wallet existantes ;
- logging Tauri via l'écosystème tracing KSP ;
- TS-RS uniquement à la frontière applicative ;
- smoke Devnet de composition possible dans l'app ;
- `cargo tauri build` comme dernière validation.
## Fichiers
Ajoutés :
```text
crates/ksp-wallet-lib/README.md
crates/ksp-wallet-lib/USAGE.md
prompts/011-V0_2_6_START_PROMPT.md
deltas/0.2.5/pre.010.md
```
Modifiés :
```text
ROADMAP.md
docs/000-README.md
docs/architecture/005-DEPENDENCY_GRAPH.md
docs/formats/000-README.md
docs/formats/KSPWALLET_V1.md
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
docs/plans/012-V0_2_5_WALLET_FOUNDATION_PLAN.md
docs/validation/000-README.md
docs/validation/008-V0_2_5_WALLET_SECURITY_COMPLIANCE.md
prompts/000-README.md
```
Total delta : **14 fichiers**.
## Contrôles attendus
Le delta étant documentaire, aucun `cargo tree` supplémentaire n'est requis. Le checkpoint de clôture recommandé reste :
```bash
cargo fmt --all
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-wallet-lib
cargo test --workspace
```
Vérifications documentaires :
```text
liens Markdown relatifs valides
aucun fichier Rust modifié
Cargo.toml identique à pre.009
workspace.package.version toujours 0.2.5-pre.9
README/USAGE/spec/validation/plan/prompt cohérents
```
## Suite
Si le checkpoint reste vert :
```text
commit : v0.2.5-pre.010
next : 0.2.5-rel.001
```
Aucun tag stable n'est créé pour `pre.010`.