v0.3.13-pre.005

This commit is contained in:
2026-09-10 15:01:00 +02:00
parent 27ab84d198
commit 11ecdccd65
13 changed files with 1524 additions and 27 deletions

View File

@@ -1,11 +1,11 @@
<!-- file: docs/validation/030-V0_3_13_MULTI_SOURCE_LIVE_CONVERGENCE.md -->
<!-- version: 4 -->
<!-- version: 5 -->
# Validation v0.3.13 — WS standard / Helius / HTTP live + convergence multi-source
## 1. Rôle
Ce document enregistre les preuves réellement exécutées et les non-claims de `0.3.13`. `pre.001` ferme l'audit/planification, `pre.002` matérialise la composition runtime multi-source, `pre.003` ajoute Standard Solana `logsSubscribe` + hydration HTTP observée et `pre.004` ajoute Standard Solana `blockSubscribe` RAW-direct qualifié Legacy/V0/V1, sans activer encore la supervision simultanée.
Ce document enregistre les preuves réellement exécutées et les non-claims de `0.3.13`. `pre.001` ferme l'audit/planification, `pre.002` matérialise la composition runtime multi-source, `pre.003` ajoute Standard Solana `logsSubscribe` + hydration HTTP observée, `pre.004` ajoute Standard Solana `blockSubscribe` RAW-direct qualifié Legacy/V0/V1 et `pre.005` ajoute Helius `transactionSubscribe` + hydration commune, sans activer encore la supervision simultanée.
## 2. Archive stable contrôlée
@@ -965,3 +965,106 @@ cargo tree --duplicates
```
`pre.005` ne doit pas commencer si une anomalie de format, règle, compilation, API, dépendance ou test apparaît.
## 43. Gate opérateur pre.004-fix.001
Preuve reçue le 10 septembre 2026 :
```text
fmt : PASS
audits Rust : clean / export completeness 0
Markdown : clean, 340 tables / 836 files
cargo check --workspace : PASS
clippy workspace all-targets all-features -D warnings : PASS
worker unit : 79/79 PASS
cross-layer : 4/4 PASS
dependency boundary : 11/11 PASS
hardening : 18/18 PASS
public API : 12/12 PASS
release completeness : 4/4 PASS
```
## 44. Surface pre.005 matérialisée
```text
RawTransactionIngestHeliusTransactionSource
RawTransactionIngestRuntimeResources::from_helius_transaction_source
RawTransactionIngestRuntimeResources::try_push_helius_transaction_source
HeliusLaserStreamWsSession::connect
HeliusLaserStreamWsSession::transaction_subscribe
HeliusTransactionSubscribeOptions Full/Base64/maxV1/showRewards=false
project_helius_transaction_signal
hydration source-neutral get_transaction_observed
```
Aucun changement Config/Transport/manifeste de crate n'est requis.
## 45. Contrats Helius vérifiés statiquement
La tranche exige :
```text
protocol = helius_laserstream
commitment = confirmed | finalized
HTTP hydration route = get_transaction sur même réseau
notification productive = Full uniquement
signal Worker = signature + slot + transactionIndex + route/filter safe identity
nested transaction payload = non copié
protocol de provenance convergée = helius_ws_http
acquisition method = transaction_get_transaction
```
La source key inclut le filtre complet sous empreinte SHA-256 privée, avec normalisation de l'ordre des listes de pubkeys. Le rôle d'hydration n'entre pas dans l'identité live.
## 46. Config, secret et tier
Les profils Helius LaserStream Mainnet/Devnet et `KSP_SECRET_HELIUS_API_KEY` existaient avant `pre.005`. Le Worker reçoit seulement `WsEndpointSettings` déjà résolu et ne dépend jamais de Config. Aucun tier provider, prix, quota ou entitlement n'est codé ; l'éligibilité réelle d'un compte Helius reste une propriété externe/live.
## 47. Preuves unitaires et externes attendues
```text
unit : request fixed Full/Base64/maxV1/showRewards=false
unit : protocol/commitment/cross-network hydration rejection
unit : source key stable/filter-sensitive/order-normalized/redacted
unit : Full reference projection signature/slot/index only
unit : reference -> HTTP getTransaction -> Common RAW exact
unit : duplicate Helius source rejected transactionally
public_api : root constructor/from/push typed
boundary : facade Helius + one common getTransaction only
hardening : nested payload/secret/tier absent
release : export inventory + canaries pre.005
```
## 48. Validation locale d'assemblage pre.005
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 peuvent être déclarés PASS dans le delta.
## 49. Non-claims pre.005
```text
pas de multi-source simultané avant pre.007
pas de HTTP live polling avant pre.006
pas de RAW-direct depuis le nested payload Helius
pas de SDK Helius
pas de secret/Config dans le Worker
pas de tier/quota provider codé
pas de nouveau profil Config
pas de changement Transport
```
## 50. Gate opérateur requis avant pre.006
```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
```