v0.3.8-pre.005-fix.001
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
# file: Cargo.toml
|
||||
# version: 452
|
||||
# version: 453
|
||||
|
||||
[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-store-api", "crates/ksp-store-lib", "crates/ksp-store-postgres-lib", "crates/ksp-wallet-lib"]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.3.8-pre.5"
|
||||
version = "0.3.8-pre.5.fix.1"
|
||||
edition = "2024"
|
||||
license = "MIT"
|
||||
repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project"
|
||||
|
||||
@@ -85,10 +85,10 @@ pub(crate) use self::raw_account::cursor::raw_account_physical_page_limit;
|
||||
pub(crate) use self::raw_account::get_raw_account_observation;
|
||||
/// Private RAW account state reader consumed by the physical backend runtime.
|
||||
pub(crate) use self::raw_account::get_raw_account_state;
|
||||
/// Private RAW account-state list reader consumed by the physical backend runtime.
|
||||
pub(crate) use self::raw_account::list_raw_account_states;
|
||||
/// Private data-free RAW account-state inspection reader consumed by the physical backend runtime.
|
||||
pub(crate) use self::raw_account::inspect_raw_account_states;
|
||||
/// Private RAW account-state list reader consumed by the physical backend runtime.
|
||||
pub(crate) use self::raw_account::list_raw_account_states;
|
||||
/// Private atomic RAW account acquisition writer consumed by the physical backend runtime.
|
||||
pub(crate) use self::raw_account::persist_raw_account_acquisition;
|
||||
/// Private additional RAW account observation writer consumed by the physical backend runtime.
|
||||
@@ -107,10 +107,10 @@ pub(crate) use self::raw_transaction::get_raw_transaction_observation;
|
||||
pub(crate) use self::raw_transaction::get_raw_transaction_retention_state;
|
||||
/// Private RAW transaction tombstone reader consumed by the physical backend runtime.
|
||||
pub(crate) use self::raw_transaction::get_raw_transaction_tombstone;
|
||||
/// Private RAW transaction list reader consumed by the physical backend runtime.
|
||||
pub(crate) use self::raw_transaction::list_raw_transactions;
|
||||
/// Private payload-free RAW transaction inspection reader consumed by the physical backend runtime.
|
||||
pub(crate) use self::raw_transaction::inspect_raw_transactions;
|
||||
/// Private RAW transaction list reader consumed by the physical backend runtime.
|
||||
pub(crate) use self::raw_transaction::list_raw_transactions;
|
||||
/// Private atomic RAW transaction acquisition writer consumed by the physical backend runtime.
|
||||
pub(crate) use self::raw_transaction::persist_raw_transaction_acquisition;
|
||||
/// Private additional RAW transaction observation writer consumed by the physical backend runtime.
|
||||
|
||||
@@ -226,10 +226,7 @@ pub(crate) async fn inspect_raw_account_states(
|
||||
query: &ksp_store_api::RawAccountStateInspectionQuery,
|
||||
) -> std::result::Result<ksp_store_api::RawInspectionPage<ksp_store_api::RawAccountStateSummary>, crate::PostgresBackendError> {
|
||||
if query.network() != network {
|
||||
return std::result::Result::Err(crate::PostgresBackendError::new(
|
||||
crate::PostgresBackendErrorKind::WrongNetwork,
|
||||
"raw_account_inspection_network",
|
||||
));
|
||||
return std::result::Result::Err(crate::PostgresBackendError::new(crate::PostgresBackendErrorKind::WrongNetwork, "raw_account_inspection_network"));
|
||||
}
|
||||
let sql = match query.direction() {
|
||||
ksp_store_api::RawSortDirection::Ascending => INSPECT_ACCOUNT_STATES_ASC_SQL,
|
||||
@@ -1042,9 +1039,7 @@ fn raw_account_inspection_empty_page_is_clean(row: &RawAccountInspectionDbRow) -
|
||||
&& row.state_hash.is_none();
|
||||
}
|
||||
|
||||
fn raw_account_inspection_sql_window(
|
||||
page: ksp_store_api::RawInspectionPageRequest,
|
||||
) -> std::result::Result<(i64, i64), crate::PostgresBackendError> {
|
||||
fn raw_account_inspection_sql_window(page: ksp_store_api::RawInspectionPageRequest) -> std::result::Result<(i64, i64), crate::PostgresBackendError> {
|
||||
let sql_limit = match i64::try_from(page.limit().get()) {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(_) => {
|
||||
@@ -1057,10 +1052,7 @@ fn raw_account_inspection_sql_window(
|
||||
let sql_offset = match i64::try_from(page.offset()) {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(_) => {
|
||||
return std::result::Result::Err(crate::PostgresBackendError::new(
|
||||
crate::PostgresBackendErrorKind::QueryInvalid,
|
||||
"raw_account_inspection_offset",
|
||||
));
|
||||
return std::result::Result::Err(crate::PostgresBackendError::new(crate::PostgresBackendErrorKind::QueryInvalid, "raw_account_inspection_offset"));
|
||||
},
|
||||
};
|
||||
return std::result::Result::Ok((sql_limit, sql_offset));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-store-postgres-lib/unit_tests/raw_account.rs
|
||||
// version: 6
|
||||
// version: 7
|
||||
|
||||
fn network() -> ksp_store_api::RawNetworkId {
|
||||
return match ksp_store_api::RawNetworkId::new("devnet") {
|
||||
@@ -67,7 +67,7 @@ fn observation_row() -> super::RawAccountObservationDbRow {
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
fn inspection_row(data_length_bytes: i64) -> super::RawAccountInspectionDbRow {
|
||||
return super::RawAccountInspectionDbRow {
|
||||
data_length_bytes: std::option::Option::Some(data_length_bytes),
|
||||
executable: std::option::Option::Some(true),
|
||||
|
||||
36
deltas/0.3.8/pre.005-fix.001.md
Normal file
36
deltas/0.3.8/pre.005-fix.001.md
Normal file
@@ -0,0 +1,36 @@
|
||||
<!-- file: deltas/0.3.8/pre.005-fix.001.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.3.8-pre.005-fix.001` — restauration de la fixture Account inspection
|
||||
|
||||
## Base requise
|
||||
|
||||
Base directe attendue : `0.3.8-pre.005`.
|
||||
|
||||
## Objet
|
||||
|
||||
Corriger exclusivement l'erreur de syntaxe introduite dans le test unitaire PostgreSQL Account inspection : la fonction fixture `inspection_row(data_length_bytes)` avait perdu sa signature lors de l'assemblage de `pre.005`.
|
||||
|
||||
## Modifications
|
||||
|
||||
- `Cargo.toml` : version workspace `0.3.8-pre.5.fix.1` ;
|
||||
- `crates/ksp-store-postgres-lib/unit_tests/raw_account.rs` : restauration de `fn inspection_row(data_length_bytes: i64) -> super::RawAccountInspectionDbRow` ;
|
||||
- `docs/validation/025-V0_3_8_STORE_DESK.md` : consignation du gate opérateur et du live proof Account PostgreSQL 17.
|
||||
|
||||
## Hors scope
|
||||
|
||||
Aucun changement de SQL, runtime, migration, Store API, façade, capability, UI Desk ou protocole DataTables.
|
||||
|
||||
## Validation attendue
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
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
|
||||
cargo test -p ksp-store-postgres-lib
|
||||
cargo test -p ksp-store-lib
|
||||
cargo check -p ksp-store-lib --no-default-features
|
||||
cargo test -p ksp-store-api
|
||||
```
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/025-V0_3_8_STORE_DESK.md -->
|
||||
<!-- version: 8 -->
|
||||
<!-- version: 9 -->
|
||||
|
||||
# Validation v0.3.8 — Store Desk V1 RAW
|
||||
|
||||
@@ -404,3 +404,16 @@ test pre_009_real_postgres_raw_transaction_vertical_slice_is_atomic_concurrent_a
|
||||
- [X] le live proof Account opt-in couvre filtre pubkey, counts, ordre asc/desc, offset, data length et page vide profonde ;
|
||||
- [X] aucune migration, table, index, capability destructive Account, UI Desk ou protocole DataTables n'est ajouté.
|
||||
|
||||
## 22. Gate opérateur `pre.005` et ouverture de `pre.005-fix.001`
|
||||
|
||||
Le gate opérateur de `pre.005` confirme que les audits Rust/Markdown, `ksp-store-lib`, `ksp-store-api` et le live proof PostgreSQL Account sont verts, mais la tranche ne peut pas être fermée : `cargo fmt --all`, `cargo clippy --workspace --all-targets` et `cargo test -p ksp-store-postgres-lib` échouent tous sur une erreur de syntaxe dans le fichier de tests unitaires `unit_tests/raw_account.rs`.
|
||||
|
||||
La fixture `inspection_row(data_length_bytes)` a perdu sa signature de fonction lors de l'assemblage du delta ; seul son `return super::RawAccountInspectionDbRow { ... };` est resté, ce qui laisse une accolade fermante orpheline. Le live proof d'intégration peut néanmoins compiler et passer car ce fichier n'est inclus que sous `cfg(test)` dans les tests unitaires de la bibliothèque.
|
||||
|
||||
`pre.005-fix.001` restaure uniquement la signature de cette fixture. Aucun SQL, runtime PostgreSQL, contrat Store, capability ou comportement d'inspection de production n'est modifié. Le live proof Account exécuté sur PostgreSQL 17 reste une preuve valide du chemin runtime :
|
||||
|
||||
```text
|
||||
KSP Store RawAccountState live proof: server major 17
|
||||
test pre_009_real_postgres_raw_account_vertical_slice_is_atomic_concurrent_and_recoverable ... ok
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user