# Delta `0.3.14-pre.007-fix.001` — correction `large_enum_variant` ## Base requise ```text 0.3.14-pre.007 workspace.package.version = 0.3.14-pre.7 deltas/0.3.14/pre.007.md présent ``` ## Objectif Corriger strictement la tranche `pre.007` après le gate opérateur, sans modifier sa responsabilité fonctionnelle : ```text faire passer Clippy -D warnings sans allow/expect conserver exactement la distinction Available/Missing de l'hydration known-reference conserver le registre global d'hydration unique ne pas avancer la réconciliation prévue en pre.008 ``` ## Défaut observé Le gate opérateur sur `0.3.14-pre.7` a produit : ```text cargo fmt --all : PASS cargo fmt --all -- --check : PASS audit Rust workspace rules : PASS audit Markdown tables : PASS cargo check --workspace : PASS cargo clippy --workspace --all-targets --all-features -- -D warnings : FAIL cargo test -p ksp-worker-raw-transaction-ingest-lib --all-targets --all-features : PASS ``` Clippy refuse `RawTransactionIngestKnownReferenceHydrationResolution` avec `clippy::large_enum_variant` : ```text Available(RawTransactionIngress) : au moins 488 octets Missing { ... } : au moins 105 octets ``` Les `133` unit tests Worker ainsi que les suites d'intégration exécutées passent ; le défaut est donc un défaut de représentation mémoire détecté par le gate strict, pas un échec fonctionnel observé. ## Cause `pre.007` transporte directement `RawTransactionIngress` dans la variante `Available` de l'enum privé de résolution known-reference. `RawTransactionIngress` est nettement plus volumineux que la variante `Missing`, ce qui force chaque valeur de l'enum à avoir la taille de la variante la plus grande et déclenche le lint `large_enum_variant` sous `-D warnings`. ## Correction La variante disponible devient : ```text Available(Box) ``` La valeur est boxée uniquement au moment où `finalize_hydration` fournit un ingress disponible, puis immédiatement déboxée au point de consommation avant admission dans le pipeline commun. Le unit test `pre.007` qui injecte directement cette résolution dans `RawTransactionAdmission` déboxe également la valeur. Aucune variante, disposition, obligation, clé de coalescence, requête HTTP, provenance ou décision de runtime ne change. ## Fichiers ajoutés ```text deltas/0.3.14/pre.007-fix.001.md ``` ## 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 ``` ## Fichiers supprimés ```text aucun ``` ## Version Cargo Le fix modifie du code Rust ; conformément à `VER-ID-007` et `VER-ID-010` : ```text header Cargo.toml : 574 -> 575 workspace.package.version : 0.3.14-pre.7 -> 0.3.14-pre.7.fix.1 ``` Versions de fichiers : ```text src/runtime_resources.rs : 33 -> 34 unit_tests/runtime_resources.rs : 27 -> 28 ``` ## Frontières préservées ```text aucune nouvelle tâche aucun nouveau scheduler aucun nouveau registre d'hydration aucun nouveau retry Worker aucune nouvelle requête HTTP aucune nouvelle dépendance aucune nouvelle feature aucun accès Config depuis Worker aucun accès Job Backfill depuis Worker aucun backend Store physique depuis Worker aucune extension de surface publique aucune intégration anticipée du gap ledger/supervisor de pre.008 ``` ## Validations exécutées Dans le sandbox de préparation : ```text 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 scan des usages de RawTransactionIngestKnownReferenceHydrationResolution comparaison exacte pre.007 -> pre.007-fix.001 contrôle du contenu de l'archive delta unzip -t de l'archive delta ``` ## Validations non exécutées Le sandbox de préparation ne fournit pas le toolchain Cargo/Rust. Les gates suivants restent à exécuter côté opérateur : ```text cargo fmt --all cargo fmt --all -- --check cargo check --workspace cargo clippy --workspace --all-targets --all-features -- -D warnings cargo test -p ksp-worker-raw-transaction-ingest-lib --all-targets --all-features ``` ## Décisions prises ```text fix strict de pre.007 indirection uniquement sur la grosse variante Available aucun allow/expect Clippy aucune modification fonctionnelle de l'hydration known-reference pre.008 reste la première tranche autorisée à intégrer la réconciliation au supervisor/gap ledger ``` ## Questions ouvertes ```text aucune pour ce fix ``` ## Gate opérateur après application ```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 --all-targets --all-features ```