v0.2.6-pre.009

This commit is contained in:
2026-08-21 12:35:01 +02:00
parent 7d03825ec6
commit 2b7afab663
17 changed files with 970 additions and 41 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/013-V0_2_6_WALLET_DESK_PLAN.md -->
<!-- version: 21 -->
<!-- version: 22 -->
# Plan `0.2.6` — Wallet Desk
@@ -1487,17 +1487,25 @@ Aucun changement nest apporté au picker natif, à `Zeroizing<Vec<u8>>`, aux
### `pre.009` — metadata OWNER
Objectifs :
Statut : **implémenté dans `0.2.6-pre.009`, validations opérateur à exécuter**.
Objectifs matérialisés :
```text
update alias
update alias / clear alias
notes add/update/delete
controls OWNER
projection refresh
wallet.state_conflict UX
DataTable/details coherence après mutation
controls strictement OWNER
projection autorisée rafraîchie après mutation
aucun mutex std::sync tenu pendant l'I/O async Wallet
wallet.state_conflict => purge handle stale + réinspection Locked + re-unlock obligatoire
DataTable/details cohérents après mutation
confirmation Bootstrap pour suppression de note
```
Les mutations délèguent directement à `WalletOwner::{update_alias, add_note, update_note, delete_note}`. Pendant la persistence async, le handle OWNER est déplacé hors du mutex `AppState` et remplacé par un état de réservation `OwnerOperation`; une sélection/désélection concurrente empêche donc la réinstallation d'un handle devenu obsolète. Les alias/textes de note ne sont jamais journalisés.
Un `wallet.state_conflict` n'est jamais retenté avec le même handle : Wallet Desk détruit l'OWNER stale, réinspecte le fichier courant sans KDF, revient au plus à `Locked`, puis le frontend purge Pubkey/alias/notes/balance et impose une nouvelle autorisation OWNER.
### `pre.010` — rotations credentials
Objectifs :
@@ -1556,7 +1564,21 @@ workspace checkpoint complet
Cette tranche doit produire la preuve que les surfaces ajoutées fonctionnent ensemble avant la documentation de clôture.
### `pre.014` — documentation finale, candidate build et prompt suivant
### `pre.014` — polish gabarit Bootstrap et splashscreen
Tranche explicitement réservée au retour visuel/opérateur avant la clôture. Le détail sera borné au moment de l'ouverture de cette tranche ; la liste actuelle est volontairement indicative :
```text
corrections du templating Bootstrap Wallet Desk
cohérence sizing/overflow des conteneurs desktop
splashscreen : suppression des scrollbars occasionnelles
régression visuelle splash -> main
réutilisation du gabarit commun sans déplacer de logique métier
```
Cette tranche n'est pas un prétexte pour refondre l'UX métier. Les détails précis des défauts et critères d'acceptation seront fournis par l'opérateur lorsqu'elle sera ouverte.
### `pre.015` — documentation finale, candidate build et prompt suivant
Dernière tranche prévue avant `rel.001` :
@@ -1574,7 +1596,7 @@ parcours fonctionnel cargo tauri dev final
cargo tauri build en toute dernière opération
```
Si le build final ou la documentation révèle une correction technique, utiliser `pre.014-fix.NNN` ou insérer une tranche supplémentaire. `pre.014` n'est pas une obligation de clôture artificielle.
Si le build final ou la documentation révèle une correction technique, utiliser `pre.015-fix.NNN` ou insérer une tranche supplémentaire. `pre.015` n'est pas une obligation de clôture artificielle.
### `rel.001` — publication stable