This commit is contained in:
2026-07-23 16:37:12 +02:00
parent 99c345f2f2
commit 0da75c1311
2159 changed files with 230833 additions and 0 deletions

View File

@@ -0,0 +1,113 @@
<!-- file: docs/NATIVE_SOLANA_CLOSURE_AUDIT.md -->
<!-- version: 5 -->
# 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.
Labsence de transaction mainnet nautorise ni à supprimer une surface officielle, ni à prétendre quelle 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 na é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 nutilise 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 derreurs opérationnelles dans les journaux fournis.
## Backfills
Aucun backfill supplémentaire nest requis pour clôturer `0.4.1`.
Le mode `program_latest` ajouté dans `pre.019` reste disponible pour de futures recherches sans signature dancrage. 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 nest 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 linitialisation 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 linfrastructure dexécution et `kb_executor_solana_core`.