186 lines
11 KiB
Markdown
186 lines
11 KiB
Markdown
<!-- file: kb-pipeline-demo-scenarios/CHANGELOG.md -->
|
||
<!-- version: 32 -->
|
||
|
||
# CHANGELOG — kb-pipeline-demo-scenarios
|
||
|
||
## 0.4.8-pre.009 — scénarios Devnet Solana Program Metadata
|
||
|
||
- déplace `SetAuthority` du compte Metadata non canonique vers le Buffer non canonique, conformément au processeur officiel qui refuse cette opération sur les metadata non canoniques ;
|
||
- réconcilie l’ordre des neuf étapes, la fixture, la matrice Devnet et les tests de campagne ;
|
||
- ajoute une régression garantissant que `SetAuthority` ne cible jamais le compte Metadata non canonique de la fixture ;
|
||
|
||
- réutilise l’unique cible canonique `kb-pipeline-demo-scenarios` pour les logs de fixture et supprime la seconde constante incompatible avec la convention de logging de la crate ;
|
||
- corrige les derniers diagnostics Clippy des tests : `str::len()` direct pour les seeds UTF-8 et `return` explicite dans la closure de statut de validation ;
|
||
- corrige les tests de réconciliation des opérations : comparaison de références `&str` et durée de vie de l’inventaire de scénarios ;
|
||
- documente la crate du test d’API publique externe afin de conserver `missing_docs` propre ;
|
||
- ajoute deux parcours ordonnés couvrant exactement les neuf opérations stables de `ProgM6…` ;
|
||
- prépare deux PDA non canoniques préfinancés, un `Buffer` et un compte `Metadata`, à partir du wallet persistant du profil Devnet ;
|
||
- ajoute un runner simulation-first avec préflight stateful, `ExSafetyChecker`, signature, soumission, confirmation, lectures avant/après et matérialisation des snapshots ;
|
||
- ajoute une campagne confirmée réutilisable qui exécute les neuf étapes sans déplacer l’orchestration dans le desktop ;
|
||
- distingue la preuve `materialized_snapshot` de la preuve terminale `account_absence` après `Close` ;
|
||
- ajoute une matrice conservative dont tous les statuts réseau restent `not_run` avant exécution réelle ;
|
||
- conserve `kb-pipeline` indépendant de cette crate et ne modifie pas encore `demo_execution_metadata`.
|
||
|
||
## 0.4.7-pre.016
|
||
|
||
- généralise README et USAGE autour des groupes fonctionnels ;
|
||
- nettoie le TODO et conserve les fixtures Devnet spécialisées comme dette explicite ;
|
||
- qualifie séparément builders disponibles et preuves réseau observées.
|
||
|
||
## 0.4.7-pre.015
|
||
- étend le parcours NFT Devnet à une troisième étape `UpdateAsUpdateAuthorityV2` qui rend les metadata immutables ;
|
||
- distingue l’édition maître créée par `Create` des futures fixtures d’édition imprimée ;
|
||
- conserve `Print` et `Burn` comme étapes ultérieures tant que leurs comptes SPL et édition ne sont pas préparés de bout en bout.
|
||
|
||
## 0.4.7-pre.014
|
||
|
||
- Expose cinq parcours Metaplex Devnet préparables : NFT, SFT, fungible, collection parent et pNFT sans rule set.
|
||
- Conserver un cycle borné `Create -> UpdateAsUpdateAuthorityV2` pour chaque famille avant d'étendre les opérations spécialisées.
|
||
|
||
## 0.4.7-pre.013-fix-014
|
||
|
||
- crée un nouveau mint natif pour chaque nouvelle préparation `Create`, afin de ne jamais réutiliser un PDA metadata déjà créé ;
|
||
- limite l’inventaire Devnet visible au parcours NFT `create -> update` réellement préparé de bout en bout ;
|
||
- conserve les cinq parcours synthétiques comme matrice cible sans les présenter comme exécutables sur Devnet.
|
||
|
||
## 0.4.7-pre.013-fix-013
|
||
|
||
- retire l’appel résiduel à `ExSplTokenExecutor` dans la préparation native du mint Metaplex ;
|
||
- construit directement l’instruction officielle `spl_token_interface::instruction::initialize_mint2` ;
|
||
- ajoute cette instruction au plan composite `SystemCreateAccount + InitializeMint2` sans falsifier les exigences de post-validation de l’exécuteur SPL ;
|
||
- ajoute les dépendances directes `solana-instruction` et `spl-token-interface` à la crate de scénarios ;
|
||
- conserve la simulation exacte, les deux signatures, la confirmation et la relecture on-chain du mint.
|
||
|
||
## 0.4.7-pre.013-fix-012
|
||
|
||
- aligne la fixture Rust native sur les APIs publiques réelles du workspace ;
|
||
- évalue le `ExApiPreparedExecutionPlan` avec `evaluate_prepared_plan` ;
|
||
- conserve `MdSignature` pour l’envoi et la confirmation, puis retourne sa valeur chaîne ;
|
||
- convertit la clé du mint en `MdPubkey` pour `getAccountInfo` ;
|
||
- supprime l’avertissement du paramètre de rent conservé dans le contrat de politique.
|
||
|
||
## 0.4.7-pre.013-fix-011
|
||
|
||
- remplace la préparation Metaplex fondée sur `solana-keygen`, `solana` et `spl-token` par une transaction Rust native ;
|
||
- crée le mint par `SystemCreateAccount` puis `SPL Token InitializeMint2` dans un même message simulé, signé et confirmé ;
|
||
- utilise explicitement le wallet du profil comme mint authority et freeze authority ;
|
||
- conserve le keypair du mint dans `kb-wallet` sans exposer ni déléguer ses secrets à une CLI externe.
|
||
|
||
|
||
## 0.4.7-pre.013-fix-010
|
||
|
||
- adapte la création de la fixture NFT à la CLI `spl-token` installée, qui ne prend pas en charge `create-token --freeze-authority` ;
|
||
- crée le mint avec `--enable-freeze`, puis transfère explicitement les autorités `freeze` et `mint` au wallet du profil ;
|
||
- versionne la fixture en `create-mint-profile-authority-v4.json` afin de ne pas réutiliser un mint incomplet issu du fix précédent.
|
||
|
||
## 0.4.7-pre.013-fix-009
|
||
|
||
- remplace l’inventaire Metaplex plat par cinq parcours cohérents avec fixture, état initial, état attendu et cibles de matérialisation ;
|
||
- ajoute la matérialisation optionnelle des snapshots confirmés ;
|
||
- crée la fixture NFT `v3` avec mint authority et freeze authority détenues par le wallet du profil ;
|
||
- interdit une matérialisation demandée sans lecture de postcondition.
|
||
|
||
## 0.4.7-pre.013-fix-007
|
||
|
||
- fournit explicitement le Program ID SPL Token classique dans le modèle et la fixture `Create` NFT ;
|
||
- ajoute des assertions empêchant le retour de `spl_token_program: null` pour ce parcours ;
|
||
- conserve `PrintSupply::Zero` et les PDA dérivés depuis le mint préparé.
|
||
|
||
## 0.4.7-pre.013-fix-006
|
||
|
||
- corrige le modèle et la fixture `Create` NFT avec `PrintSupply::Zero` ;
|
||
- ajoute un test garantissant que le modèle JSON nommé ne réintroduit pas un `print_supply` absent.
|
||
|
||
## 0.4.7-pre.013-fix-003
|
||
|
||
- Ajout du guide intégré, du journal d’exécution et de titres explicites pour les résultats JSON Metaplex.
|
||
- Ajout d’un préparateur idempotent de fixture `Create` : mint SPL classique Devnet, PDA metadata et master edition dérivés, intent JSON prêt à simuler.
|
||
|
||
## 0.4.7-pre.012-fix-003
|
||
|
||
- ajout explicite de la dépendance workspace `mpl-token-metadata` requise par les modèles et constructeurs de scénarios ;
|
||
- alignement du test de placeholder sur le code stable `config` réellement exposé par `kb_core::Error::config` ;
|
||
- validation locale : formatage, workspace check, clippy et audits propres ; 53 tests de bibliothèque réussis avant correction de l’assertion, un seul test échouant sur le code attendu.
|
||
|
||
## 0.4.7-pre.012-fix-002
|
||
|
||
- rejet explicite des placeholders `...` dans le JSON d’opération Metaplex ;
|
||
- inventaire public des vingt opérations courantes acceptées par les campagnes automatiques ;
|
||
- modèles JSON structurés pour `Create`, `Update`, `Verify` et `Unverify` ;
|
||
- constructeurs nommés pour les parcours créateur `Verify` et `Unverify` ;
|
||
- documentation corrigée afin de ne plus présenter un placeholder comme une commande exécutable.
|
||
|
||
## 0.4.7-pre.012 — couverture du runner Devnet Metaplex
|
||
|
||
- passage de la matrice Devnet à `0.4.7-pre.012` ;
|
||
- fermeture du statut `implemented` pour les 20 opérations courantes ;
|
||
- ajout d’un constructeur de requête depuis le JSON typé `ExMetaplexTokenMetadataOperation` ;
|
||
- ajout d’un test Devnet opt-in piloté par variables d’environnement pour simuler ou soumettre n’importe quelle opération courante ;
|
||
- maintien des statuts réseau à `not_run` tant qu’aucune exécution locale n’a fourni les preuves attendues.
|
||
- correction du contrat stateful partagé afin que les lectures préflight et postcondition soient désérialisables depuis les variables JSON du test Devnet opt-in.
|
||
|
||
## 0.4.7-pre.011 — réouverture des campagnes Devnet Metaplex
|
||
|
||
### Exécution Devnet
|
||
|
||
- ajout d’un exécuteur Metaplex Devnet réel, simulation-first et limité aux opérations non dépréciées ;
|
||
- contrôle du genesis hash Devnet, du wallet de profil, des signers et des plafonds de coût ;
|
||
- ajout des lectures stateful avant/après, du préflight, de la simulation RPC exacte, de la soumission contrôlée et de la confirmation ;
|
||
- ajout d’une matrice fermée des 20 opérations courantes, avec `Create`, `Update`, `Verify` et `Unverify` attribuées au premier lot `pre.011` ;
|
||
- conservation de tous les statuts réseau à `not_run` tant qu’aucune preuve locale n’a été observée.
|
||
|
||
### Documentation
|
||
|
||
- réorganisation des quatre documents de crate ;
|
||
- ajout des lots `pre.011` et `pre.012` au TODO pour couvrir les 20 opérations courantes sur Devnet ;
|
||
- clarification du rôle ciblé du CLI et du maintien des scénarios UI dans le desktop.
|
||
|
||
## 0.4.7-pre.010 — corpus de validation croisée
|
||
|
||
- ajout d’un corpus fermé couvrant outer/CPI, succès/échec, cinq familles d’actifs et neuf classes d’erreur ;
|
||
- ajout de contrats distincts de preuve réseau pour simulation, soumission et postcondition ;
|
||
- refus de toute promotion réseau fondée uniquement sur des preuves synthétiques.
|
||
|
||
## 0.4.7-pre.009
|
||
|
||
- ajout de l’inventaire Metaplex Devnet simulation et de son test de couverture.
|
||
|
||
## 0.4.7-pre.008
|
||
|
||
- ajout des scénarios synthétiques NFT, SFT, token fongible, collection et pNFT ;
|
||
- ajout de la matrice de validation Devnet/Testnet ;
|
||
- conservation du CLI sans commande Metaplex non justifiée.
|
||
|
||
## 0.4.6
|
||
|
||
- alignement de la crate sur la version fonctionnelle bot3 `0.4.6` ;
|
||
- clôture des tâches de migration applicables et report explicite des évolutions ultérieures dans le TODO.
|
||
|
||
## 0.1.0-pre.075
|
||
|
||
- ajout du guide opérateur Devnet `0.4.6` distinguant les scénarios de validation des composants réutilisables ;
|
||
|
||
## 0.1.0-pre.073
|
||
|
||
- ajout du guide transversal [`docs/guides/DEVNET_VALIDATION.md`](../docs/guides/DEVNET_VALIDATION.md) ;
|
||
|
||
## 0.1.0-pre.072
|
||
|
||
- reclassement du TODO selon les blocants avant `0.4.6`, les travaux `0.4.7`, les versions ultérieures et les dépendances conditionnelles.
|
||
|
||
## 0.1.0-pre.070
|
||
|
||
- enrichissement du `USAGE.md` avec plusieurs exemples couvrant les principales familles d’API publiques ;
|
||
- ajout du contrat documentaire de la crate mixte ;
|
||
- inventaire des scénarios publics et du binaire CLI ;
|
||
- documentation des tests Devnet comme références d’exécution réelle ;
|
||
- classement des travaux d’autonomie CLI, fixtures et Metaplex dans le TODO.
|
||
|
||
## 0.1.0-pre.062
|
||
|
||
- extraction des scénarios de démonstration hors du desktop ;
|
||
- conservation du nom de bibliothèque `kb_pipeline_demo_scenarios` ;
|
||
- création du binaire explicite `kb-pipeline-demo-scenarios-cli` avec `autobins = false` ;
|
||
- migration des scénarios System Transfer, Memo v4, ATA, SPL Token et Token-2022 ;
|
||
- validation connue de 39 tests de bibliothèque et 1 test de binaire.
|