diff --git a/Cargo.toml b/Cargo.toml index 206e4cb..0d7d4b4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,12 @@ # file: Cargo.toml -# version: 431 +# version: 432 [workspace] resolver = "3" members = ["crates/ksp-app-backfill-desk", "crates/ksp-app-config-desk", "crates/ksp-app-solprices-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.7-pre.9" +version = "0.3.7-pre.9.fix.1" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project" diff --git a/crates/ksp-app-backfill-desk/tests/desktop_contract.rs b/crates/ksp-app-backfill-desk/tests/desktop_contract.rs index bee9e9d..6ebecdc 100644 --- a/crates/ksp-app-backfill-desk/tests/desktop_contract.rs +++ b/crates/ksp-app-backfill-desk/tests/desktop_contract.rs @@ -1,5 +1,5 @@ // file: crates/ksp-app-backfill-desk/tests/desktop_contract.rs -// version: 10 +// version: 11 //! Structural desktop contract checks for the Backfill Desk scaffold. @@ -329,11 +329,11 @@ fn pre_008_start_installs_handle_before_non_blocking_spawn_and_keeps_single_run_ #[test] fn pre_009_latest_value_monitoring_uses_snapshot_source_event_bridge_and_resynchronization_command() { - let root = workspace_root(); - let run = read(root.join("crates/ksp-app-backfill-desk/src/backfill_run.rs")); - let status = read(root.join("crates/ksp-app-backfill-desk/src/backfill_status.rs")); - let tauri = read(root.join("crates/ksp-app-backfill-desk/src/tauri.rs")); - let frontend = read(root.join("crates/ksp-app-backfill-desk/frontend/ts/main.ts")); + let root = app_root(); + let run = read_text(root.join("src/backfill_run.rs").as_path()); + let status = read_text(root.join("src/backfill_status.rs").as_path()); + let tauri = read_text(root.join("src/tauri.rs").as_path()); + let frontend = read_text(root.join("frontend/ts/main.ts").as_path()); assert!(run.contains("last_terminal")); assert!(run.contains("current_notification")); assert!(status.contains("BackfillRunStatusDto")); diff --git a/crates/ksp-app-backfill-desk/tests/desktop_security.rs b/crates/ksp-app-backfill-desk/tests/desktop_security.rs index 8d10d5d..21b8092 100644 --- a/crates/ksp-app-backfill-desk/tests/desktop_security.rs +++ b/crates/ksp-app-backfill-desk/tests/desktop_security.rs @@ -1,5 +1,5 @@ // file: crates/ksp-app-backfill-desk/tests/desktop_security.rs -// version: 10 +// version: 11 //! Security and dependency-boundary checks for the Backfill Desk scaffold. @@ -242,8 +242,8 @@ fn pre_008_start_surface_keeps_payload_and_physical_resources_backend_owned() { #[test] fn pre_009_monitoring_projection_exposes_counters_and_codes_without_checkpoint_or_business_payloads() { - let root = workspace_root(); - let status = read(root.join("crates/ksp-app-backfill-desk/src/backfill_status.rs")); + let root = app_root(); + let status = read_text(root.join("src/backfill_status.rs").as_path()); let dto = struct_source(status.as_str(), "BackfillRunStatusDto"); for required in ["checkpoint_present", "contiguous_completed", "failure_code", "failure_domain", "sequence", "scope_kind"] { assert!(dto.contains(required), "monitoring DTO missing required safe marker {required}"); diff --git a/deltas/0.3.7/pre.009-fix.001.md b/deltas/0.3.7/pre.009-fix.001.md new file mode 100644 index 0000000..1d18c1c --- /dev/null +++ b/deltas/0.3.7/pre.009-fix.001.md @@ -0,0 +1,78 @@ + + + +# Delta `0.3.7-pre.009-fix.001` — compilation des canaris monitoring + +## 1. Base requise + +```text +0.3.7-pre.009 +workspace.package.version = 0.3.7-pre.9 +``` + +## 2. Objectif + +Corriger uniquement la compilation des deux canaris d'intégration ajoutés en `pre.009`, sans modifier le monitoring latest-value ni aucun code de production. + +## 3. Cause + +`desktop_contract.rs` utilisait `read(...)` alors que ce fichier possède déjà `read_text(...)`. `desktop_security.rs` utilisait `workspace_root()` et `read(...)`, alors que ses helpers disponibles sont `app_root()` et `read_text(...)`. + +Le compilateur bloquait donc les tests avec `E0425` avant exécution des canaris. + +## 4. Correction + +Les tests réutilisent leurs helpers existants et des chemins relatifs à `CARGO_MANIFEST_DIR` : + +```text +desktop_contract -> app_root() + read_text() +desktop_security -> app_root() + read_text() +``` + +Aucun helper redondant n'est ajouté et aucun fichier de production n'est modifié. + +## 5. Version + +```text +workspace.package.version = 0.3.7-pre.9.fix.1 +label = 0.3.7-pre.009-fix.001 +``` + +## 6. Fichiers modifiés + +```text +Cargo.toml +crates/ksp-app-backfill-desk/tests/desktop_contract.rs +crates/ksp-app-backfill-desk/tests/desktop_security.rs +docs/validation/024-V0_3_7_BACKFILL_DESK.md +``` + +## 7. Fichier ajouté + +```text +deltas/0.3.7/pre.009-fix.001.md +``` + +## 8. Fichiers supprimés + +Aucun. + +## 9. Preuve opérateur `pre.009` + +Le gate opérateur confirme audits Rust/Markdown propres, `cargo check --workspace` propre et `ksp-job-backfill-lib` vert. Les seuls blocages sont les `E0425` des deux canaris. + +Un smoke Tauri manuel confirme également Store Mainnet ready avec la configuration TLS locale opérateur en mode `disabled`, Start réel, traitement de dix candidats et rétention/resynchronisation du snapshot terminal. La modification locale `std.store.json` ne fait pas partie de ce delta de tests. + +## 10. Gate après application + +```text +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/0.3.7 +cargo check --workspace +cargo clippy --workspace --all-targets +cargo test -p ksp-job-backfill-lib +cargo test -p ksp-app-backfill-desk +``` + +Aucun `cargo tree` requis : aucune dépendance ni feature Cargo n'est modifiée. diff --git a/docs/validation/024-V0_3_7_BACKFILL_DESK.md b/docs/validation/024-V0_3_7_BACKFILL_DESK.md index 7956574..1c6ddc7 100644 --- a/docs/validation/024-V0_3_7_BACKFILL_DESK.md +++ b/docs/validation/024-V0_3_7_BACKFILL_DESK.md @@ -1,5 +1,5 @@ - + # Validation v0.3.7 — Backfill Desk @@ -444,3 +444,22 @@ Le frontend installe le listener avant la resynchronisation startup, rend le der - [X] frontend réactive Start sur terminal et garde un resync manuel ; - [X] aucun Cancel/Resume ajouté prématurément ; - [ ] `cargo fmt/check/clippy/test` de `pre.009` à rejouer par l'opérateur ; `cargo`/`rustfmt` restent absents du sandbox. + +## 22. Correctif `pre.009-fix.001` — helpers de canaris monitoring + +Le gate opérateur de `pre.009` confirme que les audits Rust/Markdown et `cargo check --workspace` sont propres. `ksp-job-backfill-lib` reste intégralement vert. Le blocage est limité à la compilation de deux nouveaux canaris Backfill Desk : `desktop_contract` appelle un helper inexistant `read`, tandis que `desktop_security` appelle `workspace_root` et `read`, helpers absents de ce fichier. + +Le smoke Tauri manuel confirme parallèlement le comportement fonctionnel de `pre.009` : avec le Store Mainnet joignable et `tls_mode = disabled` dans la configuration locale opérateur, le Store devient ready, un backfill `latest_address` est admis, dix candidats sont traités puis un snapshot terminal `finished` est retenu et resynchronisable via `backfill_status`. Cette configuration TLS locale n'appartient pas au delta du correctif de tests. + +Le correctif réutilise uniquement les helpers déjà possédés par chaque fichier de test : `app_root()` et `read_text()`. Aucun code de production, DTO, monitoring latest-value, runtime Job, Store, Transport, frontend ou configuration n'est modifié. + +### Gate du fix + +- [X] `desktop_contract` utilise `app_root()` + `read_text()` pour les quatre sources `pre.009` ; +- [X] `desktop_security` utilise `app_root()` + `read_text()` pour `backfill_status.rs` ; +- [X] aucun nouveau helper de test redondant n'est introduit ; +- [X] aucun fichier de production ou Config n'est modifié ; +- [X] version Cargo synchronisée en `0.3.7-pre.9.fix.1` ; +- [X] audits statiques Rust/Markdown rejoués dans l'environnement d'assemblage ; +- [ ] replay opérateur `cargo fmt/check/clippy/test` du fix à exécuter ; aucun `cargo tree` requis car dépendances/features inchangées. +