Files
IdeA/.ideai/memory/tickets-t3-frontend-validation-verdict.md
Blomios ebd992e41a docs(memory): notes projet tâches de fond, tickets V1 et checkpoints ticket #1
Capitalise la mémoire projet accumulée pendant les chantiers B7/B8
(tâches de fond first-class), le système de tickets V1 et le ticket #1 :
design, cadrages d'archi, checkpoints d'avancement et verdicts QA/frontend.
Mise à jour de l'index MEMORY.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 00:21:43 +02:00

1.7 KiB

name, description, metadata
name description metadata
tickets-t3-frontend-validation-verdict Verdict de validation frontend du fix T3 (projection backgroundTasks par agent) sur feature/background-tasks-first-class — vert, avec 3 désalignements de contrat mineurs.
type
reference

Validation frontend du fix T3 (ticket #1), branche feature/background-tasks-first-class, 2026-07-03.

Verdict : vert. npx vitest run = 460/460, npm run build (tsc --noEmit + vite) OK. Le front était déjà câblé pour Cancel/Retry ; contre le vrai payload backend le mapping d'états et l'activation des boutons fonctionnent.

Contrat backend réel (crates/app-tauri/src/dto.rs::AgentBackgroundTaskStateDto, camelCase) : taskId, kind, state, exitCode?, summary?, stdoutTail?, stderrTail?, createdAtMs, updatedAtMs. state ∈ queued|running|waiting|completed|failed|cancelled|expired ; kind ∈ command|headlessRendezvous|sessionResume|maintenance. Pas de status, ownerAgentId, projectId, ni finishedAtMs.

Fait : FE-1 rendu explicite queued/waitingpending dans normalizeBackgroundStatus. FE-2 ajout d'un test sur le vrai shape dans src/features/workstate/workstate.test.tsx (le mock passe par le vrai normalizeProjectWorkState, donc pas de faux-vert possible).

Écarts de contrat à arbitrer (dette, panneau non modifié) : (1) ProjectWorkStatePanel.tsx trie sur finishedAtMs jamais émis → tri retombe sur taskId, non chronologique ; (2) summary backend non porté par BackgroundCompletion → ignoré ; (3) ownerAgentId/projectId absents du payload par-agent (inoffensif : fallback = agentId). Voir workstate-background-tasks-projection-fix et b8-in-app-trigger-run-in-background.