chore(tickets): synchro du store local — création #256 (Rebuild AppImage) + #257 (stop custom CLI), clôture #255 ; dérive résiduelle #254
This commit is contained in:
@ -1,8 +1,8 @@
|
||||
---
|
||||
issueRef: "#254"
|
||||
version: 2
|
||||
version: 3
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1787566369625
|
||||
updatedAt: 1787566909446
|
||||
---
|
||||
2026-08-24
|
||||
- Reprise du ticket par cycle complet.
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
id: "c77c66e2-5a81-4998-bcf5-c939be68b006"
|
||||
number: 254
|
||||
title: "Stabiliser les rendez-vous inter-agents OpenCode/GLM et éliminer les faux NoReply/perms sur projets externes"
|
||||
status: "inProgress"
|
||||
status: "qa"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: []
|
||||
@ -11,7 +11,7 @@ attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
createdAt: 1787565563009
|
||||
updatedAt: 1787566369625
|
||||
version: 2
|
||||
updatedAt: 1787566909446
|
||||
version: 3
|
||||
---
|
||||
Enquête à partir du projet ReadaBook: des délégations Main -> Git/Architect/QA via profils OpenCode/GLM échouent encore sporadiquement avec `NoReply: agent ... finished without a structured Final response`, alors que les mêmes agents réussissent sur d'autres prompts. Les logs montrent aussi un vieux mélange de contexte où des agents Git/QA répondaient depuis le projet IdeA au lieu de ReadaBook et accusaient à tort des refus de permissions sur `/home/anthony/Documents/Projects/ReadaBook`. Il faut distinguer et corriger: 1) les vrais rendez-vous headless qui finissent sans Final capturée; 2) les cas de mauvais contexte/projet qui produisent de faux diagnostics de permissions. Périmètre probable: orchestration rendezvous/final-capture + projection d'état/live-state + messages d'erreur/réessai.
|
||||
@ -1,6 +1,27 @@
|
||||
---
|
||||
issueRef: "#255"
|
||||
version: 3
|
||||
version: 5
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1787569806822
|
||||
updatedAt: 1787569961595
|
||||
---
|
||||
Cause racine confirmée côté chemin headless OpenCode de `idea_ask_agent`.
|
||||
|
||||
Constat:
|
||||
- Le run headless OpenCode était lancé depuis le run dir isolé sans `--dir <project_root>` ; une délégation pouvait donc s’exécuter hors du project root attendu.
|
||||
- En reprise `--session`, OpenCode peut aussi sortir sans final JSON/textuel exploitable ; cela se manifestait côté Main par `finished without a structured Final response`.
|
||||
- Le symptôme ne concernait pas la cellule visible de l’agent, ce qui isolait le bug au chemin de délégation headless.
|
||||
|
||||
Fix livré:
|
||||
- `crates/infrastructure/src/session/factory.rs` passe désormais `ctx.project_root` à `OpenCodeSession`.
|
||||
- `crates/infrastructure/src/session/opencode.rs` ajoute `--dir <project_root>` à chaque `opencode run`.
|
||||
- En cas de reprise `--session` sans final exploitable, un retry unique est tenté en session fraîche, borné au même project root.
|
||||
- Tests ajoutés: `send_passes_project_root_as_opencode_dir_without_changing_process_cwd` et `resumed_session_without_final_retries_once_as_fresh_project_scoped_run`.
|
||||
|
||||
Validation:
|
||||
- QA verte le 2026-08-24 sur `cargo test -p infrastructure session::opencode -- --test-threads=1` (25 tests OK).
|
||||
- Limite restante: pas d’e2e live OpenCode inter-projets exécutée contre un binaire/provider externe durant ce cycle.
|
||||
|
||||
Git:
|
||||
- Branche de travail: `fix/255-opencode-cross-project-reattach-final`.
|
||||
- Commits/merge locaux annoncés par Git: `8bea678` (fix), `6294ceb` (chore tickets), merge `9505a33` dans `develop`.
|
||||
- Des changements hors sujet sont restés hors commit (`.ideai/tickets/254/*`, `scripts/`).
|
||||
@ -2,7 +2,7 @@
|
||||
id: "bfcee119-765e-4622-b132-8fd5667d98d9"
|
||||
number: 255
|
||||
title: "Bug OpenCode: idea_ask_agent peut reattacher un agent d'un autre projet ou perdre le Final"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: []
|
||||
@ -11,7 +11,7 @@ attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
createdAt: 1787569298214
|
||||
updatedAt: 1787569806822
|
||||
version: 3
|
||||
updatedAt: 1787569961595
|
||||
version: 5
|
||||
---
|
||||
Symptome utilisateur: dans un autre projet, une delegation Main -> Git via idea_ask_agent renvoie soit une reponse sur un autre depot, soit 'finished without a structured Final response'. La meme demande executee directement dans la cellule Git fonctionne. Suspicion forte: bug specifique au chemin OpenCode headless (reattache/session/cwd/contexte projet) et/ou a la capture de Final OpenCode. Objectif: verifier si le bug est bien specifique a OpenCode, identifier la cause, corriger, puis valider par test.
|
||||
24
.ideai/tickets/256/carnet.md
Normal file
24
.ideai/tickets/256/carnet.md
Normal file
@ -0,0 +1,24 @@
|
||||
---
|
||||
issueRef: "#256"
|
||||
version: 4
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1787572238319
|
||||
---
|
||||
Build AppImage exécuté le 2026-08-24 selon le workflow `build-appimage`.
|
||||
|
||||
Étapes exécutées:
|
||||
- `npm --prefix frontend run build` vert.
|
||||
- Depuis `crates/app-tauri/`: `CARGO_HOME=/tmp/idea-cargo-home APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=1 ../../frontend/node_modules/.bin/tauri build --bundles appimage` vert.
|
||||
|
||||
Résultat:
|
||||
- Artefact produit: `target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage`.
|
||||
- Vérification fichier: présent sur disque, taille observée ~114M.
|
||||
|
||||
Version/tag:
|
||||
- Branche courante: `develop`.
|
||||
- Git a appliqué la règle projet d’incrément sur `develop` et a posé le tag local annoté `v0.37.0` sur le commit `9505a33` après build vert.
|
||||
- Aucun push effectué.
|
||||
|
||||
Point restant manuel:
|
||||
- Le remplacement de l’AppImage installée et la relance d’IdeA ne sont pas automatisés ici, car relancer IdeA coupe l’orchestrateur/session en cours.
|
||||
- Si activation immédiate souhaitée: remplacer manuellement l’AppImage installée par l’artefact produit, idéalement en gardant un backup de l’ancienne AppImage, puis relancer IdeA.
|
||||
17
.ideai/tickets/256/issue.md
Normal file
17
.ideai/tickets/256/issue.md
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
id: "61fa7bad-35fc-4684-948e-7411d54bc9c7"
|
||||
number: 256
|
||||
title: "Rebuild AppImage IdeA"
|
||||
status: "closed"
|
||||
priority: "medium"
|
||||
sprint: null
|
||||
links: []
|
||||
agentRefs: []
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
createdAt: 1787571941112
|
||||
updatedAt: 1787572238319
|
||||
version: 4
|
||||
---
|
||||
Reconstruction de l'AppImage Linux IdeA selon le workflow valide build-appimage. Inclut la gestion du tag de version local par l'agent Git selon la branche courante et la politique projet (x sur main, y sur develop, z sur autre branche).
|
||||
38
.ideai/tickets/257/carnet.md
Normal file
38
.ideai/tickets/257/carnet.md
Normal file
@ -0,0 +1,38 @@
|
||||
---
|
||||
issueRef: "#257"
|
||||
version: 6
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1787950467916
|
||||
---
|
||||
2026-08-28 Main
|
||||
|
||||
Contexte initial
|
||||
- Le bouton stop de la custom CLI ne fonctionne pas et doit annuler le travail courant sans fermer la session.
|
||||
- L’annulation doit cascader sur tous les agents délégués par ce travail courant, transitivement.
|
||||
- Les tools/processus/travaux en cours doivent aussi être interrompus.
|
||||
|
||||
Cadrage UX
|
||||
- `Stop` signifie uniquement `Arrêter la demande en cours`.
|
||||
- La session et le contexte doivent être conservés.
|
||||
- Etat attendu: `Stopping...` pendant la propagation, puis `Stopped`/`Request stopped` quand tout le sous-arbre courant est effectivement annulé.
|
||||
- Ne jamais afficher un état stoppé si un tool ou un sous-agent du même tour tourne encore.
|
||||
|
||||
Cadrage Architect
|
||||
- Le bug vient du fait que la UI/commande stoppe la session structurée au lieu d’annuler l’exécution courante.
|
||||
- Cible: source de vérité du travail courant = task racine persistée; chaque délégation/tool long du tour courant est chaîné via `parent_task_id`.
|
||||
- Le cancel doit suivre l’arbre de tâches, avec séparation claire entre `annuler le travail` et `fermer la session`.
|
||||
- Port recommandé côté app/infra pour annuler la ressource runtime associée à un task/execution; état `Cancelling` puis terminal cohérent.
|
||||
|
||||
Etat implémentation observé
|
||||
- Backend modifié dans `crates/application`, `crates/domain`, `crates/infrastructure/session` et `orchestrator/mcp/tools`.
|
||||
- Frontend modifié dans `CustomAgentChatView.tsx` + tests associés.
|
||||
- Backend: sessions structurées conservées, `cancel_current_turn()` introduit, cascade sur dépendances actives + préemption runtime, autorisation requester/sous-arbre sur `idea_stop_agent`, `TurnCancel` pour couper le process du tour courant.
|
||||
- Frontend: bouton `Stop` rebranché sur l’annulation de chat courante, état `Stopping...`, anti double-clic, session réutilisable.
|
||||
|
||||
Verdict QA 1
|
||||
- Ciblé backend/frontend vert.
|
||||
- Blocage global: `app-tauri` ne compile plus ses tests DTO après l’ajout de `runtime_state` et `node_id`.
|
||||
- Erreurs repérées dans `crates/app-tauri/tests/dto_agents.rs` lignes ~282, ~325, ~694.
|
||||
|
||||
Prochaine étape
|
||||
- DevBackend corrige les fixtures/tests DTO Tauri puis QA relance.
|
||||
17
.ideai/tickets/257/issue.md
Normal file
17
.ideai/tickets/257/issue.md
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
id: "ed89dba0-05ae-4dc4-91b2-d90514c8ac70"
|
||||
number: 257
|
||||
title: "Le bouton stop de la custom CLI n’annule pas le travail courant ni les délivations en cascade"
|
||||
status: "qa"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: []
|
||||
agentRefs: []
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
createdAt: 1787949060568
|
||||
updatedAt: 1787950467916
|
||||
version: 6
|
||||
---
|
||||
Le bouton stop de la custom CLI ne fonctionne pas. Il faut annuler le travail courant de l’agent ciblé sans fermer sa session, conserver son contexte, interrompre aussi les tools/travaux en cours, et propager l’annulation en chaîne à tous les agents appelés par cet agent pour le travail courant. La cascade doit fonctionner autant depuis un stop utilisateur que depuis un agent qui annule un agent qu’il a lancé.
|
||||
@ -1,3 +1,3 @@
|
||||
{
|
||||
"nextNumber": 256
|
||||
"nextNumber": 258
|
||||
}
|
||||
@ -3439,6 +3439,34 @@
|
||||
"issueRef": "#255",
|
||||
"path": "255",
|
||||
"title": "Bug OpenCode: idea_ask_agent peut reattacher un agent d'un autre projet ou perdre le Final",
|
||||
"status": "closed",
|
||||
"priority": "high",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
"createdBy": {
|
||||
"kind": "agent",
|
||||
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
|
||||
},
|
||||
"updatedAt": 1787569961595
|
||||
},
|
||||
{
|
||||
"issueRef": "#256",
|
||||
"path": "256",
|
||||
"title": "Rebuild AppImage IdeA",
|
||||
"status": "closed",
|
||||
"priority": "medium",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
"createdBy": {
|
||||
"kind": "agent",
|
||||
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
|
||||
},
|
||||
"updatedAt": 1787572238319
|
||||
},
|
||||
{
|
||||
"issueRef": "#257",
|
||||
"path": "257",
|
||||
"title": "Le bouton stop de la custom CLI n’annule pas le travail courant ni les délivations en cascade",
|
||||
"status": "qa",
|
||||
"priority": "high",
|
||||
"sprint": null,
|
||||
@ -3447,7 +3475,7 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
|
||||
},
|
||||
"updatedAt": 1787569806822
|
||||
"updatedAt": 1787950467916
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user