v0.1.0-pre.074-fix001

This commit is contained in:
2026-08-01 09:08:19 +02:00
parent f1e9d6069b
commit 621bf3d2c4
8 changed files with 455 additions and 203 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/audits/V0_4_6_ALIGNMENT_AUDIT.md -->
<!-- version: 1 -->
<!-- version: 2 -->
# Audit ciblé dalignement `0.4.6`
@@ -243,59 +243,161 @@ Les différences suivantes sont des choix bot3 validés, pas des régressions :
- maintien de `kb-app-demo-desktop` comme package mixte ;
- maintien dun wallet minimal avant sa complétion en `0.5.x`.
## 9. Blocants démontrés avant passage officiel à `0.4.6`
## 9. Blocants ou vérifications à clôturer avant passage officiel à `0.4.6`
### 9.1 Desktop et contrat Tauri
La checklist historique contient encore de nombreuses tâches non cochées. Certaines sont déjà réalisées mais non réconciliées, certaines appartiennent à `0.4.7+`, et dautres restent réellement à vérifier.
Il reste à obtenir une validation explicite et complète de :
La liste suivante remplace la précédente liste trop restrictive.
1. la synchronisation des adaptateurs Tauri et des payloads TS-RS avec les APIs réutilisables ;
2. la couverture des cycles douverture, fermeture et réouverture des fenêtres concernées.
### 9.1 Réconciliation de la checklist historique
### 9.2 Cycle de vie WebSocket
Avant toute conclusion finale :
Le code place la session WebSocket dans `AppState`, distinctement de la fenêtre, et expose des commandes explicites de statut, connexion, désabonnement et déconnexion.
- confronter chaque tâche non cochée à létat actuel du code, des tests et de la documentation ;
- cocher les tâches déjà prouvées ;
- retirer ou archiver les formulations obsolètes ;
- transférer vers les TODO ou le ROADMAP les travaux `0.4.7+` ;
- ne conserver comme blocants `0.4.6` que les écarts encore démontrables.
Il reste néanmoins à valider explicitement :
La checklist demande encore un alignement final sur `0.4.7`, ce qui ne correspond plus à la trajectoire décidée : clôture de migration en `0.4.6`, puis reprise séparée de `0.4.7`.
1. que fermer `demo_ws` ne ferme pas une session active ;
2. que rouvrir `demo_ws` récupère létat courant ;
3. que larrêt intervient uniquement sur déconnexion explicite, fermeture de lapplication ou timeout prévu.
### 9.2 Preuves Devnet du périmètre `0.4.6`
Ces validations doivent être couvertes par des tests ou une campagne reproductible avant retrait des tâches du TODO.
La validation ATA, SPL Token classique et Token-2022 est documentée comme réalisée dans le prompt de reprise, alors que la checklist historique conserve ces tâches ouvertes.
### 9.3 Validation complète dans le workspace réel
Il faut :
Avant le changement de version, exécuter :
- rattacher les preuves disponibles aux tâches correspondantes ;
- fermer ATA classique, ATA Token-2022, SPL Token classique et les huit opérations Token-2022 réellement validées ;
- conserver ElGamal comme exception conditionnelle et non comme validation manquante bloquante ;
- vérifier si le replay System Transfer et Memo v4 après changement de nomenclature a déjà été exécuté ou doit être rejoué.
### 9.3 Nomenclature et contrats persistés
Vérifier avant alignement :
- laudit empêchant la réintroduction des anciennes identités persistées ;
- létat réel de la base Devnet après changement de nomenclature ;
- laudit Python final de nomenclature ;
- la cohérence entre matrices actives et registres compilés pour les surfaces `0.4.6`.
La réévaluation complète de chaque matrice lors de futures surfaces nest pas un blocant global `0.4.6`.
### 9.4 Règles et documentation active
Clôturer :
- la lecture croisée finale des règles ;
- la suppression des demandes historiques sans valeur normative ;
- la vérification quaucun document actif ne raconte encore la migration comme dépendance conceptuelle nécessaire ;
- la confirmation que les README et USAGE des onze crates correspondent à létat actuel ;
- la documentation de reconstruction PostgreSQL encore explicitement demandée par la checklist.
Linventaire complet Program IDs/IDL peut être traité ultérieurement, après rescan des archives, sauf lorsquune source est nécessaire pour valider une surface `0.4.6`.
### 9.5 Desktop, Tauri et interface
Vérifier explicitement :
- synchronisation Tauri/TS-RS ;
- cycles douverture, fermeture et réouverture ;
- séparateurs de menu ;
- absence de contrôles morts ou dupliqués ;
- correspondance entre options HTML, commandes Tauri et scénarios backend ;
- contrat de fenêtre pour Decode replay, Exécution Solana Core et Exécution SPL ;
- absence de logique métier substantielle restante dans `tauri.rs` ;
- tests unitaires placés dans les modules fonctionnels ;
- timeout HTTP et arrêt global de lapplication.
### 9.6 Cycle de vie WebSocket
Valider :
- fermer `demo_ws` ne ferme pas une session active ;
- rouvrir `demo_ws` récupère létat courant ;
- larrêt intervient uniquement sur déconnexion explicite, fermeture de lapplication ou timeout prévu ;
- les diagnostics et contrôles reflètent létat réel de la session.
### 9.7 Configuration, secrets et logging
Confirmer :
- seul `kb-config` charge `.env` ;
- ordre de priorité des variables et fichiers ;
- comportement `${VAR}` et `${VAR:-fallback}` ;
- absence de fuite de secrets ;
- résolution réelle de `HELIUS_API_KEY` ;
- absence de dépendance directe `dotenvy` dans les scénarios ;
- routes console `local_devnet` et `mainnet` ;
- targets `kb-lib.decoder.*`, `kb-lib.executor.*`, `kb-lib.materializer.*` ;
- absence de recréation de répertoires de logs danciennes crates.
### 9.8 PostgreSQL et fiabilité du pipeline
Décider et valider avant alignement :
- documentation des tables conservées, dérivées et de leur ordre de reconstruction ;
- contrôle des index et contraintes après reconstruction ;
- dimensionnement du pool ou justification du report ;
- retry borné pour les timeouts transitoires, ou preuve que ce correctif nest pas requis pour léquivalence `0.4.6` ;
- profils `local_devnet` et `mainnet` pendant la campagne finale.
### 9.9 Validation des surfaces desktop
Vérifier :
- Exécution Solana Core ;
- Exécution SPL ;
- options réellement exposées ;
- suppression des options mortes ;
- statut de `execute_devnet_spl_token_lifecycle` ;
- simulation, envoi, progression, résumé et diagnostics ;
- replay et matérialisation post-exécution pour les familles supportées.
### 9.10 Documentation opérateur minimale
Avant `0.4.6`, confirmer que la documentation active permet au minimum :
- création ou sélection du wallet de démonstration ;
- récupération de la clé publique ;
- saisie des champs desktop ;
- exécution des scénarios Solana Core et SPL ;
- compréhension des préconditions, signers, frais et résultats ;
- vérification du replay et des projections.
Les scénarios Metaplex appartiennent à `0.4.7`.
### 9.11 Validation finale du workspace
Exécuter dans le workspace réel :
```bash
cargo fmt --all
cargo test --workspace
cargo check --workspace
cargo clippy --all-targets
python3 scripts/audit_rust_workspace_rules.py
cargo test -p kb-pipeline-demo-scenarios
cargo test -p kb-app-demo-desktop
```
Exécuter également les tests ciblés de toute crate modifiée par les correctifs issus de cet audit.
Exécuter également :
La validation frontend doit utiliser :
- vérification des bindings TS-RS régénérés ;
- validation runtime de toutes les fenêtres ;
- validation HTTP, WebSocket, Backfill, Core extraction, Decode replay et SQL ;
- validation Solana Core et SPL sur Devnet ;
- vérification de larchive finale et absence de secrets ou artefacts exclus.
```bash
cargo tauri dev -c kb-app-demo-desktop/tauri.conf.json
```
## 10. Éléments explicitement reportés après `0.4.6`
## 10. Liste fermée des écarts à traiter
Ne doivent pas bloquer la version :
Avant `0.4.6`, traiter uniquement :
- validation Tauri/TS-RS ;
- validation des cycles de fenêtres ;
- validation du cycle de vie persistant de `demo_ws` ;
- éventuelles corrections directement révélées par ces validations ;
- exécution finale des commandes de validation du workspace.
Aucun nouvel audit complet des protocoles déjà validés nest requis.
- Metaplex Token Metadata complet, exécuteur et validations, pour `0.4.7` ;
- Anchor générique, pour `0.6.x` ;
- registre Program IDs/IDL complet après rescan historique ;
- workers W1/W2 et applications associées tant que leur version ROADMAP nest pas décidée ;
- wallet complet et split de configuration, pour `0.5.x` ;
- transports streaming avancés, pour `0.13.x` ;
- ElGamal réseau tant que son déploiement et ses preuves ne sont pas disponibles.
## 11. Conclusion
@@ -303,12 +405,12 @@ Aucun nouvel audit complet des protocoles déjà validés nest requis.
NOT_READY_FOR_0_4_6
```
Le périmètre fonctionnel historique de bot2 `0.4.6` est largement migré et les différences architecturales sont documentées. Le passage officiel reste bloqué par des validations desktop/WebSocket explicites et par la validation finale du workspace réel.
Le périmètre historique `0.4.6` paraît largement présent, mais la liste de cinq blocants précédemment publiée était incomplète. La checklist doit dabord être réconciliée et les familles de vérification des sections 9.2 à 9.11 doivent être clôturées ou explicitement reportées avec justification.
Après clôture de ces points, la conclusion pourra devenir :
La conclusion pourra devenir :
```text
READY_WITH_DOCUMENTED_EXCEPTIONS
```
Les exceptions documentées attendues sont le registre ElGamal non validé sur réseau et les travaux Metaplex Token Metadata réservés à `0.4.7`.
lorsque les vérifications restantes seront prouvées et que les seules exceptions seront explicitement documentées, notamment ElGamal non validé sur réseau et Metaplex réservé à `0.4.7`.