4.8 KiB
Delta 0.3.7-pre.012 — frontend fonctionnel, summary terminal et autocomplete Program ID
1. Base requise
0.3.7-pre.011
workspace.package.version = 0.3.7-pre.11
2. Objectif
Terminer le frontend fonctionnel sans ouvrir de nouveau runtime : enrichir les feedbacks terminal/erreurs et ajouter à l'adresse un autocomplete HTML libre alimenté exclusivement par le registre canonique ksp-core-lib::entries()/ProgramIdEntry.
3. Dataset Program ID canonique
ProgramIdAutocompleteOptionDto projette uniquement les métadonnées publiques nécessaires à l'UX :
program_id
code
name
domain
family
protocol
program_id_autocomplete_options() parcourt directement ksp_core_lib::entries(). Aucune liste de Program IDs n'est copiée dans Backfill Desk ni dans le frontend.
BackfillDeskOptionsDto transporte ce dataset sûr avec les autres options de campagne. Aucun endpoint, URL, credential, secret ou donnée Store n'est ajouté.
4. Autocomplete libre côté HTML
L'input backfillAddress reste un <input type="text"> libre et référence :
<datalist id="backfillProgramIds">
Le frontend construit chaque <option> avec le Program ID canonique comme value, un label lisible et des data-* sûrs (code, name, domain, family, protocol). Une adresse valide qui n'appartient pas au registre reste acceptée normalement par le mapping Rust existant.
L'instrumentation de sélection ne journalise jamais l'adresse : seulement le code KSP éventuel et registryMatch. Aucun browser storage n'est introduit.
5. Polish monitoring et erreurs
La carte latest-value affiche désormais un résumé terminal explicite pour completed, cancelled ou failed. Les échecs Cancel et Resume sont projetés dans leurs feedbacks UI via le contrat d'erreur sûr déjà existant, sans contexte arbitraire ni payload métier.
Aucun comportement Job/Store/Transport, checkpoint, Resume ou Cancel n'est modifié.
6. Version
workspace.package.version = 0.3.7-pre.12
label = 0.3.7-pre.012
7. Fichiers ajoutés
deltas/0.3.7/pre.012.md
8. Fichiers modifiés
Cargo.toml
crates/ksp-app-backfill-desk/frontend/main.html
crates/ksp-app-backfill-desk/frontend/ts/main.ts
crates/ksp-app-backfill-desk/src/app_state.rs
crates/ksp-app-backfill-desk/src/dto_common.rs
crates/ksp-app-backfill-desk/src/lib.rs
crates/ksp-app-backfill-desk/src/transport_runtime.rs
crates/ksp-app-backfill-desk/tests/desktop_contract.rs
crates/ksp-app-backfill-desk/tests/desktop_security.rs
crates/ksp-app-backfill-desk/unit_tests/backfill_request.rs
crates/ksp-app-backfill-desk/unit_tests/dto_common.rs
docs/plans/028-V0_3_7_BACKFILL_DESK_PLAN.md
docs/validation/024-V0_3_7_BACKFILL_DESK.md
9. Fichiers supprimés
Aucun.
10. Gate précédent acquis
Le replay opérateur de 0.3.7-pre.011 est propre : audits Rust/Markdown, cargo check --workspace, Clippy, 50 tests unitaires Job Backfill et toutes les suites Backfill Desk passent. Le smoke Tauri confirme également la reprise in-session réelle avec nouveau JobId backend et checkpoint réémis Rust-only.
11. Validations exécutées dans l'environnement d'assemblage
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
Contrôles ciblés :
- dataset dérivé exclusivement de
ksp_core_lib::entries(); - aucune valeur Program ID canonique hardcodée dans HTML/TypeScript ;
<datalist>relié à un input adresse toujours libre ;data-*limités aux métadonnées publiques du registre ;- aucune adresse journalisée pendant l'évaluation autocomplete ;
- aucun
localStorage,sessionStorage, IndexedDB ou cookie ajouté ; - summary terminal et feedbacks Cancel/Resume sûrs ;
- aucune dépendance/feature Cargo modifiée ;
std.store.jsoninchangé ;- syntaxe TypeScript validée par transpilation locale ;
- contrôle différentiel des headers et reconstruction stricte du delta.
12. Validations non exécutées dans l'environnement d'assemblage
cargo et rustfmt ne sont pas disponibles dans l'environnement d'assemblage. Gate opérateur obligatoire avant pre.013 :
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 n'est requis : dépendances et features Cargo sont inchangées.
13. Suite
pre.013 est réservé au hardening/completude : tests desktop/security/dependency/composition/release-completeness et canaries DTO, sans nouvelle capacité métier.