v0.1.0-pre.062

This commit is contained in:
2026-07-30 10:27:06 +02:00
parent f40fb78817
commit 460671e19d
319 changed files with 392513 additions and 9507 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: KHADHROONY_BOT3_MIGRATION_CLOSURE_TODO.md -->
<!-- version: 19 -->
<!-- version: 25 -->
# Clôture de la migration `khadhroony-bot3`
@@ -39,8 +39,43 @@ Ce fichier est temporaire. Il doit disparaître lorsque la migration est close,
- [x] Les trois erreurs supplémentaires du replay ont été identifiées comme timeouts transitoires du pool PostgreSQL, distincts des échecs fonctionnels de décodage.
- [x] Revalider les suites après les correctifs `pre.061-delta-fix-004` et `pre.061-delta-fix-005` : 116 tests desktop, 625 tests `kb-lib`, suites consolidées et replay propre.
# 0. `0.1.0-pre.062` — validation Devnet
- [x] Séparer les DSN PostgreSQL Mainnet, Devnet et tests par variables denvironnement.
- [x] Résoudre les profils Devnet sans dépendre du nom historique `local_devnet`.
- [x] Autoriser une sélection explicite par linterface ou `KB_DEVNET_PROFILE` pour les scénarios CLI/tests.
- [x] À louverture des fenêtres Exécution Solana Core et Exécution SPL, connecter la base du profil sélectionné.
- [x] Créer les tables manquantes uniquement lorsque `auto_initialize_schema` lautorise.
- [x] Refuser lactivation des commandes Devnet lorsque PostgreSQL est désactivé, non PostgreSQL ou incomplet.
- [x] Valider visuellement la préparation de la base Devnet dans les deux fenêtres : seul le profil `local_devnet` est proposé et les 13 tables PostgreSQL sont créées ou détectées.
- [ ] Exécuter les scénarios Devnet selon `docs/DEVNET_EXECUTION_GUIDE.md`.
- [x] Préparer le terminal Bash de contrôle et stocker les preuves sous `/tmp/devnet-validation/pre.062`.
- [x] Vérifier les CLI Solana/Agave et le genesis hash Devnet.
- [x] Financer le wallet persistant `local_devnet` via faucet Web.
- [x] Valider le transfert System de bout en bout : simulation, envoi, confirmation, balances, backfill, Core extraction et Decode replay sans erreur.
- [x] Valider SPL Memo v4 : simulation, confirmation finalisée, backfill, Core extraction, Decode replay, matérialisation et idempotence validés.
- [ ] Valider ATA et SPL Token classique.
- [ ] Valider ATA et scénarios Token-2022.
- [ ] Valider registre ElGamal selon les prérequis disponibles.
# 1. Nettoyage structurel et nomenclature
## 1.0 Convention globale des identités persistées
- [x] Arrêter la notation hiérarchique par points pour les identités runtime et les codes persistés.
- [x] Ajouter la documentation normative `docs/OPERATION_NAMING_CONVENTION.md`.
- [x] Ajouter la matrice machine-readable `test-fixtures/contract-matrices/OPERATION_NAMING_MATRIX.json`.
- [x] Migrer les constantes et attentes actives de Solana Core, SPL Memo, SPL Token, Token-2022, ATA, registre ElGamal et Metaplex vers la notation canonique.
- [x] Ajouter une règle courte renvoyant vers la documentation et la matrice.
- [ ] Purger ou recréer la base `solana_devnet`, puis rejouer les preuves System Transfer et Memo v4 avec les nouveaux codes.
- [ ] Ajouter un audit final empêchant la réintroduction des anciennes valeurs contractuelles.
- [x] Corriger la frontière entre codes de registre `lower_snake_case` et identités persistées en notation par points.
- [x] Corriger le test de matrice pour rester propre sous Clippy sans assertion constante fausse.
- [x] Corriger la référence IDL Metaplex vers le nom canonique local.
- [x] Documenter quelles surfaces actives disposent réellement dune IDL officielle et lesquelles reposent sur des crates dinterface.
## 1.1 Règles
- [x] Reprendre dans les règles Bot3 toutes les règles Bot2 encore applicables.
@@ -72,7 +107,7 @@ Convention arrêtée :
- symboles, modules, fichiers, fonctions et variables internes : `token_2022` / `TOKEN_2022` ;
- types et variantes Rust en PascalCase : `Token2022` ;
- valeurs JSON/TS explicitement concernées : `token_2022` avec attributs Serde et TS-RS ;
- codes persistés : `spl_token_2022` ;
- codes persistés : `spl.token_2022` et opérations sous `spl.token_2022.*` ;
- noms officiels externes : conserver leur orthographe publiée ;
- exceptions contractuelles Metaplex conservées : `token2022EmbeddedMetadata` et `token2022_embedded_metadata`.
@@ -81,7 +116,7 @@ Convention arrêtée :
- [x] Renommer les symboles et modules internes vers `token_2022` / `TOKEN_2022`.
- [x] Conserver `Token2022` pour les types et variantes Rust.
- [x] Aligner Serde et TS-RS sur `token_2022` lorsque cette valeur appartient au contrat applicatif.
- [x] Renommer les identités persistées et runtime vers `spl_token_2022` et `kb-lib.*.token_2022`.
- [x] Renommer les identités persistées et runtime vers `spl.token_2022` et `kb-lib.*.token_2022`.
- [x] Purger les données dérivées puis reconstruire Core, Decode et Materialize depuis les 4 574 raws.
- [x] Valider 55 instructions Token-2022 décodées, 0 échec fonctionnel.
- [x] Vérifier les matrices actives ; corriger la dernière commande historique dans `SPL_TOKEN_2022_MATRIX.json`.
@@ -387,3 +422,15 @@ Lancien bloc `docs/IDL_SOURCES.md` nest pas un prérequis autonome puisque
- [ ] `USAGE.md` disponibles pour les surfaces publiques et binaires.
- [ ] Workspace aligné sur `0.4.7`.
- [ ] Cette checklist est supprimée.
### 0.1.0-pre.062 — séparation du socle Devnet commun
- [x] Garder `kb-app-demo-desktop/src/tauri.rs` comme couche mince de wrappers `#[tauri::command]`.
- [x] Déplacer `DemoExecutionDevnetStoreReadinessPayload`, `bounded_u32` et `prepare_devnet_profile_store` dans `kb-app-demo-desktop/src/demo_devnet_common.rs`.
- [x] Revalider `cargo fmt --all`, `cargo test -p kb-app-demo-desktop -p kb-pipeline-demo-scenarios`, `cargo check --workspace` et `cargo clippy --all-targets` : 117 tests desktop et 37 tests scénarios réussis.
- [x] Renommer len-tête du menu desktop `Exécution` en `Exécution Devnet`.
- [x] Déplacer lidée de profils de logging indépendants vers `docs/IDEA_REMINDERS.md` sans ouvrir de développement dans `pre.062`.
- [x] Corriger laudit dordre des exports pour le cas lexical Token-2022 sans imposer un réordonnancement contraire à rustfmt.
- [x] Aligner les tests `kb-store` sur `materializer.transaction.annotations`.
- [x] Réorganiser `docs/DEVNET_EXECUTION_GUIDE.md` autour de commandes communes référencées et de scénarios Devnet séparés.