diff --git a/Cargo.toml b/Cargo.toml index e74a04b..81a2548 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,12 @@ # file: Cargo.toml -# version: 540 +# version: 541 [workspace] 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"] [workspace.package] -version = "0.3.13-pre.2" +version = "0.3.13-pre.2.fix.1" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project" diff --git a/crates/ksp-worker-raw-transaction-ingest-lib/src/lib.rs b/crates/ksp-worker-raw-transaction-ingest-lib/src/lib.rs index 56ae7be..a526684 100644 --- a/crates/ksp-worker-raw-transaction-ingest-lib/src/lib.rs +++ b/crates/ksp-worker-raw-transaction-ingest-lib/src/lib.rs @@ -1,5 +1,5 @@ // file: crates/ksp-worker-raw-transaction-ingest-lib/src/lib.rs -// version: 18 +// version: 19 #![warn(missing_docs)] #![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; /// Stable Worker kind code used by the continuous RAW transaction ingest vertical. 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. pub use self::runtime::RawTransactionIngestHandle; /// Runtime-neutral boxed future resolving after one RAW transaction ingest Worker has fully reached a terminal lifecycle state. pub use self::runtime::RawTransactionIngestTerminalFuture; /// Entry point owning synchronous validation and task launch for one RAW transaction ingest Worker run. 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. pub use self::runtime_resources::RawTransactionIngestRuntimeResources; /// Validated Yellowstone + HTTP source contract owned by the continuous RAW transaction ingest Worker. diff --git a/deltas/0.3.13/pre.002-fix.001.md b/deltas/0.3.13/pre.002-fix.001.md new file mode 100644 index 0000000..210a575 --- /dev/null +++ b/deltas/0.3.13/pre.002-fix.001.md @@ -0,0 +1,171 @@ + + + +# 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 +```