Files
khadhroony-solana-project/deltas/0.3.13/pre.009-fix.001.md

138 lines
4.9 KiB
Markdown

<!-- file: deltas/0.3.13/pre.009-fix.001.md -->
<!-- version: 1 -->
# Delta 0.3.13-pre.009-fix.001 — alignement des canaris de quotas et correction du gate cargo tree
## Base requise
```text
livraison précédente : 0.3.13-pre.009
Cargo base : 0.3.13-pre.9
delta base : deltas/0.3.13/pre.009.md
archive delta base : ksp-general-0.3.13-pre.009.zip
```
Le gate opérateur du 10 septembre 2026 confirme :
```text
cargo fmt + --check : PASS
audits Rust : clean / export completeness 0
Markdown : clean, 340 tables / 845 files
cargo check --workspace : PASS
Clippy strict workspace/all-targets/all-features : PASS
Transport unit : 389/389 PASS
Transport public API : 52/52 PASS
Transport release completeness : 44/44 PASS
Transport doc-tests : 4/4 PASS
Transport smokes live opt-in : 5 ignored comme prévu
Worker unit : 99/99 PASS
Worker cross-layer : 4/4 PASS
Worker dependency-boundary : 13 PASS / 3 FAIL
```
La suite Worker s'arrête sur ces trois canaris `dependency_boundary`; `hardening`, `public_api`, `release_completeness` et les doc-tests Worker ne sont donc pas déclarés PASS pour ce gate.
Les trois échecs exigent encore la chaîne historique :
```text
max_pending_signals: settings.admission_queue_capacity()
```
Cette assertion n'est plus correcte depuis `pre.009`. Les sources reference-bearing reçoivent désormais des quotas `hydration_pending_limit` et `hydration_in_flight_limit` calculés à partir des budgets globaux, tandis que les preuves `pre.009` verrouillent la partition exacte des capacités configurées.
Une revue préventive trouve également le même canari obsolète dans `tests/hardening.rs`, avec l'ancienne hypothèse `max_in_flight: settings.persistence_concurrency()`. Il est corrigé dans le même fix avant qu'il ne devienne le prochain échec.
## Objectif du fix
Mettre à jour les preuves sans modifier la logique runtime :
```text
anciens canaris source-specific : vérifient with_global_registry + quotas source locaux
canari pre.009 dependency : vérifie aussi le lien budgets globaux -> settings
hardening historique : vérifie les champs bornés + quotas, sans ancienne égalité locale
runtime : inchangé
```
Les anciens canaris ne sont pas affaiblis : la relation directe entre capacités Worker et budgets globaux est désormais vérifiée par le canari `pre.009`, et les canaris historiques continuent à vérifier que chaque source utilise le coordinator borné commun.
## Correction du workflow cargo tree
Le gate opérateur avant `pre.010` ne doit pas imposer `cargo tree` : `pre.009` ne modifie aucune dépendance ni feature et `pre.010` n'est pas la fermeture technique de `0.3.13`.
La règle courante est explicitée dans le prompt `0.3.13` :
```text
cargo tree requis si le graphe dépendances/features change
ou à la fermeture technique de 0.3.13
pas à chaque prerelease sans changement de graphe
```
Le plan, la validation et le delta `pre.009` sont alignés sur cette règle pour le gate avant `pre.010`.
## Version
```text
livraison : 0.3.13-pre.009-fix.001
workspace.package.version : 0.3.13-pre.9.fix.1
archive : ksp-general-0.3.13-pre.009-fix.001.zip
```
`Cargo.toml` passe de la version de fichier `556` à `557`.
## Fichiers modifiés
```text
Cargo.toml
crates/ksp-worker-raw-transaction-ingest-lib/tests/dependency_boundary.rs
crates/ksp-worker-raw-transaction-ingest-lib/tests/hardening.rs
prompts/032-V0_3_13_START_PROMPT.md
docs/plans/034-V0_3_13_MULTI_SOURCE_LIVE_CONVERGENCE_PLAN.md
docs/validation/030-V0_3_13_MULTI_SOURCE_LIVE_CONVERGENCE.md
deltas/0.3.13/pre.009.md
```
Versions de fichiers :
```text
dependency_boundary.rs : 25 -> 26
hardening.rs : 19 -> 20
032 start prompt : 1 -> 2
plan 034 : 9 -> 10
validation 030 : 9 -> 10
pre.009.md : 1 -> 2
```
## Fichiers ajoutés
```text
deltas/0.3.13/pre.009-fix.001.md
```
## Fichiers supprimés
```text
aucun
```
## Non-claims
Ce fix ne modifie aucune source production, aucun quota calculé, aucune borne globale, aucun sémaphore, aucune registry, aucune logique de disagreement, aucune dépendance, aucune feature et aucune API publique.
## 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.010
```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
```
Aucun `cargo tree` n'est requis pour ce gate. Le test Transport n'a pas besoin d'être répété par ce fix, qui ne modifie ni Transport, ni dépendance, ni feature.