# Delta 0.3.7-pre.003 — Config composite et packaging Backfill Desk ## Base `0.3.7-pre.002` validée par le gate opérateur fourni : audits Rust/Markdown, `cargo check --workspace`, Clippy et tests `ksp-app-backfill-desk` propres. ## Objectif Introduire le composite Config de Backfill Desk, brancher son bootstrap Config/Logging et le packaging release, tout en conservant Transport, Store et Backfill runtime fermés. Pendant le développement du Desk, rendre son tracing volontairement verbeux via `supertrace` sur le profil `devnet` et `trace` pour le fallback local. ## Fichiers ajoutés - `config/composite.ksp-app-backfill-desk.json` ; - `crates/ksp-config-lib/unit_tests/fixtures/composite.ksp-app-backfill-desk.json` ; - `crates/ksp-app-backfill-desk/tests/config_composition.rs` ; - `deltas/0.3.7/pre.003.md`. ## Fichiers modifiés - `Cargo.toml` ; - `crates/ksp-config-lib/src/lib.rs` ; - `crates/ksp-config-lib/src/registry.rs` ; - `crates/ksp-config-lib/tests/public_api.rs` ; - `crates/ksp-config-lib/unit_tests/registry.rs` ; - `crates/ksp-app-backfill-desk/src/bootstrap.rs` ; - `crates/ksp-app-backfill-desk/src/constants.rs` ; - `crates/ksp-app-backfill-desk/src/errors.rs` ; - `crates/ksp-app-backfill-desk/src/lib.rs` ; - `crates/ksp-app-backfill-desk/src/tauri.rs` ; - `crates/ksp-app-backfill-desk/tauri.conf.json` ; - `crates/ksp-app-backfill-desk/tests/desktop_contract.rs` ; - `crates/ksp-app-backfill-desk/tests/desktop_security.rs` ; - `crates/ksp-app-config-desk/tauri.conf.json` ; - `crates/ksp-app-config-desk/tests/desktop_contract.rs` ; - `crates/ksp-app-solprices-desk/tauri.conf.json` ; - `crates/ksp-app-solprices-desk/tests/desktop_contract.rs` ; - `crates/ksp-app-wallet-desk/tauri.conf.json` ; - `crates/ksp-app-wallet-desk/tests/desktop_contract.rs` ; - `crates/ksp-app-wallet-desk/tests/release_compliance.rs` ; - `docs/plans/028-V0_3_7_BACKFILL_DESK_PLAN.md` ; - `docs/validation/024-V0_3_7_BACKFILL_DESK.md`. ## Fichiers supprimés Aucun. ## Décisions - Le composite Backfill Desk possède `devnet`, `mainnet` et `testnet`, avec `devnet` par défaut. - `devnet` sélectionne Logging `supertrace`; le fallback local de Backfill Desk utilise `LogFilterLevel::Trace` pendant le développement. Aucun niveau des autres Desk n'est modifié. - Le bootstrap valide les composants Logging/Transport/Store mais ne résout que Logging en `pre.003`; Transport et Store restent fermés jusqu'aux tranches prévues. - `prepare_packaged_runtime()` traverse tout le registre Config. L'ajout du composite porte ce registre à 14 descriptors : les quatre Desk embarquent donc atomiquement les 14 resources Config/schema. - La présence de documents Wallet/offchain dans le bundle Backfill satisfait uniquement le contrat de packaging partagé ; elle ne crée ni dépendance Rust ni capability frontend correspondante. ## Validations exécutées - `python3 scripts/audit_rust_workspace_rules.py` : propre, zéro candidat d'export ; - `python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas/0.3.7` : propre, 270 tableaux / 150 fichiers ; - parsing JSON : 7 manifests/resources contrôlés ; - parsing TOML : `Cargo.toml` racine et manifeste Backfill Desk contrôlés ; - validation JSON Schema : composite source et fixture conformes à `composite.schema.json` ; - profils composite : `devnet/mainnet/testnet` et sélections Logging/Transport/Store exacts ; - packaging : 14/14 resources Config/schema identiques dans les quatre Desk ; - frontend : dépendances minimales et `devDependencies` du gabarit préservées ; - tracing développement : `supertrace` via le composite `devnet`, `Trace` en fallback ; - frontière `pre.003` : aucune dépendance/runtime Transport, Store ou Backfill ouverte. - diff `pre.002 -> pre.003` : 4 fichiers ajoutés, 22 fichiers modifiés, aucune suppression. ## Validations non exécutées - `cargo fmt --all` ; - `cargo check --workspace` ; - `cargo clippy --workspace --all-targets` ; - suites Cargo de `ksp-config-lib` et des quatre Desk. L'exécutable `cargo`/`rustfmt` n'est pas disponible dans le sandbox d'assemblage. ## Questions ouvertes Aucune question bloquante. Le niveau de tracing verbeux est explicitement temporaire pour la phase de développement et devra être réévalué avant la publication stable.