v0.3.13-pre.012

This commit is contained in:
2026-09-10 21:55:02 +02:00
parent 06319655b0
commit 8b6ef7778a
9 changed files with 502 additions and 12 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/034-V0_3_13_MULTI_SOURCE_LIVE_CONVERGENCE_PLAN.md -->
<!-- version: 12 -->
<!-- version: 13 -->
# Plan v0.3.13 — WS standard / Helius / HTTP live + convergence multi-source RawTransaction
@@ -1556,3 +1556,85 @@ cargo test -p ksp-worker-raw-transaction-ingest-lib
```
Aucun `cargo tree` n'est requis : `pre.011` ne modifie ni dépendance ni feature. Le Transport n'est pas modifié par cette tranche de hardening shutdown/races.
## 86. Gate opérateur pre.011 reçu
Le 10 septembre 2026, le gate intermédiaire communiqué pour `0.3.13-pre.011` est entièrement vert pour toutes les commandes exécutées :
```text
fmt : PASS
audits Rust : clean / export completeness 0
Markdown : clean, 340 tables / 849 files
cargo check --workspace : PASS
clippy strict : PASS
Worker unit : 106/106 PASS
cross_layer_completeness : 4/4 PASS
dependency_boundary : 18/18 PASS
hardening : 25/25 PASS
public_api : 19/19 PASS
release_completeness : 4/4 PASS
Worker doc-tests : 0/0 PASS
```
Le Transport n'était pas modifié par `pre.011` et n'a pas été rejoué. Aucun `cargo tree` n'était requis.
## 87. Fermeture completeness/security pre.012
`pre.012` n'ajoute aucun comportement runtime. La tranche matérialise une matrice de fermeture cross-layer obligatoire qui relie explicitement :
```text
Transport
-> cinq familles de sources live
Worker
-> admission/convergence/persistence communes
Common RAW
-> Legacy/V0/V1
Store
-> RawTransaction + observations
```
Les quatre preuves cross-layer nouvelles couvrent :
```text
les cinq familles Yellowstone / StandardLogs / StandardBlock / HeliusTransaction / HttpBlockPolling
Legacy/V0/V1 de Transport jusqu'au Store opaque via Worker/Common RAW
non-régression Yellowstone : request identity, V1, reconnect/replay/gap, hydration Worker
redaction/security de Transport, Worker, Common RAW, Store API, Store façade et backend PostgreSQL
```
Les suites `dependency_boundary`, `hardening`, `public_api` et `release_completeness` référencent explicitement ces preuves afin qu'elles ne puissent pas disparaître silencieusement.
## 88. Frontières pre.012
La fermeture ne modifie pas :
```text
code production Worker
Transport
Common RAW
Store API / Store backend
dépendances ou features
API publique
retry/reconnect/fairness/convergence/shutdown
```
Aucun delta historique n'est modifié. Seul `pre.012.md` est ajouté.
## 89. Gate technique requis pour pre.013
`pre.013` étant la tranche explicitement réservée au gate technique/live, le gate suivant est volontairement exhaustif :
```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 --workspace --all-targets --all-features
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
```
Les smokes live réellement accessibles seront exécutés/qualifiés dans `pre.013`. Un smoke inaccessible reste `NON EXÉCUTÉ`, jamais PASS. Aucun nouveau scope fonctionnel n'est autorisé dans `pre.013`.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/030-V0_3_13_MULTI_SOURCE_LIVE_CONVERGENCE.md -->
<!-- version: 12 -->
<!-- version: 13 -->
# Validation v0.3.13 — WS standard / Helius / HTTP live + convergence multi-source
@@ -1580,3 +1580,69 @@ cargo test -p ksp-worker-raw-transaction-ingest-lib
```
Aucun `cargo tree` n'est requis et le Transport n'a pas besoin d'être rejoué pour cette tranche qui ne modifie ni le graphe ni `ksp-onchain-transport-lib`.
## 88. Gate complet pre.011 reçu
Preuve opérateur du 10 septembre 2026 :
```text
fmt : PASS
audits Rust : clean / export completeness 0
Markdown : clean, 340 tables / 849 files
cargo check --workspace : PASS
clippy strict : PASS
Worker : 106 unit + 4 cross-layer + 18 dependency-boundary + 25 hardening + 19 public-api + 4 release-completeness, 0 échec
Worker doc-tests : 0
```
Le Transport et les graphes n'étaient pas requis pour ce gate intermédiaire et ne sont pas revendiqués.
## 89. Matrice cross-layer pre.012
La suite `cross_layer_completeness` ajoute quatre canaris de fermeture :
```text
all_five_live_source_families_share_one_worker_common_raw_store_pipeline
legacy_v0_v1_is_proven_from_transport_through_worker_common_raw_to_store
yellowstone_non_regression_covers_identity_v1_reconnect_gap_and_worker_hydration
security_redaction_matrix_covers_all_live_sources_and_lower_layers
```
La matrice vérifie explicitement les façades Transport HTTP/WS/gRPC, les cinq discriminants de sources Worker, la convergence/hydration/persistence communes, les types Common RAW, puis les bridges Store `persist_raw_transaction_acquisition` et `record_raw_transaction_observation`.
## 90. Legacy/V0/V1 et Yellowstone
La fermeture Legacy/V0/V1 vérifie simultanément :
```text
Yellowstone Transport conserve le matériau V1
getBlock/getTransaction restent version-aware jusqu'à maxSupportedTransactionVersion = 1
Standard Block et HTTP Polling qualifient Legacy/V0/V1
Common RAW conserve les goldens Legacy/V0/V1 et le hash canonique V1
Worker transmet slot/block_time/format_id/format_version/content_hash vers la convergence Store
Store conserve le payload RAW de manière opaque avec entity + observations
```
La non-régression Yellowstone vérifie séparément request identity opaque, Transaction/TransactionStatus/Block, reconnect/replay, retention gap, hydration observée et coalescence globale Worker.
## 91. Security et absence d'élargissement
Les canaris de fermeture prouvent :
```text
graphe Worker normal inchangé
aucun module d'implémentation public
aucune source_key/registry/canonical state publique
redaction Yellowstone/Helius/Standard sources
redaction Common RAW
redaction Store API / Store / PostgreSQL backend
aucune dépendance réseau/backend directe ajoutée au Worker
```
`pre.012` est donc test/documentation-only hors bump mécanique de prerelease.
## 92. Gate technique/live avant pre.013
Le toolchain Cargo/Rustfmt n'est pas disponible dans l'environnement d'assemblage ; aucun résultat Cargo post-modification n'est revendiqué localement.
Le gate de `pre.013` est volontairement le gate de fermeture technique : workspace complet, Clippy strict, tests all-targets/all-features, graphes et duplicates. Les smokes live accessibles y sont exécutés ; les autres sont qualifiés `NON EXÉCUTÉ`.