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

@@ -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`.