v0.1.0-pre.062-fix
This commit is contained in:
18
CHANGELOG.md
18
CHANGELOG.md
@@ -1,3 +1,18 @@
|
|||||||
|
<!-- file: CHANGELOG.md -->
|
||||||
|
<!-- version: 7 -->
|
||||||
|
|
||||||
|
# CHANGELOG
|
||||||
|
|
||||||
|
## 0.1.0-pre.062
|
||||||
|
|
||||||
|
- clôture la première campagne Devnet complète du desktop après migration Bot3 ;
|
||||||
|
- valide Solana Core System Transfer, SPL Memo v4, ATA classique, ATA Token-2022 et SPL Token classique ;
|
||||||
|
- valide les huit scénarios publics Token-2022 : `MintToChecked`, `TransferChecked`, `ApproveChecked`, `Revoke`, `BurnChecked`, `FreezeAccount`, `ThawAccount` et `CloseAccount` ;
|
||||||
|
- confirme pour chaque scénario applicatif l’insertion canonique, l’extraction Core, le replay de décodage, la matérialisation et l’idempotence ;
|
||||||
|
- ajoute le générateur idempotent `prepare-token-2022-fixture` dans le binaire distinct `kb-pipeline-demo-scenarios-cli` ;
|
||||||
|
- corrige le chargement des quatre montants bruts Token-2022 depuis `fixture.env` ;
|
||||||
|
- conserve le registre ElGamal comme implémenté mais non validé sur Devnet, faute de fixture de contexte de preuve et de raccordement fonctionnel du panneau desktop ;
|
||||||
|
- ajoute `docs/PRE_062_DEVNET_VALIDATION_REPORT.md` comme preuve de clôture bornée avant la refonte documentaire générale.
|
||||||
|
|
||||||
## 0.1.0-pre.054
|
## 0.1.0-pre.054
|
||||||
|
|
||||||
@@ -26,10 +41,7 @@
|
|||||||
- Conservation de la sélection bornée, du dispatch déterministe, du ledger, du force replay et de la matérialisation optionnelle.
|
- Conservation de la sélection bornée, du dispatch déterministe, du ledger, du force replay et de la matérialisation optionnelle.
|
||||||
- Adaptation aux façades consolidées `kb-lib` et `kb-store`.
|
- Adaptation aux façades consolidées `kb-lib` et `kb-store`.
|
||||||
- Conservation des 19 tests de l’ancienne implémentation bot2.
|
- Conservation des 19 tests de l’ancienne implémentation bot2.
|
||||||
<!-- file: CHANGELOG.md -->
|
|
||||||
<!-- version: 6 -->
|
|
||||||
|
|
||||||
# CHANGELOG
|
|
||||||
|
|
||||||
## 0.1.0-pre.029
|
## 0.1.0-pre.029
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: ROADMAP.md -->
|
<!-- file: ROADMAP.md -->
|
||||||
<!-- version: 19 -->
|
<!-- version: 20 -->
|
||||||
|
|
||||||
# ROADMAP — khadhroony-bot3
|
# ROADMAP — khadhroony-bot3
|
||||||
|
|
||||||
@@ -10,9 +10,10 @@ Cette séquence reprend la logique du roadmap historique tout en l’adaptant au
|
|||||||
### A. Clôture desktop et guide opérateur
|
### A. Clôture desktop et guide opérateur
|
||||||
|
|
||||||
- [ ] Terminer l’audit HTML, JSON viewers, textareas, tables responsives et contrôles Copier/Effacer.
|
- [ ] Terminer l’audit HTML, JSON viewers, textareas, tables responsives et contrôles Copier/Effacer.
|
||||||
- [ ] Créer le guide Devnet avant la campagne de tests, puis le corriger pendant chaque validation réelle.
|
- [x] Créer le guide Devnet avant la campagne de tests, puis le corriger pendant chaque validation réelle.
|
||||||
- [ ] Valider les exécuteurs déjà disponibles : Solana Core, Memo v4, SPL Token classique, ATA, Token-2022 et registre ElGamal.
|
- [x] Valider sur Devnet Solana Core, Memo v4, SPL Token classique, ATA classique, ATA Token-2022 et les huit opérations publiques Token-2022.
|
||||||
- [ ] Vérifier simulation, envoi, confirmation, replay post-exécution et matérialisation depuis les fenêtres desktop.
|
- [ ] Valider le registre ElGamal après ajout d’une fixture de contexte `PubkeyValidity` et raccordement fonctionnel du panneau desktop ; report explicite de `pre.062`.
|
||||||
|
- [x] Vérifier simulation, envoi, confirmation, replay post-exécution et matérialisation depuis les fenêtres desktop pour les scénarios exécutables de `pre.062`, hors registre ElGamal reporté.
|
||||||
|
|
||||||
### B. Socle metadata général
|
### B. Socle metadata général
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: docs/DEVNET_EXECUTION_GUIDE.md -->
|
<!-- file: docs/DEVNET_EXECUTION_GUIDE.md -->
|
||||||
<!-- version: 19 -->
|
<!-- version: 20 -->
|
||||||
|
|
||||||
# Guide d’exécution Devnet
|
# Guide d’exécution Devnet
|
||||||
|
|
||||||
@@ -755,24 +755,25 @@ puis `50b`, `50c`, etc., avant chaque appel à `C07`.
|
|||||||
- chaque replay est sans échec ;
|
- chaque replay est sans échec ;
|
||||||
- le second replay est idempotent.
|
- le second replay est idempotent.
|
||||||
|
|
||||||
## 11. Scénario S06 — Registre ElGamal
|
## 11. Scénario S06 — Registre ElGamal — reporté
|
||||||
|
|
||||||
### Objectif
|
### Statut de `0.1.0-pre.062`
|
||||||
|
|
||||||
Valider le programme indépendant de registre ElGamal sans le confondre avec Token-2022.
|
Le registre ElGamal reste implémenté mais **non validé sur Devnet** dans cette campagne. Ce report ne remet pas en cause les validations S01 à S05.
|
||||||
|
|
||||||
### Procédure
|
Deux prérequis manquent :
|
||||||
|
|
||||||
1. Définir puis exécuter `C06` :
|
- une fixture créant un compte de contexte de preuve `PubkeyValidity` valide et owned par le programme natif ZK ElGamal Proof ;
|
||||||
|
- le raccordement complet du panneau desktop : lecture des champs, handler du bouton **Construire le plan Registry**, commande Tauri, rendu du plan et affichage borné des erreurs.
|
||||||
|
|
||||||
```bash
|
Les champs envisagés sont :
|
||||||
export KB_DEVNET_SCENARIO="60-spl-elgamal-registry"
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Vérifier le Program ID, le PDA de registre, l’owner, la longueur exacte du compte et les preuves requises.
|
- fee payer : wallet opérateur ;
|
||||||
3. Simuler create/update selon le scénario disponible.
|
- owner du registre : wallet opérateur ;
|
||||||
4. Confirmer l’envoi, exécuter `C07`, puis appliquer `C08`.
|
- opération initiale : `CreateRegistry` ;
|
||||||
5. Vérifier la projection admin du registre et l’absence de fausse projection Token-2022.
|
- proof context state account : compte de contexte `PubkeyValidity` réel, jamais une adresse arbitraire.
|
||||||
|
|
||||||
|
Ne pas fabriquer une preuve de validation à partir d’un compte quelconque. La future campagne S06 devra produire sa propre fixture, exécuter simulation et envoi, confirmer la signature, puis vérifier insertion canonique, extraction Core, replay, projection admin et idempotence.
|
||||||
|
|
||||||
## 12. Future fenêtre Metadata
|
## 12. Future fenêtre Metadata
|
||||||
|
|
||||||
@@ -782,8 +783,9 @@ La future fenêtre metadata devra suivre la même structure : commandes communes
|
|||||||
|
|
||||||
La campagne est clôturable uniquement lorsque :
|
La campagne est clôturable uniquement lorsque :
|
||||||
|
|
||||||
- tous les scénarios disponibles ont été rejoués depuis une base Devnet propre ;
|
- tous les scénarios déclarés validables dans la campagne ont été rejoués depuis une base Devnet propre ;
|
||||||
- toutes les signatures sont confirmées sur Devnet ;
|
- toutes les signatures S01 à S05 sont confirmées sur Devnet ;
|
||||||
|
- toute surface reportée est identifiée explicitement avec ses prérequis manquants ;
|
||||||
- les identités persistées respectent la nomenclature canonique ;
|
- les identités persistées respectent la nomenclature canonique ;
|
||||||
- aucun ancien `processor_name`, `surface_code`, `operation_code` ou `event_code` ne subsiste ;
|
- aucun ancien `processor_name`, `surface_code`, `operation_code` ou `event_code` ne subsiste ;
|
||||||
- le replay ciblé est sans échec ni erreur de traitement ;
|
- le replay ciblé est sans échec ni erreur de traitement ;
|
||||||
|
|||||||
82
docs/PRE_062_DEVNET_VALIDATION_REPORT.md
Normal file
82
docs/PRE_062_DEVNET_VALIDATION_REPORT.md
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
<!-- file: docs/PRE_062_DEVNET_VALIDATION_REPORT.md -->
|
||||||
|
<!-- version: 1 -->
|
||||||
|
|
||||||
|
# Rapport de validation Devnet — `0.1.0-pre.062`
|
||||||
|
|
||||||
|
## Portée
|
||||||
|
|
||||||
|
Ce rapport clôt la campagne Devnet exécutée sur une base PostgreSQL propre, sans réinitialisation entre les scénarios.
|
||||||
|
|
||||||
|
- profil : `local_devnet` ;
|
||||||
|
- RPC : `https://api.devnet.solana.com` ;
|
||||||
|
- genesis hash : `EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG` ;
|
||||||
|
- wallet opérateur : `J12WA6c42oqpWkLu1dFa4pCegkQJPpxabwc3RRCMSUuH` ;
|
||||||
|
- preuves locales : `/tmp/devnet-validation/pre.062-clean` ;
|
||||||
|
- CLI observées : `solana-cli 4.0.2`, `solana-keygen 4.0.2`, `spl-token-cli 5.5.0` ;
|
||||||
|
- PostgreSQL : 13 tables sur 13 disponibles.
|
||||||
|
|
||||||
|
## Scénarios validés
|
||||||
|
|
||||||
|
| Code | Surface | Opération | Signature | Slot | Statut |
|
||||||
|
|-------|---------------------|------------------|--------------------------------------------------------------------------------------------|------------:|----------|
|
||||||
|
| S01 | Solana Core | System Transfer | preuve locale de campagne | — | validé |
|
||||||
|
| S02 | SPL Memo v4 | Memo v4 | `3LJN8URRqvCJcjKMEpHmdVcJXsQHFMDc5cUiSCE4MkCsieqtPDXB39ReyzZ3oGh9WGTTaVT4ew5NPju8AWCzsUAk` | `479794063` | finalisé |
|
||||||
|
| S03A | ATA classique | CreateIdempotent | `5ugba9K7NHN8vUsDnxhBGM37n3UsBsaX56B1ccrH3j64BbSgYcrxT1fsV5Z98waeyquYyxi46w4AENgrdhPucedn` | `479803680` | finalisé |
|
||||||
|
| S03B | ATA Token-2022 | CreateIdempotent | `4Cv8p6bB2iqc1qRJDxhVgjGtriPx1Ji3F7AirqXPRUmCLVLCDhtQPLTipWgigGVSDTLSsrvz3mZtnNPe5GQwuUWG` | `479805232` | finalisé |
|
||||||
|
| S04 | SPL Token classique | TransferChecked | `4ghND4BHUxVhCgRfKbZgtLHKV1f3VrF3XVXqSjCawT4dX2qEAHsRTKsDvHod9xKeNQE7HrHCZmPY4D9e8XENY7XT` | `479828478` | finalisé |
|
||||||
|
| S05.1 | Token-2022 | MintToChecked | `3hdeszJNUdopzVNiBUSXLb7GYbuRJgQjVmXo9Rc6UUguWcuS3DcxeDGaVTxCsuuTA2uM5f6cKbJRkmYobU2FdkPX` | `479925764` | finalisé |
|
||||||
|
| S05.2 | Token-2022 | TransferChecked | `5nx6eGR44AexrgSutBo8CvrpdDVCwgA3YcPrXomnBwPpKqBB3WcbZuNxy8H6AryKj3d4dF5kszKsvUYGx5qSzNPY` | `479926573` | finalisé |
|
||||||
|
| S05.3 | Token-2022 | ApproveChecked | `2QLSCz3FqimxPqxFSGyiJtHJAJoFAoRxTsQPnageetGYZcMdtH3CprByPV4ho33xGAn1wTERkwJ56JQcBbSabYYn` | `479926994` | finalisé |
|
||||||
|
| S05.4 | Token-2022 | Revoke | `3WjYXTMH8h7WAhpG641UHFGC3PfSYKZBHrnQuFJxsJ1agDq8BS7BfmKzXB1ciF3LKtLndRog4HiDybJ41EmTDgwC` | `479927342` | finalisé |
|
||||||
|
| S05.5 | Token-2022 | BurnChecked | `4qRMULuArbjfnbqqqgpbs1AdVHA5XLZkxSA1h8M3BnkTjRCXNA7rDbGhNhMBc2GCoYeYyKmfT1YCPxySfYp67Rhz` | `479927657` | finalisé |
|
||||||
|
| S05.6 | Token-2022 | FreezeAccount | `4E5GuHkRQjRJNCnr1WgMk9c4XYEu2qpH1KibrQcj1dK5wa1x9Jh3RTCxqYh63EZtbMB9JeK9F5SMcP6TqQm1pT4R` | `479927943` | finalisé |
|
||||||
|
| S05.7 | Token-2022 | ThawAccount | `37D9d14hHpkBSj8WbKc4wtKssNhMzfTrXUANwvt8xZ3VypSZe43MxtEm2u7RHkdBhUVfms7vsuE5gjAfmREAXMJ2` | `479928232` | finalisé |
|
||||||
|
| S05.8 | Token-2022 | CloseAccount | `3rarADrqnYkmGBFsNYCABE2WCKoE9KcP7d2bsqZDCn7pjLwHFKnjw7w3h1hMa3aWodXfcZz7DDCqgzvMamuS4AHP` | `479928489` | finalisé |
|
||||||
|
|
||||||
|
## Invariants vérifiés
|
||||||
|
|
||||||
|
Pour les scénarios applicatifs S02 à S05 concernés, les sorties ont confirmé selon la surface :
|
||||||
|
|
||||||
|
- simulation exacte réussie ;
|
||||||
|
- confirmation réseau ;
|
||||||
|
- insertion canonique ;
|
||||||
|
- extraction Core ;
|
||||||
|
- replay de décodage sans échec ;
|
||||||
|
- matérialisation attendue ;
|
||||||
|
- second replay idempotent ;
|
||||||
|
- séparation correcte entre SPL Token classique, ATA et Token-2022.
|
||||||
|
|
||||||
|
La fixture Token-2022 est générée par une commande idempotente :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cargo run -p kb-pipeline-demo-scenarios --bin kb-pipeline-demo-scenarios-cli -- prepare-token-2022-fixture --rpc-url "$KB_DEVNET_RPC_URL" --wallet "$KB_DEVNET_WALLET" --wallet-dir "$PWD/wallets/temporary/local_devnet" --decimals 9
|
||||||
|
```
|
||||||
|
|
||||||
|
Le second passage a retourné `fixture_written=false`, sans recréer les comptes.
|
||||||
|
|
||||||
|
## Surface reportée
|
||||||
|
|
||||||
|
Le registre ElGamal n’est pas validé dans `pre.062`.
|
||||||
|
|
||||||
|
Motifs :
|
||||||
|
|
||||||
|
- absence d’un générateur de compte de contexte de preuve `PubkeyValidity` ;
|
||||||
|
- panneau desktop Registry non raccordé à un handler et à une commande Tauri complète.
|
||||||
|
|
||||||
|
Le code existant ne doit pas être présenté comme validé Devnet avant une campagne dédiée.
|
||||||
|
|
||||||
|
## État avant commit
|
||||||
|
|
||||||
|
La prerelease est commitable lorsque les commandes suivantes restent propres dans le workspace utilisateur :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cargo fmt --all
|
||||||
|
cargo check --workspace
|
||||||
|
cargo test -p kb-pipeline-demo-scenarios
|
||||||
|
cargo clippy --all-targets
|
||||||
|
python3 scripts/audit_rust_workspace_rules.py
|
||||||
|
```
|
||||||
|
|
||||||
|
Le user a confirmé Clippy et l’audit après ajout manuel de deux `return` manquants dans des closures `or_else`. Ces corrections locales doivent être incluses dans le commit.
|
||||||
|
|
||||||
|
La refonte générale de `README.md`, `ROADMAP.md`, `CHANGELOG.md` et des documents historiques est volontairement reportée à la phase suivante ; ce rapport ne prétend pas la remplacer.
|
||||||
BIN
idls_v1.zip
BIN
idls_v1.zip
Binary file not shown.
BIN
idls_v2.zip
BIN
idls_v2.zip
Binary file not shown.
Reference in New Issue
Block a user