v0.3.7-pre.011
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/024-V0_3_7_BACKFILL_DESK.md -->
|
||||
<!-- version: 18 -->
|
||||
<!-- version: 19 -->
|
||||
|
||||
# Validation v0.3.7 — Backfill Desk
|
||||
|
||||
@@ -500,4 +500,30 @@ Le frontend ajoute un bouton **Annuler** au monitoring, transmet uniquement le J
|
||||
- [X] frontend Cancel sans adresse/signature/provider/endpoint/checkpoint/payload ;
|
||||
- [X] aucune dépendance/feature Cargo ajoutée ;
|
||||
- [X] Resume non ouvert ;
|
||||
- [ ] `cargo fmt/check/clippy/test` de `pre.010` à rejouer par l'opérateur.
|
||||
- [X] replay opérateur `cargo fmt/check/clippy/test` de `pre.010` propre ; smoke Tauri Mainnet confirme Cancel ciblé, terminalisation puis shutdown Store.
|
||||
|
||||
## 25. `pre.011` — checkpoint/frontier et Resume in-session
|
||||
|
||||
Le replay opérateur de `pre.010` ferme le couloir Cancel : audits Rust/Markdown, `cargo check --workspace`, Clippy, les 49 tests unitaires `ksp-job-backfill-lib` et toutes les suites Backfill Desk passent. Le smoke Tauri Mainnet confirme également le chemin réel : Store ready, campagne HTTP active, Cancel ciblé accepté, transition `cancelling`, terminalisation du Job puis libération du slot avant shutdown. La phase `finished` observée est la phase terminale commune ; le lifecycle Job reste `cancelled`.
|
||||
|
||||
`pre.011` ouvre la reprise in-session sans sérialisation du checkpoint. Le contrat existant lie volontairement `BackfillCheckpoint` au JobId qui l'a produit ; la Desk ne peut donc pas simplement attacher ce checkpoint à un nouveau Job. `ksp-job-backfill-lib` ajoute `BackfillRequest::resume_for_job` : le checkpoint est d'abord validé contre la requête d'origine puis réémis en interne pour le nouveau JobId, avec scope fingerprint, completed prefix et éventuel cursor Before inchangés.
|
||||
|
||||
`BackfillRunState` retient maintenant la requête terminale avec la notification terminale, uniquement en mémoire Rust. `backfill_resume` n'accepte aucun argument frontend, alloue un nouveau JobId backend, exige un checkpoint présent, refuse tout run actif et revalide que réseau Store et rôle HTTP correspondent encore à la composition courante. La commande utilise le même chemin `spawn_backfill_launch` et le même monitoring latest-value que Start.
|
||||
|
||||
Le frontend expose **Reprendre** uniquement pour un snapshot terminal avec `checkpoint_present=true`. `BackfillResumeResponseDto` contient uniquement `accepted`, `job_id` et `state`; aucun checkpoint, cursor, adresse, signature, provider, endpoint ou payload RAW ne traverse IPC.
|
||||
|
||||
### Gate statique local `pre.011`
|
||||
|
||||
- [X] checkpoint original validé avant réémission vers un nouveau JobId ;
|
||||
- [X] scope fingerprint/frontier/cursor inchangés par `resume_for_job` ;
|
||||
- [X] requête terminale + checkpoint retenus uniquement dans `BackfillRunState` Rust ;
|
||||
- [X] Resume refusé sans terminal/checkpoint ou lorsqu'un run est déjà actif ;
|
||||
- [X] compatibilité réseau Store + rôle HTTP revalidée avant reprise ;
|
||||
- [X] nouveau JobId exclusivement backend ;
|
||||
- [X] chemin de spawn/monitoring partagé avec Start ;
|
||||
- [X] DTO Resume limité à `accepted`, `job_id`, `state` ;
|
||||
- [X] frontend Resume sans checkpoint ni payload de campagne ;
|
||||
- [X] aucun fichier/table/JSON de checkpoint durable ajouté ;
|
||||
- [X] aucune dépendance/feature Cargo ajoutée ;
|
||||
- [ ] `cargo fmt/check/clippy/test` de `pre.011` à rejouer par l'opérateur.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user