Files
2026-09-02 09:31:46 +02:00

5.6 KiB

Delta 0.3.7-pre.002 — scaffold ksp-app-backfill-desk

1. Base requise

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 :

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 :

@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 :

@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 :

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

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

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

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 :

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.