Files
khadhroony-solana-project/deltas/0.3.13/pre.008-fix.002.md

90 lines
3.5 KiB
Markdown

<!-- file: deltas/0.3.13/pre.008-fix.002.md -->
<!-- version: 1 -->
# Delta 0.3.13-pre.008-fix.002 — correction visibilité hydration globale et constructeur de test
## Base requise
```text
livraison précédente : 0.3.13-pre.008-fix.001
Cargo base : 0.3.13-pre.8.fix.1
delta base : deltas/0.3.13/pre.008-fix.001.md
archive delta base : ksp-general-0.3.13-pre.008-fix.001.zip
```
Le gate opérateur du 10 septembre 2026 confirme que `cargo fmt`, `cargo fmt --check`, les audits Rust/Markdown et `cargo check --workspace` passent. `cargo check` signale toutefois quatre warnings dans le Worker, puis Clippy strict les transforme en erreurs :
```text
3 x private_interfaces : trois méthodes pub(crate) run exposent RawTransactionIngestGlobalHydrationRegistry, qui reste privée au module
1 x dead_code : RawTransactionIngestHydrationCoordinator::new n'est plus utilisé en production depuis la registry globale pre.008
```
Malgré l'échec Clippy, `cargo test -p ksp-worker-raw-transaction-ingest-lib` compile et passe ensuite : `94/94` tests unitaires et toutes les suites d'intégration affichées sont vertes.
## Objectif du fix
Corriger strictement ces quatre diagnostics sans élargir l'API interne et sans modifier le contrat de convergence :
```text
YellowstoneSource::run : pub(crate) -> privé au module
HeliusTransactionSource::run : pub(crate) -> privé au module
StandardLogsSource::run : pub(crate) -> privé au module
HydrationCoordinator::new : compilé uniquement sous #[cfg(test)]
GlobalHydrationRegistry : reste privée au module
```
Les trois méthodes `run` concernées ne sont appelées que par `RawTransactionIngestLiveSource::run` dans le même module. La registry globale ne doit donc pas être rendue `pub(crate)` uniquement pour satisfaire la visibilité d'une signature.
Le constructeur `RawTransactionIngestHydrationCoordinator::new` reste disponible pour les tests unitaires historiques mais n'entre plus dans le binaire production ; le runtime `pre.008` utilise `with_global_registry` avec la registry partagée du supervisor.
## Version
```text
livraison : 0.3.13-pre.008-fix.002
workspace.package.version : 0.3.13-pre.8.fix.2
archive : ksp-general-0.3.13-pre.008-fix.002.zip
```
`Cargo.toml` passe de la version de fichier `554` à `555`.
## Fichiers modifiés
```text
Cargo.toml
crates/ksp-worker-raw-transaction-ingest-lib/src/runtime_resources.rs
```
`runtime_resources.rs` passe de la version de fichier `22` à `23`.
## Fichiers ajoutés
```text
deltas/0.3.13/pre.008-fix.002.md
```
## Fichiers supprimés
```text
aucun
```
## Non-claims
Ce fix ne modifie aucune dépendance, aucune API publique, aucune clé de convergence, aucune borne de registry/cache, aucune sémantique d'hydration, aucune observation/provenance, aucun comportement Store et aucune politique multi-source.
## 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.009
```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
```