Files
khadhroony-solana-project/deltas/0.3.12/pre.003-fix.002.md

3.5 KiB

Delta 0.3.12-pre.003-fix.002 — correction du canari source sous #[cfg(test)]

Base requise

0.3.12-pre.003-fix.001
workspace.package.version = 0.3.12-pre.3.fix.1

Le gate opérateur reçu pour pre.003-fix.001 montre :

audit Rust : clean
audit Markdown : clean (340 tables, 804 fichiers)
cargo check --workspace : PASS
cargo clippy --workspace --all-targets --all-features -- -D warnings : PASS
unit tests Worker : 45 PASS
integration dependency_boundary : 4 PASS
integration public_api : 8 PASS
integration release_completeness : 3 PASS
integration hardening : 9 PASS, 1 FAIL

L'unique échec est v0_3_12_pre_003_private_signal_debug_and_shape_do_not_expose_signature_filters_or_payload, qui rapporte à tort required private signal field missing: created_at:.

Objectif

Corriger exclusivement le canari source devenu incompatible avec l'attribut #[cfg(test)] introduit par pre.003-fix.001, sans modifier le contrat runtime ni avancer pre.004.

Version

La correction modifie un test Rust ; conformément aux règles de version du workspace :

delivery id = 0.3.12-pre.003-fix.002
workspace.package.version = 0.3.12-pre.3.fix.2

Correction

Le scanner du test isolait RawTransactionIngestSourceSignal avec une terminaison littérale qui supposait que son impl Debug suivait immédiatement la structure :

}\n\nimpl std::fmt::Debug for RawTransactionIngestSourceSignal

Après pre.003-fix.001, la forme correcte est :

}

#[cfg(test)]
impl std::fmt::Debug for RawTransactionIngestSourceSignal

Le scanner est donc rendu indépendant de cet attribut : après avoir trouvé la déclaration de la structure, il borne désormais le segment sur le début de impl std::fmt::Debug for RawTransactionIngestSourceSignal lui-même.

Cette forme fonctionne avec les adapters actuellement test-only et restera compatible lorsque pre.004 remettra ces helpers dans le build productif.

Décisions prises

aucune modification du signal privé
aucune modification de runtime_resources.rs
aucun allow/expect lint
aucune activation Yellowstone/HTTP/Store
aucune avance fonctionnelle vers pre.004
correction limitée au canari qui inspecte la source

Questions ouvertes

Aucune.

Fichiers ajoutés

deltas/0.3.12/pre.003-fix.002.md

Fichiers modifiés

Cargo.toml
crates/ksp-worker-raw-transaction-ingest-lib/tests/hardening.rs
docs/validation/029-V0_3_12_YELLOWSTONE_HYDRATION_CONTINUITY.md

Fichiers supprimés

Aucun.

Validations exécutées dans l'environnement d'assemblage

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, rustc et rustfmt ne sont pas installés dans cet environnement ; aucun gate Cargo local n'est déclaré PASS.

Gate opérateur demandé

cargo fmt --all
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

Non-claims

Ce fix ne revendique toujours pas :

stream Yellowstone ouvert
update réseau consommée
hydration HTTP
Common RAW issu du réseau
provenance composite finale
persistence réseau
Block / BlockMeta / Slot
coalescence
frontier / from_slot / ReplayInfo