v0.3.8-pre.010-fix.001
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
# file: Cargo.toml
|
# file: Cargo.toml
|
||||||
# version: 466
|
# version: 467
|
||||||
|
|
||||||
[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-store-api", "crates/ksp-store-lib", "crates/ksp-store-postgres-lib", "crates/ksp-wallet-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-store-api", "crates/ksp-store-lib", "crates/ksp-store-postgres-lib", "crates/ksp-wallet-lib"]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.3.8-pre.10"
|
version = "0.3.8-pre.10.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-app-store-desk/tests/desktop_security.rs
|
// file: crates/ksp-app-store-desk/tests/desktop_security.rs
|
||||||
// version: 10
|
// version: 11
|
||||||
|
|
||||||
//! Security boundary tests for the Store Desk scaffold.
|
//! Security boundary tests for the Store Desk scaffold.
|
||||||
|
|
||||||
@@ -247,8 +247,8 @@ fn pre_010_observation_ipc_and_tracing_keep_entity_values_and_source_bytes_out_o
|
|||||||
assert!(!frontend.contains(r#"query started", { signature"#));
|
assert!(!frontend.contains(r#"query started", { signature"#));
|
||||||
assert!(!frontend.contains(r#"query started", { pubkey"#));
|
assert!(!frontend.contains(r#"query started", { pubkey"#));
|
||||||
assert!(!frontend.contains(r#"query completed", { observationKey"#));
|
assert!(!frontend.contains(r#"query completed", { observationKey"#));
|
||||||
assert!(tauri.contains("project_command_error("store_query_transaction_observations""));
|
assert!(tauri.contains(r#"project_command_error("store_query_transaction_observations")"#));
|
||||||
assert!(tauri.contains("project_command_error("store_query_account_observations""));
|
assert!(tauri.contains(r#"project_command_error("store_query_account_observations")"#));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
43
deltas/0.3.8/pre.010-fix.001.md
Normal file
43
deltas/0.3.8/pre.010-fix.001.md
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
<!-- file: deltas/0.3.8/pre.010-fix.001.md -->
|
||||||
|
<!-- version: 1 -->
|
||||||
|
|
||||||
|
# Delta `0.3.8-pre.010-fix.001`
|
||||||
|
|
||||||
|
## Base
|
||||||
|
|
||||||
|
- livraison directe : `0.3.8-pre.010` ;
|
||||||
|
- workspace : `0.3.8-pre.10` ;
|
||||||
|
- gate opérateur : audits/check workspace verts, mais compilation des tests Store Desk bloquée par deux string literals Rust invalides dans `desktop_security.rs`.
|
||||||
|
|
||||||
|
## Objet
|
||||||
|
|
||||||
|
Rendre compilables les deux canaris Tauri Observation sans modifier le comportement runtime de `pre.010`.
|
||||||
|
|
||||||
|
## Changements
|
||||||
|
|
||||||
|
- `desktop_security.rs` utilise des raw string literals Rust pour les motifs `project_command_error(...)` des deux commandes Observation ;
|
||||||
|
- les motifs contrôlés restent strictement identiques ;
|
||||||
|
- synchronisation de la version workspace vers `0.3.8-pre.10.fix.1` ;
|
||||||
|
- validation de tranche mise à jour.
|
||||||
|
|
||||||
|
## Hors périmètre
|
||||||
|
|
||||||
|
- aucun frontend/TypeScript/HTML ;
|
||||||
|
- aucun DTO ou IPC runtime ;
|
||||||
|
- aucun Store API/façade/PostgreSQL/SQL/schema ;
|
||||||
|
- aucune capability Tauri ou Config.
|
||||||
|
|
||||||
|
## Gate recommandé
|
||||||
|
|
||||||
|
```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
|
||||||
|
```
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: docs/validation/025-V0_3_8_STORE_DESK.md -->
|
<!-- file: docs/validation/025-V0_3_8_STORE_DESK.md -->
|
||||||
<!-- version: 22 -->
|
<!-- version: 23 -->
|
||||||
|
|
||||||
# Validation v0.3.8 — Store Desk V1 RAW
|
# Validation v0.3.8 — Store Desk V1 RAW
|
||||||
|
|
||||||
@@ -760,3 +760,16 @@ Les DTO Observation exposent seulement provenance sûre et metadata optionnelles
|
|||||||
Hardening ajouté : validation Rust commune `inspection_page_from_request`, whitelist 25/50/100, offset `u64`, draw/start/length frontend contrôlés, counts décimaux refusés au-delà du domaine JS sûr, réponses Observation stale ignorées lors d'un changement d'entité, erreurs de query séparées dans chaque modal et ajustement DataTables au `shown.bs.modal`.
|
Hardening ajouté : validation Rust commune `inspection_page_from_request`, whitelist 25/50/100, offset `u64`, draw/start/length frontend contrôlés, counts décimaux refusés au-delà du domaine JS sûr, réponses Observation stale ignorées lors d'un changement d'entité, erreurs de query séparées dans chaque modal et ajustement DataTables au `shown.bs.modal`.
|
||||||
|
|
||||||
Validation d'assemblage assistant : audits Rust/exports/Markdown, syntaxe TypeScript/HTML, inventaire DTO/commands/Store paths et reconstruction delta. Les gates Cargo restent à exécuter par l'opérateur.
|
Validation d'assemblage assistant : audits Rust/exports/Markdown, syntaxe TypeScript/HTML, inventaire DTO/commands/Store paths et reconstruction delta. Les gates Cargo restent à exécuter par l'opérateur.
|
||||||
|
|
||||||
|
## 36. `pre.010-fix.001` — canaris Tauri Observation compilables
|
||||||
|
|
||||||
|
Le gate opérateur de `0.3.8-pre.10` confirme que les audits KSP, `cargo check --workspace`, Store façade et `--no-default-features` sont verts, et que le smoke Tauri démarre/ferme correctement le runtime Store. L'unique blocage du gate compilé est `desktop_security.rs` : deux assertions contenant des motifs Rust/TypeScript imbriqués utilisent des string literals Rust ordinaires avec des guillemets internes non échappés.
|
||||||
|
|
||||||
|
`pre.010-fix.001` corrige strictement ces canaris :
|
||||||
|
|
||||||
|
- [X] les motifs `project_command_error("store_query_transaction_observations")` et `project_command_error("store_query_account_observations")` sont exprimés par des raw string literals Rust valides ;
|
||||||
|
- [X] les motifs testés restent strictement identiques ;
|
||||||
|
- [X] aucun runtime, frontend, DTO, IPC, Store API/façade, PostgreSQL, SQL, Config ou capability Tauri n'est modifié ;
|
||||||
|
- [X] la version workspace devient `0.3.8-pre.10.fix.1` car un test Rust est modifié.
|
||||||
|
|
||||||
|
Le gate Cargo du fix reste à rejouer après application du delta.
|
||||||
|
|||||||
Reference in New Issue
Block a user