v0.4.8-pre.015

This commit is contained in:
2026-08-09 12:57:24 +02:00
parent aec7b4b76a
commit 3a509acb82
17 changed files with 570 additions and 271 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/V0_4_8_SOLANA_PROGRAM_METADATA_AND_TOKEN_2022_COMPLETENESS_PLAN.md -->
<!-- version: 59 -->
<!-- version: 62 -->
# Plan `0.4.8` — Solana Program Metadata et complétude Token-2022
@@ -15,13 +15,13 @@ Il doit être maintenu pendant chaque prerelease, puis archivé pendant la derni
### 2.1 Surfaces strictement distinctes
| Surface | Program ID ou frontière | Rôle dans `0.4.8` |
|-----------------------------------|--------------------------------------------------------------------|---------------------------------------------------------------------------------|
| Metaplex Token Metadata | `metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s` | surface clôturée en `0.4.7`, hors développement principal |
| Token-2022 Token Metadata | programme Token-2022 `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb` | compléter le contrat déjà partiellement pris en charge |
| `spl-token-metadata-interface` | interface sans Program ID autonome imposé | source contractuelle des instructions metadata implémentées par Token-2022 |
| Solana Program Metadata | `ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S` | nouvelle surface on-chain à implémenter sous `metadata/solana_program_metadata` |
| contenu distant HTTP/IPFS/Arweave | transport off-chain indépendant | hors `0.4.8`, reporté à lhorizon `0.15+` |
| Surface | Program ID ou frontière | Rôle dans `0.4.8` |
|-----------------------------------|--------------------------------------------------------------------|----------------------------------------------------------------------------------------------------|
| Metaplex Token Metadata | `metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s` | surface héritée de `0.4.7`, réauditée et qualifiée à 15 `confirmed` / 5 `unavailable` en `pre.013` |
| Token-2022 Token Metadata | programme Token-2022 `TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb` | complétude livrée en `pre.011` et validée sur Devnet en `pre.012` |
| `spl-token-metadata-interface` | interface sans Program ID autonome imposé | source contractuelle des instructions metadata implémentées par Token-2022 |
| Solana Program Metadata | `ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S` | surface complète livrée de `pre.003` à `pre.010`, avec neuf opérations Devnet `confirmed` |
| contenu distant HTTP/IPFS/Arweave | transport off-chain indépendant | hors `0.4.8`, reporté à lhorizon `0.15+` |
Aucun décodeur Token-2022 existant nest un décodeur partiel de `ProgM6…`. Les deux contrats doivent conserver des namespaces, modèles, matrices, tests et scénarios distincts.
@@ -484,7 +484,7 @@ Les blocs **Préflight et opérations**, **Simulation et confirmation** et **Pos
La validation finale confirme `cargo fmt --all`, `cargo check --workspace`, `cargo clippy --all-targets`, laudit workspace et les 144 tests desktop. La disposition est également validée visuellement dans Tauri. `pre.014` est clôturée ; aucune nouvelle campagne Devnet nest requise avant `pre.015`.
### `0.4.8-pre.015` — stockage, matrices et réconciliation transversale
### `0.4.8-pre.015` — stockage, matrices et réconciliation transversale — terminé et validé
Objectif : réconcilier les trois surfaces Metadata désormais implémentées et validées avant la clôture documentaire de `pre.016`, sans ouvrir de nouvelle capacité réseau.
@@ -497,6 +497,28 @@ Objectif : réconcilier les trois surfaces Metadata désormais implémentées et
Critère : aucune divergence non expliquée entre code, matrices, registres, IDL, stockage et documentation active ; les éventuelles dettes restantes sont explicitement reportées avant `pre.016`.
#### `pre.015-delta` — audit transversal initial
Le stockage spécialisé nest pas requis : les sorties des trois matérialisateurs Metadata sont déjà persistées dans `kb_sol_mat_events`, qui distingue le producteur par `processor_name`, conserve la famille `metadata`, stocke les projections hétérogènes dans `payload_jsonb` et garantit lidentité par `(processor_name, processor_version, input_key, output_key)`. Aucune migration nest ajoutée.
La réconciliation statique relève en revanche trois écarts actifs : la nomenclature IDL de Solana Program Metadata demandait encore un exécuteur déjà implémenté ; les documents IDL utilisaient encore lancien nom de fichier Metaplex `from_solscan` au lieu du fichier GitHub présent ; la matrice contractuelle Metaplex conservait des champs de progression `pre.003/pre.007` alors que sa surface courante est clôturée et classifiée sur Devnet depuis `pre.013`. Ces métadonnées sont corrigées sans réécrire les matrices historiques fermées de `0.4.7` ou `0.4.6`.
Un test dAPI externe Token-2022 Token Metadata est ajouté à `kb-pipeline` afin daligner cette surface sur les tests crate-root déjà présents pour Metaplex Token Metadata et Solana Program Metadata.
La validation locale du delta initial est complète le 9 août 2026 : `cargo fmt --all`, `cargo check --workspace`, `cargo clippy --all-targets` et laudit workspace sont propres ; `kb-pipeline` réussit 109 tests unitaires et trois suites dAPI Metadata externes ; `kb-lib` réussit 706 tests unitaires et huit tests dintégration ; `kb-pipeline-demo-scenarios` réussit 105 tests unitaires, 1 test CLI et 1 test API externe.
#### `pre.015-delta-fix-001` — exports et documentation active
La seconde passe confirme les trois matérialiseurs Metadata dans le registre runtime desktop et dans le contrat externe générique de `kb-lib`. Elle relève trois écarts actifs : le rustdoc de linventaire dopérations Metaplex cite encore `0.4.7-pre.005`, lUSAGE des scénarios présente encore la matrice Solana Program Metadata comme `not_run`, et le guide Devnet contient une « future fenêtre Metadata » suivie dune section Metaplex hors ordre alors que `demo_execution_metadata` est livré et validé.
Le correctif remplace ces états obsolètes par les qualifications courantes, ajoute au sommaire documentaire les rapports Token-2022, Metaplex final et desktop Metadata, et ajoute un test externe `kb-lib` parcourant les 35 capacités Metaplex depuis les seuls exports crate-root. Il retire également des TODO `kb-lib` et `kb-pipeline` les validations Metadata déjà closes, tout en conservant les dettes `0.5.x` et ElGamal réellement ouvertes. Aucune matrice réseau, migration de stockage ou campagne Devnet nest modifiée.
#### `pre.015-delta-fix-002` — clôture de la réconciliation transversale
La validation locale du correctif `fix-001` confirme `cargo fmt --all`, `cargo check --workspace`, `cargo clippy --all-targets` et laudit workspace sans écart. `kb-lib` conserve 706 tests unitaires et passe désormais neuf tests dintégration externes, dont le nouveau contrat Metaplex crate-root.
La dernière passe ne relève plus de divergence fonctionnelle entre stockage, matrices courantes, registres runtime, exports, IDL, TODO et documentation opérationnelle. Les occurrences `not_run` restantes sont confinées aux matrices et rapports historiques dont le milestone est volontairement figé. Les documents de release de niveau workspace — transformation finale du ROADMAP et mise à jour du CHANGELOG général — restent explicitement réservés à `pre.016`, conformément au cycle de clôture. `pre.015` est donc clôturée sans migration de stockage ni nouvelle campagne Devnet.
### `0.4.8-pre.016` — clôture obligatoire
Réservée à :