v0.4.8-pre.009

This commit is contained in:
2026-08-06 06:45:18 +02:00
parent f576fbade2
commit b314bfc244
21 changed files with 2688 additions and 32 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/README.md -->
<!-- version: 21 -->
<!-- version: 22 -->
# Documentation active de Khadhroony Bot3
@@ -45,6 +45,7 @@ Modèles documentaires non génératifs :
- [`audits/V0_4_8_PRE_008_METADATA_SOLANA_PROGRAM_PIPELINE_AUDIT.md`](audits/V0_4_8_PRE_008_METADATA_SOLANA_PROGRAM_PIPELINE_AUDIT.md) ;
- [`audits/V0_4_8_PRE_008_METADATA_AND_PIPELINE_NOMENCLATURE_AUDIT.md`](audits/V0_4_8_PRE_008_METADATA_AND_PIPELINE_NOMENCLATURE_AUDIT.md) ;
- [`audits/V0_4_8_PRE_008_SOLANA_PROGRAM_METADATA_HISTORICAL_REPLAY_FIX.md`](audits/V0_4_8_PRE_008_SOLANA_PROGRAM_METADATA_HISTORICAL_REPLAY_FIX.md) ;
- [`audits/V0_4_8_PRE_009_METADATA_SOLANA_PROGRAM_DEVNET_SCENARIOS_AUDIT.md`](audits/V0_4_8_PRE_009_METADATA_SOLANA_PROGRAM_DEVNET_SCENARIOS_AUDIT.md) ;
- [`decisions/DOCUMENT_ARCHIVE_SELECTION_POLICY.md`](decisions/DOCUMENT_ARCHIVE_SELECTION_POLICY.md) ;
- [`decisions/WINCODE_COMPATIBILITY_POLICY.md`](decisions/WINCODE_COMPATIBILITY_POLICY.md).
@@ -98,6 +99,7 @@ Les onze crates possèdent désormais `README.md`, `TODO.md`, `USAGE.md` et `CHA
- [Validation Metaplex Token Metadata 0.4.7](validation/V0_4_7_METAPLEX_TOKEN_METADATA_VALIDATION_REPORT.md)
- [`validation/WEBSOCKET_MAINNET_RESEARCH_VALIDATION_REPORT.md`](validation/WEBSOCKET_MAINNET_RESEARCH_VALIDATION_REPORT.md) ;
- [`validation/MAINNET_RESEARCH_BACKFILL_VALIDATION_SCENARIO.md`](validation/MAINNET_RESEARCH_BACKFILL_VALIDATION_SCENARIO.md) ;
- [`validation/V0_4_8_PRE_008_SOLANA_PROGRAM_METADATA_MAINNET_REPLAY_REPORT.md`](validation/V0_4_8_PRE_008_SOLANA_PROGRAM_METADATA_MAINNET_REPLAY_REPORT.md) ;
## Audits actifs
@@ -106,7 +108,8 @@ Les onze crates possèdent désormais `README.md`, `TODO.md`, `USAGE.md` et `CHA
- [`Audit 0.4.8-pre.007 — structure du matérialiseur Metaplex Token Metadata`](audits/V0_4_8_PRE_007_METAPLEX_MATERIALIZER_STRUCTURE_AUDIT.md) ;
- [`Audit 0.4.8-pre.007 — conventions et structure de tous les matérialisateurs`](audits/V0_4_8_PRE_007_MATERIALIZER_CONVENTION_AUDIT.md) ;
- [`Audit 0.4.8-pre.008 — pipeline Solana Program Metadata`](audits/V0_4_8_PRE_008_METADATA_SOLANA_PROGRAM_PIPELINE_AUDIT.md).
- [`Correctif 0.4.8-pre.008 — replay historique Solana Program Metadata`](audits/V0_4_8_PRE_008_SOLANA_PROGRAM_METADATA_HISTORICAL_REPLAY_FIX.md).
- [`Correctif 0.4.8-pre.008 — replay historique Solana Program Metadata`](audits/V0_4_8_PRE_008_SOLANA_PROGRAM_METADATA_HISTORICAL_REPLAY_FIX.md) ;
- [`Audit 0.4.8-pre.009 — scénarios Devnet Solana Program Metadata`](audits/V0_4_8_PRE_009_METADATA_SOLANA_PROGRAM_DEVNET_SCENARIOS_AUDIT.md).
## Plans de version actifs

View File

@@ -0,0 +1,62 @@
<!-- file: docs/audits/V0_4_8_PRE_009_METADATA_SOLANA_PROGRAM_DEVNET_SCENARIOS_AUDIT.md -->
<!-- version: 1 -->
# Audit `0.4.8-pre.009` — scénarios Devnet Solana Program Metadata
## Frontière de crate
`kb-pipeline` conserve les contrats réutilisables indépendants du cluster. `kb-pipeline-demo-scenarios` possède les wallets de démonstration, fixtures, appels RPC Devnet et campagnes destructrices. Aucun lien inverse nest ajouté.
`kb-app-demo-desktop` nest pas modifié dans cette prerelease. Son intégration est réservée à `pre.010`.
## Fixture
La fixture utilise le wallet persistant du profil Devnet comme autorité et le System Program comme programme exécutable décrit. Deux PDA non canoniques uniques sont dérivés avec des seeds UTF-8 de seize octets :
- un PDA `Buffer` ;
- un PDA `Metadata`.
Les deux adresses doivent être absentes avant préparation. Leur rent est calculé par RPC et les comptes sont préfinancés par des transferts System Program simulation-first, évalués par `ExSafetyChecker`, signés, soumis et confirmés.
## Parcours fermés
### Buffer
1. `Allocate` ;
2. `Extend` ;
3. `Write` ;
4. `Trim` ;
5. `Close`.
`Extend` précède `Write`, car lallocation initiale ne réserve que len-tête et lécriture exige la capacité du payload.
### Metadata
1. `Initialize` ;
2. `SetData` ;
3. `SetAuthority` ;
4. `SetImmutable`.
Les neuf opérations stables sont couvertes exactement une fois. Les six opérations classées sensibles par lexécuteur reçoivent une approbation explicite.
## Orchestration
Chaque étape passe par :
- construction dun intent typé ;
- construction et évaluation du plan ;
- lectures stateful avant exécution ;
- préflight et preuves de rent ;
- transaction exacte et simulation RPC ;
- readiness du pipeline ;
- évaluation `ExSafetyChecker` avant envoi ;
- signature, soumission et confirmation ;
- lectures stateful après confirmation ;
- postcondition ;
- projection matérialisée pour les comptes existants.
`Close` exige une preuve dabsence et non un snapshot matérialisé.
## Statut réseau
Le code et la matrice sont livrés avec des statuts `not_run`. Aucune validation Devnet nest déclarée avant lexécution opérateur de `pre.010`.

View File

@@ -1,11 +1,11 @@
<!-- file: docs/plans/V0_4_8_SOLANA_PROGRAM_METADATA_AND_TOKEN_2022_COMPLETENESS_PLAN.md -->
<!-- version: 13 -->
<!-- version: 14 -->
# Plan `0.4.8` — Solana Program Metadata et complétude Token-2022
## 1. Statut et rôle
Ce document est le livrable principal de `0.4.8-pre.001`, réconcilié après laudit contractuel de `0.4.8-pre.002`, les modèles de `pre.003`, les décodeurs de comptes de `pre.004`, le décodeur dinstructions de `pre.005`, la matérialisation de `pre.006`, lexécuteur de `pre.007` et lorchestration généraliste de `pre.008`. Il constitue le plan vivant de la version et reste modifiable lorsque laudit du code, des interfaces officielles, de lIDL ou des validations Devnet impose un ajustement.
Ce document est le livrable principal de `0.4.8-pre.001`, réconcilié après laudit contractuel de `0.4.8-pre.002`, les modèles de `pre.003`, les décodeurs de comptes de `pre.004`, le décodeur dinstructions de `pre.005`, la matérialisation de `pre.006`, lexécuteur de `pre.007`, lorchestration généraliste de `pre.008` et les scénarios réutilisables de `pre.009`. Il constitue le plan vivant de la version et reste modifiable lorsque laudit du code, des interfaces officielles, de lIDL ou des validations Devnet impose un ajustement.
Il doit être maintenu pendant chaque prerelease, puis archivé pendant la dernière prerelease après transfert des décisions durables vers le ROADMAP, les matrices, les guides, les rapports, les TODO et les changelogs concernés.
@@ -276,7 +276,7 @@ Résultat durable : les neuf instructions stables possèdent une opération typ
Travaux parallèles intégrés : les fonctions de matérialisation Metaplex existaient déjà dans `materializer/metadata/core.rs`; il ne sagissait donc pas dun oubli fonctionnel de `0.4.6/0.4.7`. Elles sont déplacées dans un sous-module dédié sans changement de clé métier. Token-2022 reçoit également son composant dédié de snapshots, puis `pre.008` ajoute son matérialiseur instructionnel spécialisé ainsi que celui de Metaplex. Laudit est ensuite étendu à lensemble de `src/materializer` : 25 identités sont harmonisées, les façades deviennent pures, les implémentations utilisent `materializer.rs`, les constantes sont centralisées et les coquilles réservées ne produisent plus de faux événements legacy. Les constats sont consignés dans `docs/audits/V0_4_8_PRE_007_METAPLEX_MATERIALIZER_STRUCTURE_AUDIT.md` et `docs/audits/V0_4_8_PRE_007_MATERIALIZER_CONVENTION_AUDIT.md`. Un audit transversal de toutes les surfaces déjà livrées est planifié en `0.5.x` pour vérifier les règles de décodage exhaustif, propriété de matérialisation, exécution des opérations dangereuses via `ExSafetyChecker`, dépréciation officielle et versions remplacées decode-only.
### `0.4.8-pre.008` — pipeline stateful Solana Program Metadata — code terminé, replay historique à revalider
### `0.4.8-pre.008` — pipeline stateful et replay mainnet Solana Program Metadata — terminé
- lectures RPC bornées des comptes absents, non initialisés, `Buffer` et `Metadata` ;
- décodage et matérialisation autoritative des états via `kb-lib` ;
@@ -284,50 +284,66 @@ Travaux parallèles intégrés : les fonctions de matérialisation Metaplex exis
- passage par `ExSafetyChecker`, readiness simulation-first, résolution des signers et autorisation de soumission ;
- postconditions avant/après des neuf opérations, sans succès inventé lorsquune lecture manque ;
- matrice pipeline machine-readable ;
- enregistrement du décodeur et des trois matérialiseurs metadata spécialisés dans le replay générique desktop pour le futur test `demo_backfill` ;
- enregistrement du décodeur et des trois matérialiseurs metadata spécialisés dans le replay générique desktop ;
- nomenclature interne `metadata_*`, `spl_*` et `solana_*` alignée sur les domaines de `kb-lib` ;
- aucune modification de `kb-pipeline-demo-scenarios` ni de `demo_execution_metadata`.
- audit consigné dans `docs/audits/V0_4_8_PRE_008_METADATA_SOLANA_PROGRAM_PIPELINE_AUDIT.md`.
- première campagne historique : 200 transactions importées, 582 instructions rejouées et 132 instructions `ProgM6…` reconnues ; toutes ont été rejetées à tort parce que le décodeur comparait les privilèges globaux du message par égalité avec les minima de linstruction ;
- `pre.008-fix-002` remplace cette égalité par une validation de minima et ajoute une régression sur les neuf instructions ; la campagne des 132 entrées doit être rejouée avant douvrir `pre.009`.
- correction du décodeur pour valider les privilèges requis comme minima au lieu dexiger légalité avec les privilèges globaux du message ;
- replay mainnet final : 132 instructions `ProgM6…` dispatchées, 132 décodées, 132 matérialisées, zéro échec et zéro refus ;
- opérations observées : `Write` 88, `Allocate` 15, `Initialize` 11, `SetAuthority` 7, `Close` 5, `SetData` 5 et `SetImmutable` 1 ;
- `Trim` et `Extend` restent non observées dans léchantillon mainnet et doivent être prouvées sur Devnet ;
- preuve conservée sous `docs/validation/evidence/v0.4.8/pre.008/mainnet/`.
### `0.4.8-pre.009` — campagne Devnet et desktop Solana Program Metadata
### `0.4.8-pre.009` — scénarios réutilisables Solana Program Metadata — terminé côté delta
- fixture Rust native et comptes préfinancés ;
- scénarios réutilisables dans `kb-pipeline-demo-scenarios` ;
- appels RPC de simulation, soumission, confirmation, lectures avant/après et replay ;
- adaptation du sous-panneau `ProgM6…` de `demo_execution_metadata` pour consommer les runners réutilisables ;
- validation historique préalable via `demo_backfill`, Core extraction et decode replay sur un échantillon de signatures ;
- preuves RPC et rapport intermédiaire.
- séparation stricte : `kb-pipeline` reste généraliste et inchangé, tandis que les fixtures et campagnes réseau appartiennent à `kb-pipeline-demo-scenarios` ;
- deux parcours ordonnés couvrent exactement les neuf opérations stables ;
- parcours Buffer : `Allocate → Extend → Write → Trim → Close` ;
- parcours Metadata : `Initialize → SetData → SetAuthority → SetImmutable` ;
- création de deux PDA non canoniques uniques et préfinancés avec le wallet persistant du profil Devnet ;
- calcul RPC du rent pour les tailles initiales et finales ;
- runner unitaire simulation-first avec `ExSafetyChecker`, soumission contrôlée, confirmation, lectures avant/après et postconditions ;
- campagne confirmée réutilisable exécutant séquentiellement les neuf étapes ;
- projections stateful matérialisées après confirmation, ou preuve dabsence après `Close` ;
- matrice Devnet conservative à `not_run` avant exécution réelle ;
- aucune modification de `demo_execution_metadata` dans cette prerelease.
### `0.4.8-pre.010` — complétude Token-2022 Token Metadata
### `0.4.8-pre.010` — intégration desktop et campagne Devnet Solana Program Metadata
- adapter le sous-panneau `ProgM6…` de `demo_execution_metadata` pour consommer exclusivement les runners de `kb-pipeline-demo-scenarios` ;
- préparer la fixture, présenter les deux parcours et exiger la confirmation explicite avant les transferts ou mutations ;
- exécuter les neuf opérations sur Devnet, avec signatures, simulations, confirmations et postconditions ;
- hydrater les signatures confirmées, lancer Core extraction, decode replay et matérialisation canonique ;
- mettre à jour la matrice de validation sans convertir une simulation ou une construction synthétique en preuve confirmée ;
- confirmer particulièrement `Trim` et `Extend`, absentes de léchantillon mainnet ;
- conserver des résultats JSON dans le JsonViewer commun.
### `0.4.8-pre.011` — complétude Token-2022 Token Metadata
- fermeture des écarts dintents/builders/exécution confirmés pour `UpdateAuthority` et `Emit`, après réaudit des cinq instructions `Initialize`, `UpdateField`, `RemoveKey`, `UpdateAuthority` et `Emit` ;
- conservation des snapshots dédiés `metadata/token_2022/` pour `TokenMetadata`, `TokenGroup` et `TokenGroupMember` ;
- validation de la matérialisation instructionnelle spécialisée déjà ajoutée en `pre.008` pour les interfaces Token Metadata et Token Group ;
- validation de la matérialisation instructionnelle spécialisée des interfaces Token Metadata et Token Group ;
- maintien de `InitializeMetadataPointer` et `UpdateMetadataPointer` dans le matérialiseur dadministration qui en possède déjà les faits ;
- tests synthétiques et stateful.
### `0.4.8-pre.011` — campagne Devnet Token-2022 Token Metadata
### `0.4.8-pre.012` — campagne Devnet Token-2022 Token Metadata
- fixture mint ;
- simulations, soumissions sûres, confirmations, postconditions, replay et matérialisation.
### `0.4.8-pre.012` — finalisation desktop metadata
### `0.4.8-pre.013` — finalisation desktop metadata
- compléter le sous-panneau Token-2022 après les travaux de `pre.010` et `pre.011` ;
- compléter le sous-panneau Token-2022 après les travaux de `pre.011` et `pre.012` ;
- conserver des accordéons ou sous-panneaux séparés pour `ProgM6…`, Token-2022 et Metaplex ;
- réutiliser le JsonViewer commun pour les résultats intégralement JSON ;
- réconcilier préparation, simulation, soumission, lectures et preuves des trois domaines ;
- aucun bouton de fetch URI.
### `0.4.8-pre.013` — stockage, matrices et réconciliation transversale
### `0.4.8-pre.014` — stockage, matrices et réconciliation transversale
- stockage si de nouveaux contrats persistants sont requis ;
- exports, registres, matrices, nomenclature IDL et guides ;
- retrait des statuts `reserved` uniquement lorsque limplémentation correspondante est réelle.
### `0.4.8-pre.014` — clôture obligatoire
### `0.4.8-pre.015` — clôture obligatoire
Réservée à :

View File

@@ -0,0 +1,45 @@
<!-- file: docs/validation/V0_4_8_PRE_008_SOLANA_PROGRAM_METADATA_MAINNET_REPLAY_REPORT.md -->
<!-- version: 1 -->
# Validation mainnet du replay Solana Program Metadata — `0.4.8-pre.008`
## Résultat
La campagne historique exécutée après `pre.008-fix-002` valide le parcours réel `backfill → Core extraction → decode replay → matérialisation` pour les instructions Solana Program Metadata observées.
```text
dispatched = 132
decoded = 132
failed = 0
processingErrors = 0
materializedOutputs = 132
materializationRefused = 0
```
## Répartition observée
| Opération | Observée | Décodée | Matérialisée |
|----------------|---------:|--------:|-------------:|
| `Write` | 88 | 88 | 88 |
| `Allocate` | 15 | 15 | 15 |
| `Initialize` | 11 | 11 | 11 |
| `SetAuthority` | 7 | 7 | 7 |
| `Close` | 5 | 5 | 5 |
| `SetData` | 5 | 5 | 5 |
| `SetImmutable` | 1 | 1 | 1 |
| `Trim` | 0 | 0 | 0 |
| `Extend` | 0 | 0 | 0 |
Les sept opérations rencontrées sont validées sur données mainnet réelles. `Trim` et `Extend` restent validées synthétiquement mais non observées dans cet échantillon. Elles doivent être exercées par les scénarios Devnet de `pre.009` et `pre.010`.
## Anomalies non liées
Quatre entrées Loader v4 ont été classées `Unsupported` sans échec de traitement. Elles proviennent de transactions déjà échouées avec `ProgramAccountNotFound` et ne concernent pas `ProgM6…`.
## Preuve conservée
- archive : `docs/validation/evidence/v0.4.8/pre.008/mainnet/mainnet_research_v0.4.8-pre.008-01.zip` ;
- SHA-256 : `16b3722d4b75afdef304f7b16af4baa3b51713d87a74e9e4a7aac0c0f0411335` ;
- manifeste : `docs/validation/evidence/v0.4.8/pre.008/mainnet/SHA256SUMS`.
Cette archive est une preuve documentaire immuable. Le code, les tests et les runners ne doivent jamais en dépendre.

View File

@@ -0,0 +1,18 @@
<!-- file: docs/validation/evidence/v0.4.8/pre.008/mainnet/README.md -->
<!-- version: 1 -->
# Preuve mainnet `0.4.8-pre.008`
Ce répertoire conserve la preuve binaire de la campagne historique ayant validé le décodeur et le matérialiseur Solana Program Metadata après `pre.008-fix-002`.
## Artefact
- fichier : `mainnet_research_v0.4.8-pre.008-01.zip` ;
- SHA-256 : `16b3722d4b75afdef304f7b16af4baa3b51713d87a74e9e4a7aac0c0f0411335` ;
- origine : export de logs produit le 6 août 2026 pendant le replay mainnet ;
- usage : preuve documentaire et diagnostic reproductible ;
- chargement applicatif : aucun.
Larchive ne doit pas être extraite dans larbre source. Elle est référencée par le rapport `docs/validation/V0_4_8_PRE_008_SOLANA_PROGRAM_METADATA_MAINNET_REPLAY_REPORT.md`.
Un contrôle avant archivage na trouvé ni fichier de wallet, ni keypair, ni `.env`, ni marqueur dURL ou dautorisation dans les contenus textuels. Cette vérification ne remplace pas une revue humaine avant publication hors du dépôt privé.

View File

@@ -0,0 +1 @@
16b3722d4b75afdef304f7b16af4baa3b51713d87a74e9e4a7aac0c0f0411335 mainnet_research_v0.4.8-pre.008-01.zip