From 8c23625fee6d0cf53f1065b2c07d9e8bc4b7d1e2 Mon Sep 17 00:00:00 2001 From: SinuS Von SifriduS Date: Thu, 3 Sep 2026 19:59:25 +0200 Subject: [PATCH] v0.3.8-pre.008-fix.001 --- Cargo.toml | 4 +- .../tests/desktop_contract.rs | 4 +- deltas/0.3.8/pre.008-fix.001.md | 54 +++++++++++++++++++ docs/validation/025-V0_3_8_STORE_DESK.md | 14 ++++- 4 files changed, 71 insertions(+), 5 deletions(-) create mode 100644 deltas/0.3.8/pre.008-fix.001.md diff --git a/Cargo.toml b/Cargo.toml index 3a61c93..d56b4ba 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,12 @@ # file: Cargo.toml -# version: 462 +# version: 463 [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.8" +version = "0.3.8-pre.8.fix.1" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project" diff --git a/crates/ksp-app-store-desk/tests/desktop_contract.rs b/crates/ksp-app-store-desk/tests/desktop_contract.rs index 2f0e197..1b6d645 100644 --- a/crates/ksp-app-store-desk/tests/desktop_contract.rs +++ b/crates/ksp-app-store-desk/tests/desktop_contract.rs @@ -1,5 +1,5 @@ // file: crates/ksp-app-store-desk/tests/desktop_contract.rs -// version: 7 +// version: 8 //! Desktop template and frontend contract tests for the Store Desk scaffold. @@ -245,7 +245,7 @@ fn pre_008_account_ipc_maps_datatables_filters_counts_and_bounded_detail_without assert!(tauri.contains("store_get_account_detail")); assert!(frontend.contains("store_query_accounts")); assert!(frontend.contains("store_get_account_detail")); - assert!(frontend.contains("pubkey: pubkey === "" ? null : pubkey")); + assert!(frontend.contains(r#"pubkey: pubkey === "" ? null : pubkey"#)); assert!(frontend.contains("recordsTotalDecimal")); assert!(frontend.contains("recordsFilteredDecimal")); assert!(frontend.contains("data-account-detail")); diff --git a/deltas/0.3.8/pre.008-fix.001.md b/deltas/0.3.8/pre.008-fix.001.md new file mode 100644 index 0000000..cdb2023 --- /dev/null +++ b/deltas/0.3.8/pre.008-fix.001.md @@ -0,0 +1,54 @@ + + + +# Delta `0.3.8-pre.008-fix.001` — correction du canari pubkey Account + +## Base requise + +Base directe attendue : `0.3.8-pre.008` (`workspace.package.version = 0.3.8-pre.8`). + +## Objet + +Corriger un défaut de syntaxe strictement limité au canari desktop Account de `ksp-app-store-desk`, sans modifier le comportement runtime livré par `pre.008`. + +## Défaut observé + +Le gate opérateur de `pre.008` valide les audits KSP et les chemins Store, mais `cargo clippy --workspace --all-targets` et `cargo test -p ksp-app-store-desk` ne peuvent pas compiler `tests/desktop_contract.rs`. Le motif TypeScript suivant a été placé dans un string literal Rust ordinaire : + +```text +pubkey: pubkey === "" ? null : pubkey +``` + +Les deux guillemets TypeScript ferment prématurément la chaîne Rust. + +## Correction + +Le canari utilise désormais un raw string literal Rust pour conserver exactement le motif TypeScript attendu, sans échappement ambigu. + +Aucun contrat fonctionnel n'est modifié. + +## Hors scope + +Aucun changement frontend, runtime Account, IPC, DTO, Store API, Store façade, PostgreSQL, SQL, migration, Config ou capability Tauri. + +## Version + +```text +delivery = 0.3.8-pre.008-fix.001 +workspace.package.version = 0.3.8-pre.8.fix.1 +commit = v0.3.8-pre.008-fix.001 +tag = aucun +``` + +## Gate requis + +```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-app-store-desk +cargo test -p ksp-store-lib +cargo check -p ksp-store-lib --no-default-features +``` diff --git a/docs/validation/025-V0_3_8_STORE_DESK.md b/docs/validation/025-V0_3_8_STORE_DESK.md index c9e1bbc..7b06610 100644 --- a/docs/validation/025-V0_3_8_STORE_DESK.md +++ b/docs/validation/025-V0_3_8_STORE_DESK.md @@ -1,5 +1,5 @@ - + # Validation v0.3.8 — Store Desk V1 RAW @@ -674,3 +674,15 @@ cargo check -p ksp-store-lib --no-default-features: PASS Le gate Cargo de `pre.008` reste à rejouer après application du delta. +## 33. `pre.008-fix.001` — correction du canari pubkey Account + +Le gate opérateur de `0.3.8-pre.8` confirme que les audits KSP, `cargo check --workspace`, Store lib et `--no-default-features` sont verts. L'unique blocage est la compilation du canari `desktop_contract.rs` : le motif TypeScript `pubkey: pubkey === "" ? null : pubkey` a été placé dans un string literal Rust ordinaire sans échapper les guillemets internes. + +`pre.008-fix.001` corrige uniquement ce canari : + +- [X] le motif TypeScript est exprimé par un raw string literal Rust valide ; +- [X] le contrat vérifié reste exactement `pubkey: pubkey === "" ? null : pubkey` ; +- [X] aucun runtime Account, frontend, IPC, DTO, Store, PostgreSQL, SQL, Config ou capability Tauri n'est modifié ; +- [X] la version workspace devient `0.3.8-pre.8.fix.1` parce qu'un fichier de test Rust est modifié. + +Le gate Cargo du fix reste à rejouer après application du delta.