131 lines
3.5 KiB
Markdown
131 lines
3.5 KiB
Markdown
<!-- file: deltas/0.3.12/pre.003-fix.002.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.3.12-pre.003-fix.002` — correction du canari source sous `#[cfg(test)]`
|
|
|
|
## Base requise
|
|
|
|
```text
|
|
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 :
|
|
|
|
```text
|
|
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 :
|
|
|
|
```text
|
|
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 :
|
|
|
|
```text
|
|
}\n\nimpl std::fmt::Debug for RawTransactionIngestSourceSignal
|
|
```
|
|
|
|
Après `pre.003-fix.001`, la forme correcte est :
|
|
|
|
```text
|
|
}
|
|
|
|
#[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
|
|
|
|
```text
|
|
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
|
|
|
|
```text
|
|
deltas/0.3.12/pre.003-fix.002.md
|
|
```
|
|
|
|
## Fichiers modifiés
|
|
|
|
```text
|
|
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
|
|
|
|
```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
|
|
```
|
|
|
|
`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é
|
|
|
|
```bash
|
|
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 :
|
|
|
|
```text
|
|
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
|
|
```
|