# Audit de clôture Solana natif `0.4.1` ## Objet Ce document fixe l’état final du jalon `0.4.1` : couverture native, preuves synthétiques, corpus mainnet observés et limites assumées. L’absence de transaction mainnet n’autorise ni à supprimer une surface officielle, ni à prétendre qu’elle a été observée. Elle impose une validation synthétique documentée et une tentative de découverte bornée lorsque la surface est officiellement déclarée. ## Surfaces couvertes `kb_decoder_solana_core` couvre 18 surfaces exécutables natives ou assimilées : 1. System Program ; 2. Vote Program ; 3. Stake Program ; 4. Config Program ; 5. Compute Budget Program ; 6. Address Lookup Table Program ; 7. ZK ElGamal Proof Program ; 8. Feature Program ; 9. ancien ZK Token Proof Program ; 10. Native Loader ; 11. BPF Loader v1 ; 12. BPF Loader v2 ; 13. BPF Loader Upgradeable ; 14. Loader v4 ; 15. Ed25519 precompile ; 16. secp256k1 precompile ; 17. secp256r1 precompile ; 18. Slashing Program. `StakeConfig11111111111111111111111111111111` est volontairement classé comme compte natif historique non exécutable. ## Divergence Slashing corrigée Agave `v4.1.1` déclare le programme stateless Slashing sous : ```text S1ashing11111111111111111111111111111111111 ``` La surface a été ajoutée dans `pre.018` : deux instructions exactes, dispatch sans fallback, couverture déclarée et projection de rapport. Aucun corpus public observable n’a été trouvé ; la validation repose donc sur les sources officielles et les fixtures synthétiques. ## Invariants automatiques Les tests garantissent que : - chaque entrée de `kb_program_ids::native_program_ids()` possède exactement une surface de décodeur ; - chaque surface possède au moins une déclaration de couverture ; - aucune déclaration n’utilise le fallback `unclassified_native_instruction` ; - chaque déclaration référence une surface réellement déclarée ; - les identités programme/surface/entrée sont uniques ; - le Slashing Program est dispatché vers son parseur exact ; - ZK Token Proof historique passe par le fallback actuel no-op sans prétendre vérifier une preuve. ## Corpus et replays validés | Programme | Résultat de clôture | |---------------------------|------------------------------------------------------------------------------| | System | 817 inputs décodés, 258 sorties, 52 refus attendus sur transactions échouées | | Config | 96 inputs décodés, 96 sorties admin | | Stake | 448 inputs décodés, 447 sorties, 1 refus attendu | | Vote | 600 inputs décodés, 600 sorties | | Compute Budget | 2 746 inputs décodés, 1 603 profils transactionnels | | Address Lookup Table | 104 inputs décodés, 104 sorties lifecycle | | ZK ElGamal | 151 inputs décodés, 139 sorties de contexte | | Slashing | zéro corpus public observable, validation synthétique | | Feature | zéro corpus observable dans les campagnes adressées, validation synthétique | | Loaders rares | zéro corpus observable pour certaines générations, validation synthétique | | ZK Token Proof historique | zéro corpus public observable, runtime actuel no-op, validation synthétique | Les campagnes de clôture rapportées ont `unmatched = 0`, `failedInputs = 0`, `unsupported = 0` et ne produisent pas d’erreurs opérationnelles dans les journaux fournis. ## Backfills Aucun backfill supplémentaire n’est requis pour clôturer `0.4.1`. Le mode `program_latest` ajouté dans `pre.019` reste disponible pour de futures recherches sans signature d’ancrage. Il ne doit pas être utilisé pour inventer un corpus absent sur des surfaces feature-gated ou historiquement rares. ## Matérialisations La clôture instructionnelle est documentée dans `docs/NATIVE_SOLANA_MATERIALIZATION_AUDIT.md`. Aucune projection native stable immédiatement dérivable du graphe core actuel n’est identifiée comme manquante. Les snapshots finaux de comptes et métriques runtime restent différés. ## Validations finales Validations utilisateur finales rapportées pour la clôture : ```text kb_program_ids 5 tests kb_decoder_solana_core 114 tests kb_materializer_lifecycle 16 tests kb_materializer_admin 7 tests kb_materializer_compliance_audit 7 tests kb_materializer_staking 8 tests kb_config 36 tests kb_pipeline 45 tests kb_store_pg 45 tests avec PostgreSQL réel kb_app_demo 78 tests cargo clippy --all-targets propre ``` Le démarrage Tauri validé après `pre.021-fix.001` confirme les 53 routes de logging et l’initialisation PostgreSQL. `pre.022` ne modifie pas la configuration Tauri. ## Décision `0.4.1` est clôturée. La prochaine session doit utiliser `prompts/022_v0_4_2_executor_solana_core.md` et démarrer `0.4.2` sur l’infrastructure d’exécution et `kb_executor_solana_core`.