v0.3.13-pre.002-fix.001

This commit is contained in:
2026-09-10 10:00:42 +02:00
parent 793178b345
commit 2e8feb56dd
3 changed files with 176 additions and 5 deletions

View File

@@ -1,12 +1,12 @@
# file: Cargo.toml # file: Cargo.toml
# version: 540 # version: 541
[workspace] [workspace]
resolver = "3" resolver = "3"
members = ["crates/ksp-app-backfill-desk", "crates/ksp-app-config-desk", "crates/ksp-app-solprices-desk", "crates/ksp-app-store-desk", "crates/ksp-app-wallet-desk", "crates/ksp-config-lib", "crates/ksp-core-lib", "crates/ksp-interface-lib", "crates/ksp-job-api", "crates/ksp-job-backfill-lib", "crates/ksp-logging-lib", "crates/ksp-offchain-transport-lib", "crates/ksp-onchain-transport-lib", "crates/ksp-program-api", "crates/ksp-raw-transaction-lib", "crates/ksp-store-api", "crates/ksp-store-lib", "crates/ksp-store-postgres-lib", "crates/ksp-wallet-lib", "crates/ksp-worker-api", "crates/ksp-worker-raw-transaction-ingest-lib"] members = ["crates/ksp-app-backfill-desk", "crates/ksp-app-config-desk", "crates/ksp-app-solprices-desk", "crates/ksp-app-store-desk", "crates/ksp-app-wallet-desk", "crates/ksp-config-lib", "crates/ksp-core-lib", "crates/ksp-interface-lib", "crates/ksp-job-api", "crates/ksp-job-backfill-lib", "crates/ksp-logging-lib", "crates/ksp-offchain-transport-lib", "crates/ksp-onchain-transport-lib", "crates/ksp-program-api", "crates/ksp-raw-transaction-lib", "crates/ksp-store-api", "crates/ksp-store-lib", "crates/ksp-store-postgres-lib", "crates/ksp-wallet-lib", "crates/ksp-worker-api", "crates/ksp-worker-raw-transaction-ingest-lib"]
[workspace.package] [workspace.package]
version = "0.3.13-pre.2" version = "0.3.13-pre.2.fix.1"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project" repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project"

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-worker-raw-transaction-ingest-lib/src/lib.rs // file: crates/ksp-worker-raw-transaction-ingest-lib/src/lib.rs
// version: 18 // version: 19
#![warn(missing_docs)] #![warn(missing_docs)]
#![deny(unreachable_pub)] #![deny(unreachable_pub)]
@@ -44,14 +44,14 @@ pub use self::error::ERROR_CODE_RAW_TRANSACTION_INGEST_SOURCE_FAILED;
pub use self::error::ERROR_CODE_RAW_TRANSACTION_INGEST_STORE_FAILED; pub use self::error::ERROR_CODE_RAW_TRANSACTION_INGEST_STORE_FAILED;
/// Stable Worker kind code used by the continuous RAW transaction ingest vertical. /// Stable Worker kind code used by the continuous RAW transaction ingest vertical.
pub use self::identity::RAW_TRANSACTION_INGEST_WORKER_KIND_CODE; pub use self::identity::RAW_TRANSACTION_INGEST_WORKER_KIND_CODE;
/// Maximum number of logical live sources accepted by one runtime-resource aggregate.
pub use self::runtime_resources::MAX_RAW_TRANSACTION_INGEST_LIVE_SOURCES;
/// Cloneable external control handle for one continuous RAW transaction ingest Worker. /// Cloneable external control handle for one continuous RAW transaction ingest Worker.
pub use self::runtime::RawTransactionIngestHandle; pub use self::runtime::RawTransactionIngestHandle;
/// Runtime-neutral boxed future resolving after one RAW transaction ingest Worker has fully reached a terminal lifecycle state. /// Runtime-neutral boxed future resolving after one RAW transaction ingest Worker has fully reached a terminal lifecycle state.
pub use self::runtime::RawTransactionIngestTerminalFuture; pub use self::runtime::RawTransactionIngestTerminalFuture;
/// Entry point owning synchronous validation and task launch for one RAW transaction ingest Worker run. /// Entry point owning synchronous validation and task launch for one RAW transaction ingest Worker run.
pub use self::runtime::RawTransactionIngestWorker; pub use self::runtime::RawTransactionIngestWorker;
/// Maximum number of logical live sources accepted by one runtime-resource aggregate.
pub use self::runtime_resources::MAX_RAW_TRANSACTION_INGEST_LIVE_SOURCES;
/// Caller-composed runtime resources for the first Yellowstone + HTTP source family. /// Caller-composed runtime resources for the first Yellowstone + HTTP source family.
pub use self::runtime_resources::RawTransactionIngestRuntimeResources; pub use self::runtime_resources::RawTransactionIngestRuntimeResources;
/// Validated Yellowstone + HTTP source contract owned by the continuous RAW transaction ingest Worker. /// Validated Yellowstone + HTTP source contract owned by the continuous RAW transaction ingest Worker.

View File

@@ -0,0 +1,171 @@
<!-- file: deltas/0.3.13/pre.002-fix.001.md -->
<!-- version: 1 -->
# Delta 0.3.13-pre.002-fix.001 — normalisation rustfmt du root Worker
## Base requise
```text
delivery précédente : 0.3.13-pre.002
Cargo base : 0.3.13-pre.2
delta base : deltas/0.3.13/pre.002.md
archive delta base : ksp-general-0.3.13-pre.002.zip
SHA-256 delta base : 9e7c65d2340fe4918fcfa285cc14beabe4cccd3af1a58aa86e1d24a7ac8bf7b2
```
Le gate opérateur exécuté après application de `pre.002` a identifié un seul défaut : `cargo fmt --all -- --check` demande le tri de l'export `MAX_RAW_TRANSACTION_INGEST_LIVE_SOURCES` après les exports du module `runtime`. Les audits Rust/Markdown, `cargo check --workspace`, Clippy strict et les suites Transport/Worker exécutées ensuite sont verts.
## Objectif
Corriger strictement le défaut de format de `pre.002`, sans modification fonctionnelle :
```text
aucune API ajoutée ou supprimée
aucune signature modifiée
aucune dépendance modifiée
aucune logique runtime modifiée
aucun changement du plan pre.003+
réordonnancement rustfmt uniquement dans le root Worker
```
## Type de livraison
```text
livraison : 0.3.13-pre.002-fix.001
Cargo : 0.3.13-pre.2.fix.1
archive : ksp-general-0.3.13-pre.002-fix.001.zip
```
Conformément à `VER-ID-007` et `VER-ID-010`, le correctif touche un fichier `.rs`; `workspace.package.version` est donc synchronisé avec l'identifiant SemVer technique du fix.
## Correction
Dans `crates/ksp-worker-raw-transaction-ingest-lib/src/lib.rs`, l'export :
```text
MAX_RAW_TRANSACTION_INGEST_LIVE_SOURCES
```
est déplacé après le groupe des exports `runtime`, exactement comme demandé par `rustfmt` dans le gate opérateur.
L'ordre corrigé est :
```text
RAW_TRANSACTION_INGEST_WORKER_KIND_CODE
RawTransactionIngestHandle
RawTransactionIngestTerminalFuture
RawTransactionIngestWorker
MAX_RAW_TRANSACTION_INGEST_LIVE_SOURCES
RawTransactionIngestRuntimeResources
RawTransactionIngestYellowstoneSource
```
Le changement est purement lexical. La constante, sa visibilité, son chemin public et sa valeur restent inchangés.
## Fichiers ajoutés
```text
deltas/0.3.13/pre.002-fix.001.md
```
## Fichiers modifiés
```text
Cargo.toml
crates/ksp-worker-raw-transaction-ingest-lib/src/lib.rs
```
## Fichiers supprimés
```text
aucun
```
## Versions de fichiers incrémentées
```text
Cargo.toml : 540 -> 541
worker lib.rs : 18 -> 19
```
## Validations exécutées sur la base pre.002 par l'opérateur
Le log opérateur fourni pour `0.3.13-pre.2` confirme :
```text
cargo fmt --all -- --check : FAIL, uniquement diff de tri d'exports dans worker src/lib.rs
General Rust rule audit : clean
Rust export completeness audit : 0 candidate(s)
KSP workspace Rust rule audit : clean
Markdown table audit : clean (340 tables, 829 files)
cargo check --workspace : PASS
cargo clippy --workspace --all-targets --all-features -- -D warnings : PASS
cargo test -p ksp-onchain-transport-lib : PASS
cargo test -p ksp-worker-raw-transaction-ingest-lib : PASS
```
Suites explicitement observées :
```text
Transport unit : 389 passed
Transport public_api : 52 passed
Transport release_completeness : 44 passed
Transport doc-tests : 4 passed
smokes réseau : ignored / opt-in conformément au contrat
Worker unit : 70 passed
Worker cross_layer_completeness : 4 passed
Worker dependency_boundary : 9 passed
Worker hardening : 16 passed
Worker public_api : 10 passed
Worker release_completeness : 4 passed
Worker doc-tests : 0
```
## Validations exécutées dans l'environnement d'assemblage du fix
```text
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
contrôle supplémentaire des collisions d'identifiants normatifs
contrôle exhaustif du diff pre.002 -> pre.002-fix.001
contrôle du contenu et de l'intégrité ZIP
```
## Validations non exécutées localement
Le toolchain Rust n'est pas disponible dans l'environnement d'assemblage. Les commandes suivantes ne sont donc pas déclarées PASS localement :
```bash
cargo fmt --all -- --check
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
```
Le correctif reproduit exactement le déplacement demandé par le diff `cargo fmt --all -- --check` du gate opérateur.
## Gate opérateur avant pre.003
```bash
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
```
## Décisions
- Le fix ne change pas le périmètre fonctionnel de `pre.002`.
- Le supervisor multi-source reste réservé à `pre.007`.
- `pre.003` reste la prochaine tranche fonctionnelle après validation de ce correctif.
- Aucun document durable n'est modifié pour une correction de format déjà entièrement décrite par ce delta.
## Questions ouvertes
```text
aucune
```