v0.4.7-pre.012

This commit is contained in:
2026-08-03 09:34:16 +02:00
parent 4b727e2990
commit 4d08c75b2b
13 changed files with 575 additions and 36 deletions

View File

@@ -0,0 +1,54 @@
<!-- file: docs/validation/V0_4_7_PRE_012_METAPLEX_DEVNET_RUNNER_COVERAGE.md -->
<!-- version: 4 -->
# Validation `0.4.7-pre.012` — couverture du runner Devnet Metaplex
## Résultat
La matrice Devnet couvre exactement les 20 opérations `executable_current`. Les quatre opérations du premier lot restent attribuées à `pre.011` et les seize restantes à `pre.012`. Toutes portent désormais `runnerStatus: implemented`.
## Accès aux campagnes
`DevnetMetaplexTokenMetadataExecutionRequest::from_operation_json` désérialise une opération typée, rejette les opérations dépréciées et produit une requête simulation-only. Le test opt-in `optional_devnet_current_operation_from_env` permet une simulation RPC réelle ou une soumission explicitement confirmée.
## Correctif de compilation
Le contrat `MetaplexTokenMetadataStatefulReadRequest` dérive désormais `Deserialize` et `Serialize`. Les listes JSON fournies par `KB_DEVNET_METAPLEX_PREFLIGHT_READS_JSON` et `KB_DEVNET_METAPLEX_POSTCONDITION_READS_JSON` peuvent donc être chargées par le test opt-in. Un test de round-trip JSON protège ce contrat.
## Statut réseau
Aucune preuve réseau nest inventée dans ce livrable. Les 20 opérations restent `not_run` jusquà exécution locale avec fixtures, endpoint Devnet, wallet et préconditions compatibles.
## Validations à exécuter localement
```bash
cargo fmt --all
cargo check --workspace
cargo clippy --all-targets
python3 scripts/audit_rust_workspace_rules.py
cargo test -p kb-pipeline-demo-scenarios
```
## Correctif ergonomique `fix-002`
Le placeholder `{"operation":"..."}` n'est plus présenté comme exécutable et est rejeté avec une erreur dédiée. La crate expose désormais :
- l'inventaire des vingt opérations courantes ;
- des modèles JSON pour `Create`, `Update`, `Verify` et `Unverify` ;
- des constructeurs nommés pour `Verify` et `Unverify` créateur ;
- des tests vérifiant la validité JSON des modèles et le caractère conservateur des requêtes nommées.
Les modèles utilisent des valeurs entre chevrons qui doivent être remplacées par des comptes Devnet réels. Ils ne constituent pas une preuve réseau.
## Correctif de dépendance et dassertion `fix-003`
La crate déclare désormais explicitement `mpl-token-metadata.workspace = true`, nécessaire aux types utilisés directement par les modèles de campagnes. Le test de rejet du placeholder attend le code stable `config`, conformément au contrat de `kb_core::Error::config`.
Validations opérateur observées avant ce correctif :
- `cargo fmt --all` : réussi ;
- `cargo check --workspace` : réussi ;
- `cargo clippy --all-targets` : réussi ;
- audit général, exports et règles Khadhroony : propres ;
- `cargo test -p kb-pipeline-demo-scenarios` : 53 tests réussis et un seul échec limité à lassertion `configuration_error` au lieu de `config`.