v0.3.14-pre.013
This commit is contained in:
294
deltas/0.3.14/pre.013.md
Normal file
294
deltas/0.3.14/pre.013.md
Normal file
@@ -0,0 +1,294 @@
|
||||
<!-- file: deltas/0.3.14/pre.013.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.3.14-pre.013` — completeness/security cross-layer
|
||||
|
||||
## Base requise
|
||||
|
||||
```text
|
||||
0.3.14-pre.012
|
||||
workspace.package.version = 0.3.14-pre.12
|
||||
deltas/0.3.14/pre.012.md présent
|
||||
```
|
||||
|
||||
## Gate de la base
|
||||
|
||||
Le gate opérateur de `0.3.14-pre.012` est validé avant ouverture de cette tranche :
|
||||
|
||||
```text
|
||||
cargo fmt --all : PASS
|
||||
cargo fmt --all -- --check : PASS
|
||||
audit Rust workspace rules : PASS
|
||||
audit Markdown tables : PASS
|
||||
cargo check --workspace : PASS
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings : PASS
|
||||
cargo test -p ksp-worker-raw-transaction-ingest-lib --all-targets --all-features : PASS
|
||||
```
|
||||
|
||||
Le gate Worker comprend notamment :
|
||||
|
||||
```text
|
||||
152 unit tests : PASS
|
||||
cross_layer_completeness : 8 PASS
|
||||
dependency_boundary : 20 PASS
|
||||
hardening : 37 PASS
|
||||
public_api : 21 PASS
|
||||
release_completeness : 14 PASS
|
||||
```
|
||||
|
||||
## Objectif
|
||||
|
||||
Implémenter strictement la tranche `pre.013` du plan `035` sans nouveau comportement :
|
||||
|
||||
```text
|
||||
fermer les canaris Worker / Transport / Common RAW / Store
|
||||
prouver que le pipeline d'acquisition/persistence reste unique
|
||||
prouver la redaction des chemins gap/repair/terminal
|
||||
prouver la non-régression Legacy / V0 / V1 après le hardening 0.3.14
|
||||
prouver la séparation bidirectionnelle Worker / Job Backfill
|
||||
figer le graphe de dépendances Worker
|
||||
figer l'absence de croissance de surface publique
|
||||
```
|
||||
|
||||
Aucun fichier de production n'est modifié dans cette tranche.
|
||||
|
||||
## Pipeline cross-layer unique
|
||||
|
||||
Le nouveau canari :
|
||||
|
||||
```text
|
||||
v0_3_14_pre_013_gap_repair_closure_keeps_one_transport_worker_common_raw_store_pipeline
|
||||
```
|
||||
|
||||
vérifie simultanément :
|
||||
|
||||
```text
|
||||
getTransaction observed reste Transport-owned
|
||||
getBlock observed reste Transport-owned
|
||||
ContinuityContracts restent privés au Worker
|
||||
le registre global d'hydration reste unique
|
||||
l'admission centrale reste unique
|
||||
la convergence persistence reste unique
|
||||
Common RAW reste la représentation canonique commune
|
||||
Store API porte RawTransaction + RawTransactionObservation
|
||||
Store facade reste l'unique passage vers persistence/observation
|
||||
```
|
||||
|
||||
Il rejette en plus les bypass directs Worker vers :
|
||||
|
||||
```text
|
||||
backend Postgres
|
||||
Config
|
||||
Job Backfill
|
||||
reqwest
|
||||
tokio-tungstenite bas niveau
|
||||
yellowstone-grpc-proto
|
||||
```
|
||||
|
||||
## Redaction cross-layer
|
||||
|
||||
Le canari :
|
||||
|
||||
```text
|
||||
v0_3_14_pre_013_security_redaction_covers_gap_repair_and_terminal_paths
|
||||
```
|
||||
|
||||
ferme ensemble :
|
||||
|
||||
```text
|
||||
redaction Transport Yellowstone
|
||||
redaction des erreurs unary distantes
|
||||
health source-neutral pre.009
|
||||
fairness privée pre.010
|
||||
observabilité gap source-neutral pre.011
|
||||
shutdown terminal borné pre.012
|
||||
Common RAW Debug redacted
|
||||
Store API Debug redacted
|
||||
Store facade secret canary
|
||||
backend error bridge sans texte externe/secret
|
||||
```
|
||||
|
||||
Le crate root Worker reste exempt de :
|
||||
|
||||
```text
|
||||
source_key
|
||||
provider_gap
|
||||
endpoint_gap
|
||||
signature_gap
|
||||
payload_gap
|
||||
```
|
||||
|
||||
## Legacy / V0 / V1
|
||||
|
||||
Le canari :
|
||||
|
||||
```text
|
||||
v0_3_14_pre_013_legacy_v0_v1_remains_proven_after_gap_repair_hardening
|
||||
```
|
||||
|
||||
réunit les preuves suivantes :
|
||||
|
||||
```text
|
||||
Transport Yellowstone décode les formes courantes dont V1
|
||||
Standard Block et HTTP Block Polling Worker préservent Legacy/V0/V1
|
||||
la réconciliation pre.008 ne réécrit pas la représentation RAW
|
||||
le shutdown pre.012 ne modifie pas la qualification du matériau
|
||||
Common RAW garde ses goldens Legacy/V0/V1
|
||||
Store API reste constructible depuis les types RAW communs
|
||||
```
|
||||
|
||||
Aucune nouvelle logique de version de transaction n'est introduite.
|
||||
|
||||
## Séparation Worker / Job Backfill
|
||||
|
||||
Le canari :
|
||||
|
||||
```text
|
||||
v0_3_14_pre_013_worker_and_backfill_remain_independent_producers
|
||||
```
|
||||
|
||||
prouve depuis les manifests :
|
||||
|
||||
```text
|
||||
Worker -X-> ksp-job-api
|
||||
Worker -X-> ksp-job-backfill-lib
|
||||
Job Backfill -X-> ksp-worker-api
|
||||
Job Backfill -X-> ksp-worker-raw-transaction-ingest-lib
|
||||
```
|
||||
|
||||
Les deux producteurs peuvent continuer à partager uniquement les façades communes nécessaires :
|
||||
|
||||
```text
|
||||
ksp-onchain-transport-lib
|
||||
ksp-raw-transaction-lib
|
||||
ksp-store-lib
|
||||
```
|
||||
|
||||
Aucun checkpoint, scheduler ou orchestration commun n'est ajouté.
|
||||
|
||||
## Dépendances et API publique
|
||||
|
||||
`dependency_boundary` conserve l'inventaire exact Worker :
|
||||
|
||||
```text
|
||||
ksp-core-lib
|
||||
ksp-logging-lib
|
||||
ksp-onchain-transport-lib
|
||||
ksp-raw-transaction-lib
|
||||
ksp-store-lib
|
||||
ksp-worker-api
|
||||
sha2
|
||||
tokio
|
||||
```
|
||||
|
||||
`public_api` fixe à nouveau :
|
||||
|
||||
```text
|
||||
43 pub use publics
|
||||
aucun pub mod
|
||||
aucun ContinuityContracts public
|
||||
aucun GlobalHydrationRegistry public
|
||||
aucun SourceInventory public
|
||||
aucun TrafficClass/FairTurnGate public
|
||||
aucun SourceLossDecision public
|
||||
```
|
||||
|
||||
La surface publique de `pre.011` reste donc la dernière croissance intentionnelle de `0.3.14` avant le gate technique.
|
||||
|
||||
## Canaris ajoutés
|
||||
|
||||
```text
|
||||
cross_layer_completeness
|
||||
v0_3_14_pre_013_gap_repair_closure_keeps_one_transport_worker_common_raw_store_pipeline
|
||||
v0_3_14_pre_013_security_redaction_covers_gap_repair_and_terminal_paths
|
||||
v0_3_14_pre_013_legacy_v0_v1_remains_proven_after_gap_repair_hardening
|
||||
v0_3_14_pre_013_worker_and_backfill_remain_independent_producers
|
||||
|
||||
dependency_boundary
|
||||
v0_3_14_pre_013_cross_layer_closure_keeps_dependency_and_producer_boundaries_exact
|
||||
|
||||
hardening
|
||||
v0_3_14_pre_013_cross_layer_completeness_security_closure_is_exact_and_redacted
|
||||
|
||||
public_api
|
||||
v0_3_14_pre_013_completeness_closure_adds_no_public_surface
|
||||
|
||||
release_completeness
|
||||
v0_3_14_pre_013_cross_layer_closure_canaries_are_complete_without_behavior_or_surface_growth
|
||||
```
|
||||
|
||||
## Invariants préservés
|
||||
|
||||
```text
|
||||
aucun code production modifié
|
||||
aucune nouvelle dépendance
|
||||
aucune nouvelle feature
|
||||
aucun changement Config
|
||||
aucun changement Transport runtime
|
||||
aucun changement Common RAW runtime
|
||||
aucun changement Store runtime
|
||||
aucune nouvelle API Worker
|
||||
aucun Worker -> Job Backfill
|
||||
aucun Job Backfill -> Worker
|
||||
aucun second pipeline
|
||||
aucun nouveau provider
|
||||
aucun EARLY/shred
|
||||
```
|
||||
|
||||
## Fichiers ajoutés
|
||||
|
||||
```text
|
||||
deltas/0.3.14/pre.013.md
|
||||
```
|
||||
|
||||
## Fichiers modifiés
|
||||
|
||||
```text
|
||||
Cargo.toml
|
||||
crates/ksp-worker-raw-transaction-ingest-lib/tests/cross_layer_completeness.rs
|
||||
crates/ksp-worker-raw-transaction-ingest-lib/tests/dependency_boundary.rs
|
||||
crates/ksp-worker-raw-transaction-ingest-lib/tests/hardening.rs
|
||||
crates/ksp-worker-raw-transaction-ingest-lib/tests/public_api.rs
|
||||
crates/ksp-worker-raw-transaction-ingest-lib/tests/release_completeness.rs
|
||||
```
|
||||
|
||||
## Fichiers supprimés
|
||||
|
||||
```text
|
||||
aucun
|
||||
```
|
||||
|
||||
## Version Cargo
|
||||
|
||||
Conformément au workflow prerelease non-fix :
|
||||
|
||||
```text
|
||||
header Cargo.toml : 587 -> 588
|
||||
workspace.package.version : 0.3.14-pre.12 -> 0.3.14-pre.13
|
||||
```
|
||||
|
||||
## Gate local d'assemblage
|
||||
|
||||
Exécuté dans le sandbox après modification :
|
||||
|
||||
```text
|
||||
General Rust rule audit : clean
|
||||
Rust export completeness audit : 0 candidate(s)
|
||||
KSP workspace Rust rule audit : clean
|
||||
Markdown table audit : clean
|
||||
cargo / rustc / rustfmt : NON DISPONIBLES dans le sandbox
|
||||
```
|
||||
|
||||
Aucune commande Cargo n'est déclarée PASS localement.
|
||||
|
||||
## Gate opérateur après application
|
||||
|
||||
```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 --all-targets --all-features
|
||||
```
|
||||
Reference in New Issue
Block a user