6.4 KiB
Delta 0.3.10-pre.006-fix.001 — corrections Rust du gate pre.006 + recalibrage du sizing
Base requise
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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
deltas/0.3.10/pre.006-fix.001.md
Fichiers modifiés
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.006ne changent pas. - Le canari Yellowstone reste test-only et n'ajoute aucun nouvel edge productif.
0.3.10est 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.14afin 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.15et0.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.