98 lines
2.5 KiB
Markdown
98 lines
2.5 KiB
Markdown
<!-- file: deltas/0.3.12/pre.009-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.3.12-pre.009-fix.001` — correction du canari duplicate-storm
|
|
|
|
## Base requise
|
|
|
|
```text
|
|
0.3.12-pre.009
|
|
workspace.package.version = 0.3.12-pre.9
|
|
```
|
|
|
|
## Objectif
|
|
|
|
Corriger l'unique échec du gate opérateur de `pre.009` sans modifier le runtime :
|
|
|
|
```text
|
|
pre_009_duplicate_storm_is_bounded_coalesced_and_abort_leaves_no_orphan_frontier
|
|
left: None
|
|
right: Some(9)
|
|
```
|
|
|
|
La predecessor `9` n'est pas une garantie du modèle borné. Après compaction, un pending tardif sur la candidate haute peut rendre la frontier conservative `None`. Le contrat requis est seulement qu'elle n'avance pas à travers le pending et qu'un abort ne l'avance pas artificiellement.
|
|
|
|
## Version
|
|
|
|
```text
|
|
workspace.package.version = 0.3.12-pre.9.fix.1
|
|
```
|
|
|
|
## Correction
|
|
|
|
Le canari conserve les preuves de saturation/coalescence/no-orphan mais remplace l'attente exacte `Some(9)` par les invariants :
|
|
|
|
```text
|
|
frontier pré-abort != Some(10)
|
|
sauvegarde de la frontier sûre pré-abort
|
|
abort_all -> 0 pending / 0 tâche
|
|
frontier post-abort == frontier sûre pré-abort
|
|
```
|
|
|
|
Aucun test n'est supprimé et aucune garantie productive n'est relâchée.
|
|
|
|
## Fichiers modifiés
|
|
|
|
```text
|
|
Cargo.toml
|
|
crates/ksp-worker-raw-transaction-ingest-lib/unit_tests/runtime_resources.rs
|
|
docs/validation/029-V0_3_12_YELLOWSTONE_HYDRATION_CONTINUITY.md
|
|
```
|
|
|
|
## Fichier ajouté
|
|
|
|
```text
|
|
deltas/0.3.12/pre.009-fix.001.md
|
|
```
|
|
|
|
## Fichiers supprimés
|
|
|
|
```text
|
|
aucun
|
|
```
|
|
|
|
## Non-changements
|
|
|
|
```text
|
|
aucun code productif modifié
|
|
aucune API publique modifiée
|
|
aucune sémantique frontier/coalescence/hydration modifiée
|
|
aucun changement Transport/Store/Config/Backfill/Common RAW
|
|
aucun nouveau retry ou repair
|
|
```
|
|
|
|
## Validations 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
|
|
canari statique du test corrigé
|
|
contrôle diff exact contre pre.009
|
|
unzip -t
|
|
reproduction du delta sur pre.009
|
|
```
|
|
|
|
`cargo`, `rustc` et `rustfmt` ne sont pas disponibles dans l'environnement d'assemblage ; aucun gate Cargo local n'est revendiqué.
|
|
|
|
## Gate opérateur requis
|
|
|
|
```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-onchain-transport-lib
|
|
cargo test -p ksp-worker-raw-transaction-ingest-lib
|
|
```
|