v0.3.7-pre.008
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/024-V0_3_7_BACKFILL_DESK.md -->
|
||||
<!-- version: 10 -->
|
||||
<!-- version: 11 -->
|
||||
|
||||
# Validation v0.3.7 — Backfill Desk
|
||||
|
||||
@@ -340,4 +340,27 @@ Le correctif renomme uniquement cette variable locale en `request_job_id`. Aucun
|
||||
- [X] aucun fichier fonctionnel de `pre.007` modifié ;
|
||||
- [X] version Cargo synchronisée en `0.3.7-pre.7.fix.1` conformément à `VER-ID-007` et `VER-ID-010` ;
|
||||
- [X] audits statiques Rust/Markdown rejoués dans l'environnement d'assemblage ;
|
||||
- [ ] replay opérateur `cargo fmt/check/clippy/test` du fix à exécuter avant `pre.008`.
|
||||
- [X] replay opérateur `cargo fmt/check/clippy/test` du fix propre : audits, check, Clippy, `ksp-job-backfill-lib` et toutes les suites Backfill Desk passent.
|
||||
|
||||
## 17. `pre.008` — runtime et Start réel
|
||||
|
||||
Le replay opérateur de `pre.007-fix.001` est acquis. `pre.008` ouvre l'exécution réelle sans modifier le contrat de requête : `backfill_start` réutilise `map_backfill_request`, génère le `JobId` côté backend, construit `BackfillJobRuntime`, capture son `BackfillJobHandle` puis installe ce handle dans un slot single-active-run avant le spawn Tauri. Un second Start est rejeté par `backfill_run_active`.
|
||||
|
||||
Le pool HTTP est clonable et reste possédé par Transport. Le Store backend-neutre, non clonable, est temporairement retiré de son slot applicatif pour être déplacé dans le task du run ; après terminal, il est restauré avant libération du slot actif. La réponse IPC Start contient uniquement `job_id` et l'état initial `created`. Le monitoring détaillé, les événements latest-value et la projection terminale restent réservés à `pre.009`. Cancel et la fermeture coopérative d'un run actif restent réservés à `pre.010`.
|
||||
|
||||
La note UX ajoutée pendant cette tranche est reportée à `pre.012` : l'input adresse restera libre mais utilisera un `datalist` HTML construit depuis le registre canonique `ksp-core-lib::entries()`/`ProgramIdEntry`, sur le principe fonctionnel de l'ancien `ks-program-ids` de kbot3 sans en reprendre le code.
|
||||
|
||||
### Gate statique local `pre.008`
|
||||
|
||||
- [X] `BackfillJobRuntime::new` est appelé uniquement après le mapping autoritaire `pre.007` ;
|
||||
- [X] `BackfillJobHandle` est obtenu et installé dans le slot actif avant `tauri::async_runtime::spawn` ;
|
||||
- [X] admission single-run atomique avec erreur stable `backfill_run_active` ;
|
||||
- [X] JobId généré côté backend, jamais reçu du frontend ;
|
||||
- [X] pool HTTP cloné depuis `TransportRuntime`, sans URL/provider physique supplémentaire ;
|
||||
- [X] Store temporairement prêté au run puis restauré après terminal ;
|
||||
- [X] `BackfillStartResponseDto` limité à `job_id` + état initial ;
|
||||
- [X] frontend conserve le bouton de validation et ajoute un bouton Start distinct, activé seulement si `composition_ready` ;
|
||||
- [X] aucune adresse, signature, ancre ou `min_context_slot` ajoutée aux logs Start ;
|
||||
- [X] capabilities Tauri inchangées : `core:default + tracing:default` ;
|
||||
- [X] audits statiques Rust/Markdown propres dans l'environnement d'assemblage ;
|
||||
- [ ] `cargo fmt/check/clippy/test` de `pre.008` à rejouer par l'opérateur ; `cargo`/`rustfmt` restent absents du sandbox.
|
||||
|
||||
Reference in New Issue
Block a user