--- name: checkpoint-b2-bootstrap-applied-await-codex-reset-1430 description: memory note checkpoint-b2-bootstrap-applied-await-codex-reset-1430 metadata: type: project --- --- name: checkpoint-b2-bootstrap-applied-await-codex-reset-1430 description: Reprise 2026-07-02 15h58 — B1-B6 tâches de fond commités+verts, AppImage fraîche buildée (NO_STRIP), prochaine étape = relance puis B7. metadata: type: project --- # Checkpoint — chantier tâches de fond de 1re classe (2026-07-02 ~15h58) ## Fait & COMMITÉ sur `feature/background-tasks-first-class` - `62915ee` fix(codex) Final canal ; `fccc1e2` chore(gitignore) target/ sous-crates. - **B1-B6 tâches de fond** (4 commits) : `f4a55e9` domaine (12 tests) · `c537da5` infra store+sink+mailbox (B2-B4, 7+6+7 tests) · `f94b542` application wake+rendezvous-as-task (B5-B6, agent_wake 5, orchestrator_watcher 11 passed) · `54c8ecf` app-tauri events. - `cargo check --workspace` + `fmt` verts. Validés QA jusqu'à B5. - Cadrage complet : [[background-tasks-first-class-design]]. Ancre de câblage B7 : [[b7-wiring-anchor-state-rs]]. ## AppImage FRAÎCHE prête (à relancer par l'utilisateur) `target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage` (2026-07-02 15:57, 111 Mo), contient B1-B6. Buildée avec `NO_STRIP=true` (sinon linuxdeploy casse sur `.relr.dyn` — cf. [[appimage-build-no-strip-relr-dyn-fix]], correctif à retenir). ## PROCHAINES ÉTAPES (dès relance sur la nouvelle AppImage) 1. **B7** = câbler la chaîne au runtime dans `crates/app-tauri/src/state.rs` (ancre précise dans [[b7-wiring-anchor-state-rs]] : `.with_background_tasks(...)` ABSENT du builder OrchestratorService l.1356-1453 → rendezvous-as-task dormant ; sink/bridge/wake à spawner via `tauri::async_runtime::spawn` ; store per-root façon `AppLiveStateProvider` ; reconcile greffé dans `open_project`). Déléguer à DevBackend (session fraîche recommandée). 2. **F1-F4** front (queue depth/queued, panel tâches, badges agent cell, toasts). 3. **QA e2e** complet (critères du cadrage) puis rebuild AppImage final (NO_STRIP=true). 4. **B8 déféré** : coupler PTY/commandes longues (run_in_background) → BackgroundTask{Command}. ## Historique du blocage (résolu autrement) B7 a wedgé 4× en délégation DevBackend sur l'ANCIEN binaire (13:30, pré-B4/B6). D'où le rebuild pour déployer les fixes de canal avant de finir. Ne PAS re-tenter B7 sur l'ancien binaire : relancer d'abord. Liens : [[background-tasks-first-class-design]], [[b7-wiring-anchor-state-rs]], [[appimage-build-no-strip-relr-dyn-fix]], [[mcp-e2e-findings-reply-wedge-phantom-busy]].