v0.3.13-pre.008-fix.001
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
# file: Cargo.toml
|
# file: Cargo.toml
|
||||||
# version: 553
|
# version: 554
|
||||||
|
|
||||||
[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.8"
|
version = "0.3.13-pre.8.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"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// file: crates/ksp-worker-raw-transaction-ingest-lib/src/persistence.rs
|
// file: crates/ksp-worker-raw-transaction-ingest-lib/src/persistence.rs
|
||||||
// version: 2
|
// version: 3
|
||||||
|
|
||||||
/// Canonical entity disposition produced by one Worker Store persistence attempt.
|
/// Canonical entity disposition produced by one Worker Store persistence attempt.
|
||||||
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
||||||
@@ -182,7 +182,7 @@ where
|
|||||||
let entry = convergence.entry(key);
|
let entry = convergence.entry(key);
|
||||||
let entry = match entry {
|
let entry = match entry {
|
||||||
std::option::Option::Some(value) => value,
|
std::option::Option::Some(value) => value,
|
||||||
std::option::Option::None => return persist_raw_transaction_ingest_acquisition(port, acquisition).await,
|
std::option::Option::None => return crate::persist_raw_transaction_ingest_acquisition(port, acquisition).await,
|
||||||
};
|
};
|
||||||
let mut known_hash = entry.lock().await;
|
let mut known_hash = entry.lock().await;
|
||||||
if let std::option::Option::Some(known_hash_value) = *known_hash {
|
if let std::option::Option::Some(known_hash_value) = *known_hash {
|
||||||
@@ -196,7 +196,7 @@ where
|
|||||||
std::result::Result::Err(error) => map_store_error(error),
|
std::result::Result::Err(error) => map_store_error(error),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
let outcome = persist_raw_transaction_ingest_acquisition(port, acquisition).await;
|
let outcome = crate::persist_raw_transaction_ingest_acquisition(port, acquisition).await;
|
||||||
let outcome = match outcome {
|
let outcome = match outcome {
|
||||||
std::result::Result::Ok(value) => value,
|
std::result::Result::Ok(value) => value,
|
||||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||||
@@ -259,6 +259,7 @@ fn map_additional_observation_outcome(
|
|||||||
ksp_store_lib::RawObservationWriteOutcome::NotRecorded => {
|
ksp_store_lib::RawObservationWriteOutcome::NotRecorded => {
|
||||||
std::result::Result::Err(crate::runtime_error("persistence.additional_observation_not_recorded"))
|
std::result::Result::Err(crate::runtime_error("persistence.additional_observation_not_recorded"))
|
||||||
},
|
},
|
||||||
|
_ => std::result::Result::Err(crate::runtime_error("persistence.additional_observation_outcome_invalid")),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
85
deltas/0.3.13/pre.008-fix.001.md
Normal file
85
deltas/0.3.13/pre.008-fix.001.md
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
<!-- file: deltas/0.3.13/pre.008-fix.001.md -->
|
||||||
|
<!-- version: 1 -->
|
||||||
|
|
||||||
|
# Delta 0.3.13-pre.008-fix.001 — correction compilation convergence persistence
|
||||||
|
|
||||||
|
## Base requise
|
||||||
|
|
||||||
|
```text
|
||||||
|
livraison précédente : 0.3.13-pre.008
|
||||||
|
Cargo base : 0.3.13-pre.8
|
||||||
|
delta base : deltas/0.3.13/pre.008.md
|
||||||
|
archive delta base : ksp-general-0.3.13-pre.008.zip
|
||||||
|
```
|
||||||
|
|
||||||
|
Le gate opérateur du 10 septembre 2026 sur `pre.008` est vert pour `cargo fmt`, `cargo fmt --check` et les audits Rust/Markdown. `cargo check --workspace` met ensuite en évidence deux défauts de compilation dans `ksp-worker-raw-transaction-ingest-lib` :
|
||||||
|
|
||||||
|
```text
|
||||||
|
unused import : pub(crate) use self::persistence::persist_raw_transaction_ingest_acquisition
|
||||||
|
E0004 : match non exhaustif sur RawObservationWriteOutcome #[non_exhaustive]
|
||||||
|
```
|
||||||
|
|
||||||
|
Clippy strict reproduit les deux défauts et les tests ne peuvent pas être compilés avant leur correction.
|
||||||
|
|
||||||
|
## Objectif du fix
|
||||||
|
|
||||||
|
Corriger strictement ces deux défauts sans modifier le contrat de convergence `pre.008` :
|
||||||
|
|
||||||
|
```text
|
||||||
|
re-export crate-root : conservé conformément aux règles KSP
|
||||||
|
appels internes : via crate::persist_raw_transaction_ingest_acquisition(...)
|
||||||
|
non-exhaustive enum : wildcard fail-closed vers une erreur runtime stable
|
||||||
|
```
|
||||||
|
|
||||||
|
Le wildcard ne transforme aucune variante future en succès implicite. Toute variante `RawObservationWriteOutcome` inconnue est rejetée comme `persistence.additional_observation_outcome_invalid`.
|
||||||
|
|
||||||
|
## Version
|
||||||
|
|
||||||
|
```text
|
||||||
|
livraison : 0.3.13-pre.008-fix.001
|
||||||
|
workspace.package.version : 0.3.13-pre.8.fix.1
|
||||||
|
archive : ksp-general-0.3.13-pre.008-fix.001.zip
|
||||||
|
```
|
||||||
|
|
||||||
|
`Cargo.toml` passe de la version de fichier `553` à `554`.
|
||||||
|
|
||||||
|
## Fichiers modifiés
|
||||||
|
|
||||||
|
```text
|
||||||
|
Cargo.toml
|
||||||
|
crates/ksp-worker-raw-transaction-ingest-lib/src/persistence.rs
|
||||||
|
```
|
||||||
|
|
||||||
|
`persistence.rs` passe de la version de fichier `2` à `3`.
|
||||||
|
|
||||||
|
## Fichiers ajoutés
|
||||||
|
|
||||||
|
```text
|
||||||
|
deltas/0.3.13/pre.008-fix.001.md
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fichiers supprimés
|
||||||
|
|
||||||
|
```text
|
||||||
|
aucun
|
||||||
|
```
|
||||||
|
|
||||||
|
## Non-claims
|
||||||
|
|
||||||
|
Ce fix ne modifie aucune dépendance, aucune API publique, aucun cache de convergence, aucune clé de coalescence, aucune sémantique d'hydration, aucune observation/provenance et aucune règle Store de première acquisition ou d'observation supplémentaire.
|
||||||
|
|
||||||
|
## Validation dans l'environnement d'assemblage
|
||||||
|
|
||||||
|
Le toolchain Rust/Cargo/Rustfmt n'est pas disponible dans l'environnement d'assemblage. Les commandes Cargo post-fix restent donc `NON EXÉCUTÉ LOCAL`. Les audits statiques KSP et le contrôle exhaustif du delta sont exécutés avant packaging.
|
||||||
|
|
||||||
|
## Gate opérateur requis avant pre.009
|
||||||
|
|
||||||
|
```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
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user