v0.3.13-pre.007

This commit is contained in:
2026-09-10 17:33:02 +02:00
parent 72df965a9c
commit 8bb530e9b4
13 changed files with 905 additions and 78 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/030-V0_3_13_MULTI_SOURCE_LIVE_CONVERGENCE.md -->
<!-- version: 6 -->
<!-- version: 7 -->
# Validation v0.3.13 — WS standard / Helius / HTTP live + convergence multi-source
@@ -1155,3 +1155,90 @@ cargo tree -p ksp-worker-raw-transaction-ingest-lib -e features
cargo tree --duplicates
```
## 57. Gate opérateur pre.006-fix.001 reçu
Preuve communiquée le 10 septembre 2026 sur les commandes exécutées :
```text
fmt : PASS
audits Rust : clean / export completeness 0
Markdown : clean, 340 tables / 840 files
cargo check --workspace : PASS
clippy workspace all-targets all-features -D warnings : PASS
worker unit : 88/88 PASS
cross-layer : 4/4 PASS
dependency boundary : 13/13 PASS
hardening : 20/20 PASS
public API : 14/14 PASS
release completeness : 4/4 PASS
```
Les sorties Transport ciblées et `cargo tree` demandées dans le gate complet ne figurent pas dans le log reçu et ne sont donc pas déclarées PASS.
## 58. Surface pre.007 matérialisée
```text
RawTransactionIngestRuntimeResources::run_live_sources
RawTransactionIngestSourceInventory privé
RawTransactionIngestSourceInventoryPublisher privé
JoinSet privé 1..32 sources
stop fanout privé
drain/join de toutes les sources
projection processing frontier agrégée
suppression de multi_source_activation_pending
```
Aucune nouvelle API publique n'est nécessaire : les méthodes `from_*`, `try_push_*`, `source_count` et `start_with_runtime_resources` existantes suffisent à composer puis lancer plusieurs sources.
## 59. Invariants supervisor/source inventory vérifiés statiquement
La tranche exige :
```text
1..32 sources validées avant run
toutes les sources présentes sont spawnees
aucun sous-ensemble silencieux
aucune politique primary/standby/fallback
une source fautive arrête les autres et le supervisor les join
une fermeture source avant stop est terminale
source_key reste privée
inventaire borné initialisé depuis les source_key validées
frontier globale conservatrice = minimum seulement si toutes les sources ont une frontier
oldest pending global = minimum
état source agrégé sans provider material
```
Les tests déterministes ajoutés utilisent des tasks factices pour prouver le join de trois sources au stop et le stop/join d'une sœur après faute, sans I/O réseau.
## 60. Validation locale d'assemblage pre.007
Le toolchain Cargo/Rustfmt n'est pas disponible dans l'environnement d'assemblage. Les commandes Cargo post-modification restent `NON EXÉCUTÉ LOCAL`; seuls les audits statiques effectivement exécutés sont déclarés PASS dans le delta.
## 61. Non-claims pre.007
```text
pas de coalescence cross-source complète avant pre.008
pas d'unique hydration globale cross-source garantie avant pre.008
pas d'observations Store multiples convergées avant pre.008
pas de fairness duplicate-storm fermée avant pre.009
pas de nouveaux compteurs/health publics multi-source avant pre.010
pas de failover/degraded non-terminal d'une source
pas de preuve de coverage entre sources
```
## 62. Gate opérateur requis avant pre.008
```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-onchain-transport-lib
cargo test -p ksp-worker-raw-transaction-ingest-lib
cargo tree -p ksp-worker-raw-transaction-ingest-lib --edges normal
cargo tree -p ksp-worker-raw-transaction-ingest-lib -e features
cargo tree --duplicates
```