# Delta `0.3.7-pre.002` — scaffold `ksp-app-backfill-desk` ## 1. Base requise ```text 0.3.7-pre.001 appliquée workspace.package.version = 0.3.7-pre.1 ``` La version workspace passe à `0.3.7-pre.2`. ## 2. Objectif Créer uniquement le gabarit desktop Tauri de Backfill Desk avant toute composition Transport/Store/Backfill fonctionnelle. La tranche fournit : package Rust mixte lib/bin, launcher single-instance, Config/Logging standard transitoire, splash commun KSP, shell `Backfill / Diagnostics`, bridge Logging frontend, ports Vite/HMR 1436/1437, capabilities minimales et canaris desktop/security/public API. ## 3. Gabarit Desk réutilisé Le scaffold suit `KSP-APP-008/015/023/025/027` et les contraintes opérateur confirmées pour cette release : ```text même splash.png même logo/favicon même font DOS_Amazigh.ttf même splash.scss, hors header de propriété même baseline Bootstrap / Bootswatch / Font Awesome / SimpleBar mêmes scripts npm dev/build mêmes devDependencies que les Desk existantes ``` Le splash change uniquement son identité textuelle vers `Backfill Desk`; sa géométrie, son image, sa font et son lifecycle restent ceux du gabarit. `package.json` contient au minimum : ```text @fltsci/tauri-plugin-tracing ^0.3 @fortawesome/fontawesome-free ^7.3 @tauri-apps/api ^2.11 bootstrap ^5.3 resize-observer-polyfill ^1.5 simplebar ^6.3 ``` avec : ```text @tauri-apps/cli ^2.11 @types/bootstrap ^5.2 @types/node ^26.1 sass-embedded ^1.102 typescript ^7.0 vite ^8.2 ``` ## 4. Frontend et instrumentation Le shell reste volontairement non métier : la vue Backfill est un placeholder et Diagnostics expose seulement version, phase, nombre de documents Config, profil Logging et état fallback. Le frontend trace via le bridge KSP : chargement main/splash, clics génériques sur les contrôles, clics tabs, transitions de vue, clic Refresh diagnostics, début/fin/échec IPC, rendu du status et ordres/animations splash. Aucun payload Backfill, adresse, signature, endpoint, URI Store ou secret n'est journalisé. ## 5. Frontières préservées `pre.002` n'ajoute volontairement aucune dépendance applicative vers : ```text ksp-job-backfill-lib ksp-onchain-transport-lib ksp-store-lib ksp-store-api ksp-store-postgres-lib reqwest tokio-postgres ``` Aucun RPC, Store, job, checkpoint, scope, provider, endpoint, scheduler, retry ou payload RAW n'est ouvert dans le frontend ou le runtime applicatif. Le composite Backfill Desk et le packaging Config restent à `pre.003`. ## 6. Fichiers ajoutés ```text crates/ksp-app-backfill-desk/** deltas/0.3.7/pre.002.md ``` Les bindings TS-RS et autres artefacts générés ne sont pas versionnés. ## 7. Fichiers modifiés ```text Cargo.toml docs/plans/028-V0_3_7_BACKFILL_DESK_PLAN.md docs/validation/024-V0_3_7_BACKFILL_DESK.md ``` ## 8. Fichiers supprimés Aucun. ## 9. Validations exécutées ```text python3 scripts/audit_rust_workspace_rules.py General Rust rule audit: clean Rust export completeness audit: 0 candidate(s) KSP workspace Rust rule audit: clean python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas/0.3.7 Markdown table audit: clean (270 table(s), 149 file(s)) Manifest parse audit: clean (4 JSON, 2 TOML) Desk package baseline audit: clean (6 mandatory dependencies; devDependencies exact across 3 references) Desk binary asset audit: clean (5 assets byte-identical across 3 references) Desk shared SASS audit: clean (5 shared files body-identical to SOL Prices Desk) Desk splash template audit: clean (HTML/SCSS identical modulo Backfill identity and file metadata) Desk shell skeleton audit: clean (header/sidebar/content/footer + SimpleBar) Frontend interaction/security audit: clean pre.002 dependency/capability boundary audit: clean Desk port audit: clean (1436/1437 strict) TypeScript syntax audit: clean (5 file(s)) Delta scope audit: clean (46 added, 3 modified, 0 deleted; 45 app files + delta) ``` Le contrôle TypeScript est un contrôle syntaxique par transpilation avec le compilateur global disponible (`tsc 5.8.3`) ; il ne remplace ni le typecheck complet avec les dépendances npm installées et bindings TS-RS générés, ni le build Tauri. ## 10. Validations non exécutées dans le sandbox Le sandbox ne fournit ni `cargo` ni `rustfmt`; les commandes Rust obligatoires ne sont donc jamais déclarées PASS localement. Gate opérateur attendu : ```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/0.3.7 cargo check --workspace cargo clippy --workspace --all-targets cargo test -p ksp-app-backfill-desk cargo tree -p ksp-app-backfill-desk --edges normal cargo tree -p ksp-app-backfill-desk -e features ``` Une correction découverte par ce gate reste un `pre.002-fix.NNN`. ## 11. Décisions prises - `ksp-app-backfill-desk` est le nom fixé de l'application `0.3.7`. - 1436/1437 sont les ports exclusifs du Desk. - le gabarit visuel et frontend des Desk existantes est repris comme contrat, sans reprendre de logique métier kbot3 ; - le Logging standard est utilisé transitoirement pour que l'instrumentation frontend soit effective dès le scaffold ; `pre.003` introduira le composite Backfill Desk ; - les capabilities restent `core:default + tracing:default`. ## 12. Questions ouvertes Aucune question bloquante pour `pre.002`. ## 13. Suite `0.3.7-pre.003` reste dédié au composite Config Backfill Desk, aux resources bundle minimales et au bootstrap composite Logging/Transport/Store, sans encore construire le runtime Transport réel.