95 lines
3.3 KiB
Markdown
95 lines
3.3 KiB
Markdown
<!-- file: deltas/0.3.13/pre.004-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta 0.3.13-pre.004-fix.001 — retrait de la dépendance serde_json accidentelle
|
|
|
|
## Base requise
|
|
|
|
```text
|
|
livraison précédente : 0.3.13-pre.004
|
|
Cargo base : 0.3.13-pre.4
|
|
delta base : deltas/0.3.13/pre.004.md
|
|
archive delta base : ksp-general-0.3.13-pre.004.zip
|
|
```
|
|
|
|
Le gate opérateur de `pre.004` a révélé deux erreurs de compilation liées au même défaut : le Worker nommait directement `serde_json::Value` dans `runtime_resources.rs` alors que `serde_json` n'est pas une dépendance du crate, et le test de qualification Standard Block utilisait directement `serde_json::json!`.
|
|
|
|
## Objectif du fix
|
|
|
|
Supprimer cette dépendance accidentelle sans ajouter `serde_json` au manifeste du Worker et sans modifier le comportement productif de Standard Block.
|
|
|
|
Le chemin production conserve exactement le `meta` décodé par `ksp-onchain-transport-lib`, mais son type concret reste inféré depuis `SolanaBlockTransaction::meta()` et n'est plus nommé par le Worker.
|
|
|
|
Le helper de qualification reçoit désormais seulement la version, la position et une closure de construction du matériau. La closure production capture le `meta` opaque et le clone vers le Common RAW. La fixture Legacy/V0/V1 utilise un `RawTransactionWireField::Null`, car elle vérifie la signature embarquée, le slot, le `blockTime`, la version et le `transactionIndex`, pas le contenu de `meta`.
|
|
|
|
## Version
|
|
|
|
```text
|
|
livraison : 0.3.13-pre.004-fix.001
|
|
workspace.package.version : 0.3.13-pre.4.fix.1
|
|
archive : ksp-general-0.3.13-pre.004-fix.001.zip
|
|
```
|
|
|
|
`Cargo.toml` passe de la version de fichier `546` à `547`.
|
|
|
|
## Fichiers modifiés
|
|
|
|
```text
|
|
Cargo.toml
|
|
crates/ksp-worker-raw-transaction-ingest-lib/src/runtime_resources.rs
|
|
crates/ksp-worker-raw-transaction-ingest-lib/unit_tests/runtime_resources.rs
|
|
```
|
|
|
|
Les deux fichiers Rust passent de la version de fichier `15` à `16`.
|
|
|
|
## Fichiers ajoutés
|
|
|
|
```text
|
|
deltas/0.3.13/pre.004-fix.001.md
|
|
```
|
|
|
|
## Fichiers supprimés
|
|
|
|
```text
|
|
aucun
|
|
```
|
|
|
|
## Non-claims
|
|
|
|
Ce fix n'ajoute aucune dépendance, ne modifie aucune API publique et ne change ni la qualification Legacy/V0/V1, ni l'admission RAW, ni la frontier, ni le comportement réseau de `blockSubscribe`.
|
|
|
|
## Validation dans l'environnement d'assemblage
|
|
|
|
Le toolchain Rust/Cargo/Rustfmt n'est pas disponible dans l'environnement d'assemblage. Les commandes Cargo post-fix restent donc `NON EXÉCUTÉ LOCAL`. Les audits statiques KSP et le contrôle exhaustif du delta sont exécutés avant packaging.
|
|
|
|
## Gate opérateur requis avant pre.005
|
|
|
|
```bash
|
|
cargo fmt --all
|
|
cargo fmt --all -- --check
|
|
python3 scripts/audit_rust_workspace_rules.py
|
|
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
|
cargo test -p ksp-worker-raw-transaction-ingest-lib
|
|
```
|
|
|
|
## Résultats statiques finaux de l'assemblage
|
|
|
|
```text
|
|
General Rust rule audit: clean
|
|
Rust export completeness audit: 0 candidate(s)
|
|
KSP workspace Rust rule audit: clean
|
|
Markdown table audit: clean (340 tables, 836 files)
|
|
```
|
|
|
|
Contrôle exhaustif du delta :
|
|
|
|
```text
|
|
3 fichiers existants modifiés
|
|
1 fichier ajouté
|
|
0 fichier supprimé
|
|
aucune dépendance ajoutée
|
|
aucune référence directe serde_json dans les deux fichiers Rust corrigés
|
|
```
|