# Delta `0.3.15-pre.005-fix.002` — réalignement du template Desk et bornage de `routeFoundation` ## Base requise ```text 0.3.15-pre.005-fix.001 workspace.package.version = 0.3.15-pre.5.fix.1 deltas/0.3.15/pre.005.md présent deltas/0.3.15/pre.005-fix.001.md présent ``` ## Défauts observés Le contrôle visuel du nouveau `ksp-app-raw-transaction-ingest-desk` montre deux dérives du scaffold livré en `pre.005` : ```text le shell principal utilise un header et une sidebar sombres alors que les autres ksp-app-*-desk utilisent le template clair commun ; les cartes générées dans #routeFoundation peuvent déborder horizontalement à droite de la fenêtre. ``` Le gate opérateur de `pre.005-fix.001` révèle également un second défaut Clippy strict dans `tests/release_completeness.rs` : ```text error: missing `return` statement -D clippy::implicit-return ``` La closure de filtrage du canari de surface publique utilisait un retour implicite. ## Correction du template desktop Le shell principal est réaligné sur le contrat visuel déjà utilisé par Config Desk, Wallet Desk, SOL Prices Desk, Store Desk et Backfill Desk : ```text header app-header contenant une navbar bg-light text-dark ; sidebar col-auto app-sidebar border-end bg-body-tertiary ; contenu col app-content app-scrollable h-100 avec SimpleBar ; container-fluid px-4 py-4 ; card app-shell-card mx-auto shadow-sm border-0 ; footer sombre commun inchangé. ``` Le titre de vue du header est désormais explicitement possédé par `#headerViewTitle` et synchronisé par la navigation frontend entre `Routes` et `Diagnostics`. Aucune couleur métier spécifique n'est introduite : `_variables.scss` et `_bootswatch.scss` restent ceux du template Pulse déjà copié depuis les autres Desk. ## Correction du débordement de `routeFoundation` La structure commune manquante est restaurée et la grille de routes reçoit en plus des gardes explicites : ```text app-shell-card avec width 100 %, max-width 1320px et min-width 0 ; app-route-grid sans marge horizontale négative effective ; enfants de grille avec min-width 0 ; cartes avec min-width 0, max-width 100 % et overflow hidden ; IDs monospace avec overflow-wrap anywhere et word-break break-word. ``` Les colonnes générées par TypeScript portent également `app-route-column` en plus des classes Bootstrap `col-12 col-xl-6`. Ces protections empêchent un identifiant ou une carte de forcer la largeur du flex item principal au-delà de la fenêtre. ## Correction Clippy Le canari `pre_005_public_surface_exposes_only_application_run_entry_point` utilise maintenant un `return` explicite dans sa closure : ```rust .filter(|line| return line.starts_with("pub use ")) ``` La règle workspace `clippy::implicit_return = deny` est ainsi respectée également dans ce test d'intégration. ## Canari de régression desktop `tests/desktop_contract.rs` vérifie désormais explicitement : ```text le header clair commun ; la sidebar bg-body-tertiary ; le flex item Bootstrap col app-content app-scrollable ; le wrapper app-shell-card ; l'absence des anciens marqueurs bg-dark/flex-grow-1 ; les gardes CSS de largeur et de wrapping de routeFoundation. ``` Le test ne fige pas le contenu fonctionnel futur des routes et ne transforme pas le scaffold en runtime Worker. ## Frontières conservées ```text aucun Start/Stop Worker ; aucune composition Transport/Store/Worker ; aucune ouverture d'endpoint ; aucun changement Config ; aucune nouvelle API publique ; aucune nouvelle dépendance ou feature ; aucun changement des cinq IDs de route ; aucun changement des sept états applicatifs ; aucun endpoint, secret ou handle exposé au frontend. ``` ## Fichiers ajoutés ```text deltas/0.3.15/pre.005-fix.002.md ``` ## Fichiers modifiés ```text Cargo.toml crates/ksp-app-raw-transaction-ingest-desk/frontend/main.html crates/ksp-app-raw-transaction-ingest-desk/frontend/sass/_app.scss crates/ksp-app-raw-transaction-ingest-desk/frontend/ts/main.ts crates/ksp-app-raw-transaction-ingest-desk/tests/desktop_contract.rs crates/ksp-app-raw-transaction-ingest-desk/tests/release_completeness.rs ``` ## Fichiers supprimés ```text aucun ``` ## Version Cargo Le fix modifie le frontend applicatif et un test Rust. Conformément aux règles de versioning du workspace : ```text header Cargo.toml : 600 -> 601 workspace.package.version : 0.3.15-pre.5.fix.1 -> 0.3.15-pre.5.fix.2 ``` ## Audits disponibles dans l'environnement d'assemblage ```text General Rust rule audit: clean Rust export completeness audit: 0 candidate(s) KSP workspace Rust rule audit: clean Markdown table audit: clean (318 table(s), 195 file(s)) HTML parse: clean ``` La toolchain Cargo/Rust n'est pas disponible dans l'environnement d'assemblage. Les gates Cargo, Clippy et tests restent donc à confirmer après application du delta. ## Gate opérateur attendu ```bash cargo fmt --all cargo fmt --all -- --check 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.15 cargo check --workspace cargo clippy --workspace --all-targets --all-features -- -D warnings cargo test -p ksp-app-raw-transaction-ingest-desk --all-targets --all-features cargo test --workspace --all-targets --all-features (cd crates/ksp-app-raw-transaction-ingest-desk && npm run build) (cd crates/ksp-app-raw-transaction-ingest-desk && cargo tauri dev) ``` Le dernier lancement est le contrôle visuel explicite du shell commun et de l'absence de débordement horizontal de `routeFoundation`.