108 lines
3.0 KiB
Markdown
108 lines
3.0 KiB
Markdown
<!-- file: deltas/0.3.12/pre.007-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.3.12-pre.007-fix.001` — correction de propagation de la processing frontier
|
|
|
|
## Base requise
|
|
|
|
```text
|
|
0.3.12-pre.007
|
|
workspace.package.version = 0.3.12-pre.7
|
|
```
|
|
|
|
Le gate opérateur de `pre.007` a validé les audits Rust/Markdown puis a échoué pendant `cargo check`/Clippy sur la propagation interne du receiver frontier et sur deux callsites test-only encore sur l'ancienne arité de `queue_signal`.
|
|
|
|
## Objectif
|
|
|
|
Corriger uniquement ces défauts d'intégration sans modifier le contrat fonctionnel de la processing frontier `pre.007`.
|
|
|
|
## Version
|
|
|
|
```text
|
|
workspace.package.version = 0.3.12-pre.7.fix.1
|
|
```
|
|
|
|
## Modifications
|
|
|
|
### Runtime supervisor
|
|
|
|
`processing_frontier_receiver` est désormais passé à `supervise_until_stop`, qui est le seul chemin qui le consomme via `wait_processing_frontier` et `record_processing_frontier`.
|
|
|
|
Le paramètre ajouté par erreur à `drain_admission_and_persistence` est retiré ; le drain reste inchangé fonctionnellement.
|
|
|
|
### Canari coalescence
|
|
|
|
Le test `pre_006_coalescence_key_merges_transaction_and_status_before_http_fanout` construit désormais un `RawTransactionIngestProcessingFrontierReporter` privé sur un `watch` local et le passe aux deux appels `queue_signal`.
|
|
|
|
Le comportement testé reste identique : les signaux Transaction et TransactionStatus identiques coalescent vers une seule hydration en vol.
|
|
|
|
## Fichiers modifiés
|
|
|
|
```text
|
|
Cargo.toml
|
|
crates/ksp-worker-raw-transaction-ingest-lib/src/runtime.rs
|
|
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.007-fix.001.md
|
|
```
|
|
|
|
## Fichiers supprimés
|
|
|
|
```text
|
|
aucun
|
|
```
|
|
|
|
## Invariants préservés
|
|
|
|
Le correctif ne modifie pas :
|
|
|
|
```text
|
|
définition pending / settled
|
|
compaction des slots
|
|
processing_frontier_slot
|
|
oldest_pending_slot
|
|
hydration_pending
|
|
source Yellowstone productive
|
|
coalescence key
|
|
hydration HTTP
|
|
admission / persistence
|
|
API publique
|
|
reconnect / from_slot / ReplayInfo / repair
|
|
```
|
|
|
|
## 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
|
|
contrôle statique des callsites drain_admission_and_persistence
|
|
contrôle statique des callsites supervise_until_stop
|
|
contrôle statique des callsites queue_signal du canari de coalescence
|
|
reconstruction du delta sur base pre.007
|
|
unzip -t de l'archive finale
|
|
```
|
|
|
|
## Validations non exécutées localement
|
|
|
|
L'environnement d'assemblage ne fournit pas Cargo/rustc/rustfmt. Les gates Cargo doivent être rejoués par l'opérateur :
|
|
|
|
```text
|
|
cargo fmt --all
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
|
cargo test -p ksp-worker-raw-transaction-ingest-lib
|
|
```
|
|
|
|
## Décisions
|
|
|
|
Aucune nouvelle décision fonctionnelle.
|
|
|
|
## Questions ouvertes
|
|
|
|
Aucune nouvelle question ouverte introduite par ce fix.
|