# Delta `0.3.10-pre.006-fix.001` — corrections Rust du gate `pre.006` + recalibrage du sizing ## Base requise ```text 0.3.10-pre.006 ``` L'archive opérateur `khadhroony-solana-project- v0.3.10-pre.006.zip` est la base autoritaire de ce correctif. ## Objectif Corriger strictement les défauts Rust révélés par le premier gate opérateur de `pre.006` sans modifier le contrat RAW V1, les goldens, la décision Yellowstone ni les dépendances de production, puis corriger le plan devenu surdimensionné avant toute implémentation lourde du Worker. Le gate opérateur a révélé trois familles de défauts dans la responsabilité `pre.006` : ```text clippy::collapsible_if dans la validation V1 du heap size assert_eq! sur Result<&str, &Error> exigeant à tort PartialEq sur Error canari Yellowstone utilisant Error::new avec un &str et formatant ErrorCode via Display inexistant ``` ## Version Le correctif modifie du Rust et synchronise donc la version technique Cargo conformément à `VER-ID-007` et `VER-ID-010` : ```text workspace.package.version = 0.3.10-pre.6.fix.1 ``` ## Corrections Rust `ksp-raw-transaction-lib/src/wire.rs` applique la forme Clippy proposée pour la garde `heap_size` V1 sans modifier les bornes ni le résultat fonctionnel. `unit_tests/wire.rs` conserve exactement les quatre golden Base64 mais compare les succès par pattern matching, sans imposer `PartialEq` au type d'erreur KSP. `yellowstone_raw_parity.rs` construit désormais l'erreur de projection test-only avec un `ErrorCode` structuré et formate les codes d'erreur explicitement via `domain()` + `code()`. Aucun code d'erreur public de production n'est ajouté. ## Recalibrage du sizing Le plan initial associait dans `0.3.10` deux moitiés devenues nettement séparables : ```text common RAW + migration/parités = déjà matérialisées en pre.002 à pre.006 runtime Worker + sources + repair = pas encore commencé ``` Les anciennes tranches `pre.007` à `pre.011` cumulaient plusieurs responsabilités chacune et ne respectaient plus le budget normatif d'environ 15 à 20 minutes. La clôture de toute la mission initiale dans une seule session devenait également incertaine. Le redécoupage durable retenu est donc : ```text 0.3.10 = common RAW + observed block + qualification HTTP/WS/Helius/Yellowstone 0.3.11 = Worker foundation/runtime + persistence déterministe 0.3.12 = Yellowstone + hydration HTTP + continuity 0.3.13 = WS/Helius/HTTP live + convergence multi-source 0.3.14 = gap repair/hardening + smokes provider accessibles 0.3.15 = Desk d'ingestion 0.3.16 = Backfill multi-source/multi-stratégie ``` La queue de fermeture de `0.3.10` devient : ```text pre.007 = gate technique final, budget 15-20 min pre.008 = réconciliation documentaire, budget 10-15 min pre.009 = préparation de publication, budget 5-10 min rel.001 = publication stable mécanique ``` Chaque nouvelle release Worker recommencera par sa propre `pre.001` de sizing et devra scinder toute prerelease estimée au-delà du budget. ## Vérification de l'archive Exécuté sur l'archive autoritaire avant modification : ```text unzip -t : PASS racine ZIP unique : PASS chemins absolus/traversal : 0 symlinks : 0 workspace.package.version base : 0.3.10-pre.6 prompt 029 présent : PASS règles obligatoires présentes : PASS ``` ## Validations exécutées Après les corrections Rust et le recalibrage documentaire : ```bash 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/0.3.10 ``` Résultats : ```text General Rust rule audit : clean Rust export completeness audit : 0 candidate(s) KSP workspace Rust rule audit : clean Markdown table audit : clean ``` Les contrôles structurels ont également vérifié que le delta ne contient aucun chemin d'archive dangereux et que les références durables principales du nouveau découpage sont cohérentes. ## Validations non exécutées dans l'environnement d'assemblage L'environnement d'assemblage ne fournit ni `cargo`, ni `rustc`, ni `rustfmt`. Les commandes suivantes ne sont donc **pas** déclarées PASS ici : ```bash cargo fmt --all cargo check --workspace cargo clippy --workspace --all-targets --all-features -- -D warnings cargo test -p ksp-raw-transaction-lib cargo test -p ksp-onchain-transport-lib cargo test -p ksp-job-backfill-lib cargo tree -p ksp-job-backfill-lib --edges normal cargo tree -p ksp-job-backfill-lib --edges dev cargo tree -p ksp-job-backfill-lib -e features ``` Elles constituent le rejeu opérateur requis pour fermer le fix. ## Fichiers ajoutés ```text deltas/0.3.10/pre.006-fix.001.md ``` ## Fichiers modifiés ```text Cargo.toml ROADMAP.md crates/ksp-job-backfill-lib/tests/yellowstone_raw_parity.rs crates/ksp-raw-transaction-lib/src/wire.rs crates/ksp-raw-transaction-lib/unit_tests/wire.rs docs/architecture/004-COMPONENT_INVENTORY.md docs/architecture/005-DEPENDENCY_GRAPH.md docs/architecture/009-ACQUISITION_WORKERS_AND_JOBS.md docs/architecture/010-APPS_SERVICES_SCENARIOS_AND_CONTROL.md docs/architecture/011-RAW_TRANSACTION_ACQUISITION.md docs/plans/031-V0_3_10_RAW_TRANSACTION_INGEST_PLAN.md docs/validation/027-V0_3_10_RAW_TRANSACTION_INGEST.md ``` ## Fichiers supprimés Aucun. ## Décisions prises - Les goldens Legacy/V0/V1 et le contrat RAW V1 de `pre.006` ne changent pas. - Le canari Yellowstone reste test-only et n'ajoute aucun nouvel edge productif. - `0.3.10` est réduit à la common RAW et aux qualifications cross-source déjà matérialisées avant ouverture du runtime Worker. - Le Worker concret est réparti sur `0.3.11` à `0.3.14` afin de respecter une release concrète par session et des prereleases bornées. - La Desk et le Backfill multi-source sont décalés respectivement à `0.3.15` et `0.3.16`. - Les anciens prompts/plans de releases déjà ouvertes restent des traces historiques et ne sont pas réécrits rétroactivement uniquement pour refléter ce recalibrage. ## Questions ouvertes Aucune question fonctionnelle nouvelle pour ce fix. Le prochain gate est le rejeu Rust opérateur du correctif, puis `pre.007` si ce rejeu est vert.