0.3.16-pre.007-fix.003
This commit is contained in:
96
deltas/0.3.16/pre.007-fix.003.md
Normal file
96
deltas/0.3.16/pre.007-fix.003.md
Normal file
@@ -0,0 +1,96 @@
|
||||
<!-- file: deltas/0.3.16/pre.007-fix.003.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.3.16-pre.007-fix.003` — réalignement du canari de bornes globales Worker
|
||||
|
||||
## Base requise
|
||||
|
||||
```text
|
||||
0.3.16-pre.007-fix.002 appliqué
|
||||
workspace.package.version = 0.3.16-pre.7.fix.2
|
||||
```
|
||||
|
||||
Le gate opérateur de `pre.007-fix.002` confirme que les audits, `cargo check --workspace`, Clippy, Store API, Store façade, PostgreSQL, Backfill, les 162 tests unitaires Worker et les 12 tests `cross_layer_completeness` passent. Le seul échec restant est `v0_3_13_pre_009_global_bounds_and_fairness_stay_inside_worker_facades` dans `dependency_boundary`.
|
||||
|
||||
Le canari historique exigeait encore le symbole `RawTransactionIngestCanonicalState`. Ce type appartenait à l'ancien cache run-local qui conservait une représentation canonique et pouvait participer à l'arbitrage avant Store. `pre.007` a volontairement supprimé cette responsabilité : le cache courant `RawTransactionIngestPersistenceConvergence` est borné et ne fait que sérialiser les acquisitions partageant `(network, signature)` ; chaque acquisition atteint ensuite le Store, qui reste l'unique autorité durable.
|
||||
|
||||
## Version
|
||||
|
||||
```text
|
||||
workspace.package.version = 0.3.16-pre.7.fix.3
|
||||
```
|
||||
|
||||
## Correction
|
||||
|
||||
Le canari de bornes/fairness conserve son objectif historique et vérifie désormais le contrat courant :
|
||||
|
||||
- les budgets d'hydratation restent bornés par les settings Worker ;
|
||||
- les permits restent portés par `tokio::sync::Semaphore` ;
|
||||
- le leader d'hydratation reste privé au Worker ;
|
||||
- la convergence de persistence est représentée par `RawTransactionIngestPersistenceConvergence` ;
|
||||
- `content_conflict_error()` reste le chemin de compatibilité pour un backend legacy ;
|
||||
- aucune dépendance backend/transport physique interdite n'est introduite.
|
||||
|
||||
Aucune logique runtime n'est modifiée.
|
||||
|
||||
## Fichiers modifiés
|
||||
|
||||
```text
|
||||
Cargo.toml
|
||||
crates/ksp-worker-raw-transaction-ingest-lib/tests/dependency_boundary.rs
|
||||
```
|
||||
|
||||
## Fichier ajouté
|
||||
|
||||
```text
|
||||
deltas/0.3.16/pre.007-fix.003.md
|
||||
```
|
||||
|
||||
## Fichiers supprimés
|
||||
|
||||
```text
|
||||
aucun
|
||||
```
|
||||
|
||||
## Validations exécutées lors de la génération
|
||||
|
||||
```bash
|
||||
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
|
||||
```
|
||||
|
||||
Le toolchain Rust n'est pas installé dans l'environnement de génération. `cargo fmt`, `cargo check`, Clippy et les tests Cargo ne sont donc pas déclarés exécutés ici.
|
||||
|
||||
## Validations opérateur demandées
|
||||
|
||||
```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-store-api --all-targets --all-features
|
||||
cargo test -p ksp-store-lib --all-targets --all-features
|
||||
cargo test -p ksp-store-postgres-lib --all-targets --all-features
|
||||
cargo test -p ksp-job-backfill-lib --all-targets --all-features
|
||||
cargo test -p ksp-worker-raw-transaction-ingest-lib --all-targets --all-features
|
||||
```
|
||||
|
||||
## Décisions prises
|
||||
|
||||
- aucun type canonique run-local n'est réintroduit pour satisfaire un canari historique ;
|
||||
- le test continue de prouver la boundedness/fairness via le cache de sérialisation réellement utilisé depuis `pre.007` ;
|
||||
- le nom du test historique reste stable afin de ne pas casser les canaris de release completeness ;
|
||||
- aucun code runtime ni fichier de migration n'est modifié.
|
||||
|
||||
## Questions ouvertes
|
||||
|
||||
Aucune question bloquante.
|
||||
|
||||
## Suite
|
||||
|
||||
Après gate propre : `0.3.16-pre.008`.
|
||||
Reference in New Issue
Block a user