Files
khadhroony-solana-project/deltas/0.2.5/pre.010.md
2026-08-20 09:58:14 +02:00

222 lines
5.8 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.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`.