chore(tickets): synchro du store local — tickets #230-#244, attachments, index

This commit is contained in:
2026-08-23 13:03:17 +02:00
parent 749c394f40
commit 55637abd6d
31 changed files with 420 additions and 0 deletions

View File

@ -0,0 +1,13 @@
{
"id": "72f74c8e-db3d-4d40-8ec9-3a7eb0b478f9",
"projectId": "97b49ac2-8376-4aa3-8ea9-bf3ac81d0023",
"agentId": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d",
"sessionId": "7bea3250-445e-4987-b7d9-3f3abf412936",
"filename": "clipboard-image-1787326548320.png",
"mime": "image/png",
"sizeBytes": 285759,
"sourceKind": "clipboard",
"storagePath": "agent-chat/7bea3250-445e-4987-b7d9-3f3abf412936/72f74c8e-db3d-4d40-8ec9-3a7eb0b478f9-clipboard-image-1787326548320.png",
"readablePath": "/home/anthony/Documents/Projects/IdeA/.ideai/attachments/agent-chat/7bea3250-445e-4987-b7d9-3f3abf412936/72f74c8e-db3d-4d40-8ec9-3a7eb0b478f9-clipboard-image-1787326548320.png",
"createdAt": 1787326692445
}

View File

@ -0,0 +1,13 @@
{
"id": "8b6f968e-ad3c-47cc-9ffc-c8075afc597a",
"projectId": "97b49ac2-8376-4aa3-8ea9-bf3ac81d0023",
"agentId": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d",
"sessionId": "b196f459-3e3e-4b45-a283-7429ccd9b3c8",
"filename": "clipboard-image-1787390093227.png",
"mime": "image/png",
"sizeBytes": 211393,
"sourceKind": "clipboard",
"storagePath": "agent-chat/b196f459-3e3e-4b45-a283-7429ccd9b3c8/8b6f968e-ad3c-47cc-9ffc-c8075afc597a-clipboard-image-1787390093227.png",
"readablePath": "/home/anthony/Documents/Projects/IdeA/.ideai/attachments/agent-chat/b196f459-3e3e-4b45-a283-7429ccd9b3c8/8b6f968e-ad3c-47cc-9ffc-c8075afc597a-clipboard-image-1787390093227.png",
"createdAt": 1787390110241
}

View File

@ -0,0 +1,13 @@
{
"id": "aa709141-d302-4e2c-9273-ef8342372411",
"projectId": "97b49ac2-8376-4aa3-8ea9-bf3ac81d0023",
"agentId": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d",
"sessionId": "b196f459-3e3e-4b45-a283-7429ccd9b3c8",
"filename": "clipboard-image-1787408822067.png",
"mime": "image/png",
"sizeBytes": 416416,
"sourceKind": "clipboard",
"storagePath": "agent-chat/b196f459-3e3e-4b45-a283-7429ccd9b3c8/aa709141-d302-4e2c-9273-ef8342372411-clipboard-image-1787408822067.png",
"readablePath": "/home/anthony/Documents/Projects/IdeA/.ideai/attachments/agent-chat/b196f459-3e3e-4b45-a283-7429ccd9b3c8/aa709141-d302-4e2c-9273-ef8342372411-clipboard-image-1787408822067.png",
"createdAt": 1787408823386
}

View File

@ -0,0 +1,13 @@
{
"id": "b192aab4-c5c5-46eb-944e-bae968121d18",
"projectId": "97b49ac2-8376-4aa3-8ea9-bf3ac81d0023",
"agentId": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d",
"sessionId": "c7b29344-332c-4460-98de-a8684c2ed26b",
"filename": "clipboard-image-1787472854222.png",
"mime": "image/png",
"sizeBytes": 388683,
"sourceKind": "clipboard",
"storagePath": "agent-chat/c7b29344-332c-4460-98de-a8684c2ed26b/b192aab4-c5c5-46eb-944e-bae968121d18-clipboard-image-1787472854222.png",
"readablePath": "/home/anthony/Documents/Projects/IdeA/.ideai/attachments/agent-chat/c7b29344-332c-4460-98de-a8684c2ed26b/b192aab4-c5c5-46eb-944e-bae968121d18-clipboard-image-1787472854222.png",
"createdAt": 1787472887994
}

View File

@ -0,0 +1,13 @@
{
"id": "a015f26b-86f8-4d78-ae14-e66a1e315d31",
"projectId": "97b49ac2-8376-4aa3-8ea9-bf3ac81d0023",
"agentId": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d",
"sessionId": "dfee6ef3-d094-40ac-8a6e-bb422df3f5c5",
"filename": "clipboard-image-1787332230744.png",
"mime": "image/png",
"sizeBytes": 104900,
"sourceKind": "clipboard",
"storagePath": "agent-chat/dfee6ef3-d094-40ac-8a6e-bb422df3f5c5/a015f26b-86f8-4d78-ae14-e66a1e315d31-clipboard-image-1787332230744.png",
"readablePath": "/home/anthony/Documents/Projects/IdeA/.ideai/attachments/agent-chat/dfee6ef3-d094-40ac-8a6e-bb422df3f5c5/a015f26b-86f8-4d78-ae14-e66a1e315d31-clipboard-image-1787332230744.png",
"createdAt": 1787332234714
}

View File

@ -0,0 +1,13 @@
{
"id": "b8286579-8085-4eef-b010-97b4efbcf711",
"projectId": "97b49ac2-8376-4aa3-8ea9-bf3ac81d0023",
"agentId": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d",
"sessionId": "dfee6ef3-d094-40ac-8a6e-bb422df3f5c5",
"filename": "clipboard-image-1787331440392.png",
"mime": "image/png",
"sizeBytes": 198238,
"sourceKind": "clipboard",
"storagePath": "agent-chat/dfee6ef3-d094-40ac-8a6e-bb422df3f5c5/b8286579-8085-4eef-b010-97b4efbcf711-clipboard-image-1787331440392.png",
"readablePath": "/home/anthony/Documents/Projects/IdeA/.ideai/attachments/agent-chat/dfee6ef3-d094-40ac-8a6e-bb422df3f5c5/b8286579-8085-4eef-b010-97b4efbcf711-clipboard-image-1787331440392.png",
"createdAt": 1787331479390
}

View File

@ -0,0 +1,16 @@
---
issueRef: "#230"
version: 4
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1787232714559
---
2026-08-20
- Demande utilisateur: rebuild de l'AppImage.
- Skill `build-appimage` chargé et utilisé.
- Branche courante: `develop`.
- Commit de build: `1f58b96`.
- Git a posé le tag local `v0.20.0` sur `1f58b96` selon la règle d'incrément sur `develop`.
- Build frontend exécuté avec succès.
- Bundle Tauri AppImage exécuté avec succès avec `CARGO_HOME=/tmp/idea-cargo-home APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=1`.
- Artefact attendu produit: `target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage`.
- Étape non faite volontairement: remplacement de l'AppImage installée et relance de l'application, à laisser manuels.

View File

@ -0,0 +1,17 @@
---
id: "a4bdf725-3f8e-4ce1-afef-18821c9031dd"
number: 230
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: 1787232519502
updatedAt: 1787232714559
version: 4
---
Reconstruction de l'AppImage Linux d'IdeA via le workflow validé, avec décision Git sur le tag/version du commit du build selon la branche courante.

View File

@ -0,0 +1,31 @@
---
issueRef: "#231"
version: 13
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1787337990284
---
2026-08-20 Main
- Ticket créé suite au signalement utilisateur sur la version web de la custom CLI.
- Recherche code: occurrences de `chat.send` côté frontend et docs; le serveur web possède un rejet générique `unknown websocket frame kind`.
- Architect: cause immédiate backend `crates/web-server`; le frontend consomme déjà correctement le contrat `chat.*`.
- Git: branche de travail `fix/231-web-custom-cli-chat-send` créée depuis `develop`.
- DevBackend a livré le support WS structured chat côté `crates/web-server` avec tests ciblés verts.
- QA indépendant: `cargo fmt --package web-server --check` OK; `cargo check -p web-server` OK; `cargo test -p web-server websocket_chat -- --nocapture` OK; `cargo test -p web-server websocket -- --test-threads=1` OK.
- QA: `cargo test -p web-server` ROUGE avec `Too many open files (os error 24)`; en mono-thread il reste 7 échecs PTY/WebSocket terminal historiques, hors preuve d’un défaut du ticket `chat.*`.
- Conclusion QA: périmètre utilisateur structured chat websocket VALIDÉ, suite complète crate non verte dans cet environnement.
2026-08-21 Main
- Ticket réouvert et redéfini pour l’erreur de fin de tour `Le modèle n'a renvoyé aucune réponse.`
- UX: le message actuel est un faux diagnostic; recommandation par défaut plus neutre `La réponse n’a pas pu être affichée.` tant que la cause n’est pas classée.
- Architect: la cause historique `mauvais Final Codex choisi` n’est plus l’hypothèse prioritaire; distinction clé = vérifier s’il existe un `ReplyChunk::Final` dans le scrollback de la session fautive.
- Lecture code: `crates/app-tauri/src/commands.rs` synthétise ce message uniquement si le drain se termine sans chunk terminal visible (`Final`/`Error`) et sans texte streamé.
- DevBackend: cause la plus plausible aujourd’hui = un adapter provider ferme le flux sans émettre `ReplyEvent::Final`; un `Final` vide produirait un autre message (`Réponse vide du modèle.`), et une perte bridge/UI est jugée moins probable.
- QA: les tests couvrent déjà bien `pas de Final` côté bridge et la purge d’un stale no-response au replay, mais pas un scénario live instrumenté qui prouve `Final reçu par l’UI puis perdu à l’affichage`.
- Architect (fix concret): priorité backend = rendre impossible un succès structured sans `Final`, ou au minimum remonter une erreur typée explicite plutôt que laisser le bridge synthétiser un faux diagnostic; fallback UX neutre recommandé: `La réponse du modèle n'a pas pu être finalisée.` / `Le tour du modèle s'est terminé sans réponse finale exploitable.`
- Git: plan validé = parquer le WIP #117 en commit local sur sa branche, créer une branche dédiée `fix/231-modele-aucune-reponse` depuis `develop` @ `c1d7f6d`, livrer #231 isolément, puis revenir merger `develop` dans #117.
- Git a créé le commit WIP local `06c4c16` sur `feature/117-ask-agent-sync-background-tasks` et la branche dédiée `fix/231-modele-aucune-reponse` depuis `develop` @ `c1d7f6d`.
- DevBackend a livré le correctif minimal sur `fix/231-modele-aucune-reponse`: suppression du faux diagnostic `Le modèle n'a renvoyé aucune réponse.`; EOF structured sans `Final` devient une erreur explicite `La réponse du modèle n'a pas pu être finalisée.`; le cas `Final` vide conserve `Réponse vide du modèle.`.
- Fichiers touchés: `crates/app-tauri/src/chat.rs`, `crates/app-tauri/src/commands.rs`, `crates/app-tauri/tests/chat_bridge.rs`, `crates/app-tauri/tests/dto.rs`.
- DevBackend a exécuté: `cargo fmt`; `cargo test -p app-tauri --test chat_bridge`; `cargo test -p app-tauri --test dto error_dto_preserves_structured_no_final_code`; `cargo test -p application --test orchestrator_service ask_structured_ -- --nocapture`; `cargo check -p app-tauri -p application`; `rg "Le modèle n'a renvoyé aucune réponse" ...` => plus aucune occurrence dans le périmètre ciblé.
- QA indépendant: VERT sur le périmètre #231. Commandes exécutées: `cargo test -p app-tauri --test chat_bridge -- --nocapture` => 31/31 verts; `cargo test -p app-tauri --test chat_bridge pump_with_heartbeat_then_eof_emits_visible_error -- --nocapture` => OK; `cargo test -p app-tauri --test dto_chat -- --nocapture` => 24/24 verts.
- Réserve QA hors périmètre: une suite plus large `app-tauri` tombe sur des erreurs de compilation existantes dans `tests/dto_agents.rs` (`runtime_state`/`node_id` manquants), sans remettre en cause la validation ciblée du ticket.

View File

@ -0,0 +1,17 @@
---
id: "8ccb2176-bdee-469e-9a30-427a88b51c2b"
number: 231
title: "Investiguer les fins de tour en erreur 'Le modèle n'a renvoyé aucune réponse.'"
status: "closed"
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: 1787232991404
updatedAt: 1787337990284
version: 13
---
Le message apparaît assez souvent en fin de tour. Objectif: identifier la cause réelle, vérifier si le problème vient de la capture du final côté providers/bridge, cadrer le comportement UX du message et proposer/corriger la cause si elle est reproductible.

View File

@ -0,0 +1,31 @@
---
issueRef: "#232"
version: 12
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1787334071330
---
2026-08-20 Main
- Ticket créé pour le rebuild AppImage Linux.
- Workflow `build-appimage` chargé.
- Build source identifié sur `develop` au commit `a1d25d7d9e6233d64143fe2f50cb47bc023fe660`.
- `npm --prefix frontend run build` exécuté avec succès.
- Bundling Tauri AppImage exécuté avec succès.
- Artefact produit: `target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage`.
- Git a posé le tag annoté `v0.21.0` sur le commit source `a1d25d7` conformément à la règle de version des builds sur `develop`.
- Vigilance relevée par Git: `v0.19.0` et `v0.20.0` pointent historiquement sur le même commit `1f58b96`; non modifié.
2026-08-21 Main
- Ticket réouvert et requalifié pour la disparition des annonces MCP/inter-agent.
- Capture fournie: Work state montre `DevFrontend` et `QA` Busy, mais aucun rendu visible d'annonce dans la cellule `Main`.
- Cause principale identifiée dans le frontend: l'overlay cible F3 est explicitement désactivé en mode `custom` (`LayoutGrid.tsx`: rendu conditionné par `cellMode !== "custom"`). La capture est précisément sur `Main` en `CLI custom`, donc aucune annonce cible ne peut apparaître dans cette cellule, même si l'agent est busy.
- Le preview F2 n'est rendu que dans `AgentsPanel` (`AnnouncementsPreview requester={a.id}`), pas dans `CustomAgentChatView`. Donc la surface visible de chat custom ne possède actuellement aucun rendu d'annonces inter-agent intégré.
- Causes secondaires compatibles avec les disparitions "au bout d'un moment": les annonces sont éphémères/non persistées; le Work state se réhydrate/rafraîchit via read-model, mais le contenu `agentAnnouncement` n'est ni rejoué ni reconstruit après remount/reconnexion/perte d'événement. Busy peut donc rester juste alors que le texte disparaît.
- DevFrontend: autre fragilité probable, le store d'annonces hydrate busy en seed-only; si un `busy:true` live est raté après un `false` déjà mémorisé, F3 peut diverger du Work state.
- UX validé: en vue custom, un état persistant local à la cellule doit rester visible tant que l'agent est busy sur délégation. Fallback wording: `Travaille sur une demande de {Agent}.` / `Travaille sur une demande en cours.` / `Délégation en cours.`
- Architect validé: conserver le contrat `busy = cycle de vie` / `agentAnnouncement = contenu éphémère`; rendre F3 agnostique du mode `custom` et ajouter F2 localement à `CustomAgentChatView`, sans tenter de persister/rejouer les annonces.
- Git: branche `fix/232-agent-busy-announcements-disparition` créée depuis `a51813f` et active.
- DevFrontend a livré: F3 visible aussi en mode custom; fallback F3 stable dérivé de `busyByWorkState`; état vide explicite quand busy sans texte live; `AnnouncementsPreview` requester-side avec fallback; intégration locale F2 dans `CustomAgentChatView`; stacking context custom pour laisser F3 couvrir la vue.
- DevFrontend a exécuté: `npm test -- --run src/features/announcements/AnnouncementsProvider.test.tsx src/features/layout/LayoutGrid.chat.test.tsx` => 27 tests verts; `npm run typecheck` => vert; `git diff --check -- ...` => vert.
- Réserve signalée par DevFrontend: la suite large `npm test -- --run` reste rouge hors périmètre #232 (33 tests / 6 fichiers), dont une assertion existante sur `WebAgentCell.test.tsx`.
- QA indépendant: VERT sur la branche `fix/232-agent-busy-announcements-disparition`. Commandes exécutées: `npm test -- src/features/announcements/AnnouncementsProvider.test.tsx src/features/layout/LayoutGrid.chat.test.tsx src/features/agents/CustomAgentChatView.test.tsx` => 82/82 verts; `npm run typecheck` => OK.
- Réserve QA hors périmètre: pas de scénario manuel/e2e Tauri complet; validation frontend ciblée + typecheck uniquement.

View File

@ -0,0 +1,17 @@
---
id: "903ee926-9de4-47ad-8762-bf7d3ef1aa4e"
number: 232
title: "Investiguer la disparition des annonces MCP/inter-agent pendant un agent busy"
status: "closed"
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: 1787239597943
updatedAt: 1787334071330
version: 12
---
Dans la vue chat agent, certains agents sont marqués Busy dans le Work state après lancement par Main, mais les previews/annonces MCP ne s'affichent plus au bout d'un moment. Vérifier l'invariant entre busy/agentAnnouncement/overlay, identifier si le défaut est frontend store/provider ou absence d'événements backend live.

View File

@ -0,0 +1,18 @@
---
issueRef: "#233"
version: 9
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1787321408763
---
2026-08-21 Main
- Demande reçue: dans la custom CLI, les messages `progress` et d'utilisation MCP doivent pouvoir être dépliés pour afficher tout le contenu.
- Invariant demandé: état par défaut replié à la hauteur actuelle.
- UX: contrôle uniquement si vraie troncature; bouton `Afficher plus` / `Afficher moins`; bouton réel; `aria-expanded` / `aria-controls`; pas de reset d'état lors des updates; états indépendants.
- Architect: solution frontend pure dans `CustomAgentChatView`; état local par message via clé stable (`progressUpsertKey`); détection DOM réelle (`scrollHeight > clientHeight`) avec ref + effect/observer; aucun impact backend.
- Git: branche dédiée `feature/233-cli-collapse-progress-mcp` depuis `develop` (`a1d25d7`) créée et active.
- DevFrontend: implémentation livrée dans `frontend/src/features/agents/CustomAgentChatView.tsx` + tests dans `frontend/src/features/agents/CustomAgentChatView.test.tsx`.
- DevFrontend a exécuté: `npm test -- CustomAgentChatView.test.tsx` => 54 tests passés; `npm run typecheck` => OK. Une tentative `--runInBand` a échoué car option non supportée par Vitest.
- QA: VERT. Commandes exécutées: `npm test -- src/features/agents/CustomAgentChatView.test.tsx` => 54/54 verts; `npm test -- src/features/agents` => 150/150 verts; `npm run typecheck` => OK.
- Git a commité la feature: `e20182f` `feat(web): messages progress et usages MCP dépliables/repliables, repliés par défaut — #233`.
- Git a mergé localement la feature dans `develop` via `--no-ff`: `fe45b93` `merge(web): déplier/replier les messages progress et usages MCP en custom CLI — #233 (QA verte)`.
- Aucun push effectué. Ticket clôturé.

View File

@ -0,0 +1,17 @@
---
id: "465ac7e4-2ae1-4e48-b7be-07b3603be7e9"
number: 233
title: "CLI custom: déplier/replier les messages progress et MCP"
status: "closed"
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: 1787320744518
updatedAt: 1787321408763
version: 9
---
Dans la CLI custom, permettre de déplier les messages de type progress et utilisation MCP pour voir leur contenu complet. Par défaut, conserver l'affichage replié à la hauteur actuelle. Le comportement attendu inclut une affordance claire pour expand/collapse et doit s'appliquer aux messages concernés sans dégrader les autres types de messages.

View File

@ -0,0 +1,17 @@
---
issueRef: "#234"
version: 9
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1787336070785
---
2026-08-21 Main
- Demande: rebuild AppImage Linux depuis l'état courant de `develop`.
- Workflow: skill `build-appimage`.
- Contraintes: build exact de `develop`, sans embarquer le WIP backend #117. Git a donc sécurisé les modifications suivies via `stash@{0}` `On develop: wip-117-ask-agent-sync-background-tasks (pré-build develop c1d7f6d)` avant build; non-suivis laissés intacts.
- Commit buildé: `c1d7f6d` `merge(cli): annonces MCP/inter-agent préservées pendant agent busy — #232 (QA verte)` sur `develop`.
- Frontend build explicite: `npm --prefix frontend run build` => OK.
- Bundle AppImage: `cd 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` => OK.
- Artefact vérifié: `target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage`, taille `114M`, SHA-256 `f266870aea902dfcd136dd69d6b69b4cba51160eb3037a8ce59fde5ba988a189`.
- Git a posé le tag annoté `v0.23.0` sur `c1d7f6d`, sans push.
- Git a restauré le WIP backend #117 sur `feature/117-ask-agent-sync-background-tasks` puis a supprimé le stash temporaire.
- Ticket clôturé.

View File

@ -0,0 +1,17 @@
---
id: "b32371b9-27a1-4c38-b3f6-e572f84e42bb"
number: 234
title: "Rebuild AppImage Linux"
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: 1787321851980
updatedAt: 1787336070785
version: 9
---
Reconstruire l'AppImage Linux IdeA depuis l'état courant de `develop`, vérifier l'artefact produit, puis demander à Git de poser le tag de version correspondant au commit buildé selon la convention projet.

View File

@ -0,0 +1,18 @@
---
issueRef: "#235"
version: 9
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1787327597772
---
2026-08-21 Main
- Demande: simplifier le panneau latéral `Work state`.
- Capture fournie: le rendu actuel est trop chargé visuellement et l'ancrage latéral est jugé peu convaincant.
- Attendu utilisateur: afficher surtout l'état de chaque agent, avec éventuellement un intitulé très simple de la tâche en cours.
- UX: direction liste compacte d'agents, priorité `nom + état`, ligne secondaire optionnelle très courte, détails secondaires/background tasks masqués par défaut.
- Architect: lot frontend pur centré sur `frontend/src/features/workstate/ProjectWorkStatePanel.tsx`, sans impact backend/read-model.
- DevFrontend a livré la simplification dans `frontend/src/features/workstate/ProjectWorkStatePanel.tsx` + tests dans `frontend/src/features/workstate/workstate.test.tsx`.
- Comportement livré: statut principal unique (`Busy`/`Idle`/`Offline`), ligne secondaire très courte, détails/ background tasks masqués par défaut derrière disclosures locales, actions existantes conservées derrière le mode détail.
- QA: VERT. Commandes exécutées: `npm test -- src/features/workstate/workstate.test.tsx` => 22/22 verts; `npm test -- src/features/web/WebWorkspaceLive.test.tsx src/features/projects/projects.test.tsx` => 19/19 verts; `npm run typecheck` => OK.
- Git a commité la simplification: `8760ade` `feat(workstate): panneau Work state simplifié — état + intitulé simples, détails et background tasks repliés par défaut — #235`.
- Git a mergé localement la feature dans `develop` via `--no-ff`: `a51813f` `merge(workstate): panneau Work state simplifié — #235 (QA verte)`.
- Aucun push effectué. Ticket clôturé.

View File

@ -0,0 +1,17 @@
---
id: "b11e9d8c-eaf8-4c37-9dfa-886eb2b18819"
number: 235
title: "Simplifier le panneau Work state"
status: "closed"
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: 1787326716032
updatedAt: 1787327597772
version: 9
---
Revoir la surface latérale `Work state` pour la rendre plus sobre. Attendu utilisateur: afficher simplement l'état de chaque agent, avec éventuellement un intitulé très simple de la tâche en cours s'il y en a une. Réduire le bruit visuel actuel (badges, ancres, détails secondaires, background tasks trop exposées par défaut). Démarrer par un cadrage UX à partir de la capture fournie.

View File

@ -0,0 +1,18 @@
---
issueRef: "#237"
version: 19
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1787412920936
---
2026-08-22 Main
- Nouvelle demande utilisateur: rebuild de l'AppImage IdeA après les fixes Claude/Codex de finalisation de réponse.
- Réouverture du ticket pour une nouvelle exécution du workflow `build-appimage`.
- État git constaté avant build: branche `develop`, HEAD `6fe7f99844527ad4f7b624eb25a1be084e90f711` (inclut maintenant le fix Codex #240).
- Le tree contient toujours du churn runtime/tickets/artefacts non liés au build; ils ne doivent pas être inclus dans une éventuelle opération git.
- Stratégie décidée: lancer le frontend et le bundling directement dans un environnement nettoyé (`env -i`) avec `PATH` complet pour éviter le piège connu `PYTHONHOME=/tmp/.mount_IdeA_*` hérité de l’AppImage montée.
- Pour le bundling, conserver le contournement Cargo déjà validé dans le repo (`CARGO_HOME=/home/anthony/Documents/Projects/IdeA/.cargo-home`) plutôt que `/tmp`.
- Le build frontend a réussi (`frontend/dist/` généré) avec l’environnement nettoyé.
- Le bundling Tauri/AppImage a réussi avec `APPIMAGE_EXTRACT_AND_RUN=1` et `NO_STRIP=1`; artefact final: `target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage`.
- Artefact vérifié sur disque: `114M`, `118753784 bytes`, mtime `2026-08-22 17:34:33 +0200`.
- Git: tag local annoté `v0.26.0` posé sur le commit buildé `6fe7f99844527ad4f7b624eb25a1be084e90f711` (`develop`), message `build(appimage): rebuild AppImage du 2026-08-22 sur develop 6fe7f99 — inclut #239 (final de secours Claude) et #240 (finalisation Codex)`, aucun push.
- Build AppImage terminé avec succès. Étape suivante manuelle côté utilisateur si souhaité: remplacer l’AppImage installée puis relancer IdeA.

View File

@ -0,0 +1,17 @@
---
id: "76b6b546-3df2-4266-a20b-4c3ddd85721e"
number: 237
title: "Rebuild AppImage"
status: "closed"
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: 1787386469661
updatedAt: 1787412920936
version: 19
---
Rebuild de l'AppImage IdeA demandé par l'utilisateur, avec incrément de tag Git selon la branche du commit servant au build, puis vérification du résultat.

View File

@ -0,0 +1,14 @@
---
issueRef: "#243"
version: 3
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1787476334103
---
2026-08-23
- Rebuild AppImage demandé par l’utilisateur.
- Workflow exécuté via le skill `build-appimage`.
- Frontend build OK: `npm --prefix frontend run build`.
- Bundle Tauri AppImage OK depuis `crates/app-tauri` avec `CARGO_HOME=/tmp/idea-cargo-home APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=1 ../../frontend/node_modules/.bin/tauri build --bundles appimage`.
- Artefact produit: `/home/anthony/Documents/Projects/IdeA/target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage` (114M constatés à 11:10 le 2026-08-23).
- Git a décidé puis posé le tag local `v0.27.0` sur le commit `24c237b` de `develop` après build réussi, conformément à la règle de bump mineur sur `develop`.
- Point d’attention Git: après le build/tag, deux commits `chore` sans impact code sur l’AppImage buildée ont été ajoutés sur `develop`; le tag reste volontairement sur le commit buildé `24c237b`.

View File

@ -0,0 +1,17 @@
---
id: "9916c7f9-6d31-404c-8ad1-d50edc6aa04e"
number: 243
title: "Rebuild de l’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: 1787475935659
updatedAt: 1787476334103
version: 3
---
Reconstruction demandée de l’AppImage Linux IdeA à partir de l’état courant du dépôt, en suivant le workflow validé projet. Le tag Git local de version du commit buildé doit être incrémenté selon la règle projet: x sur main, y sur develop, z sur toute autre branche.

View File

@ -0,0 +1,12 @@
---
issueRef: "#244"
version: 6
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1787481685136
---
2026-08-23
- Reprise du ticket après demande utilisateur explicite: il faut corriger la cause applicative avant de se contenter de réaligner les templates.
- Travail déjà fait plus tôt: réalignement manuel des templates globaux sur les defaults projet. Ce réalignement ne suffit pas comme résolution si la cause racine de non-persistance subsiste.
- Nouvelle consigne de traitement: cycle correctif complet (Architect -> Git -> DevBackend -> QA -> Git), sans UX a priori car pas de surface touchée prouvée.
- Hypothèse de départ à vérifier: la persistance/backfill des permissions template ne se déclenche pas dans un des chemins runtime actuels, ou une mise à jour de template écrase/omet encore ces champs dans un cas précis.
- Prochaine étape: cadrage Architect sur la cause probable et le plus petit correctif sûr.

View File

@ -0,0 +1,17 @@
---
id: "d1fa2322-1fec-4a1e-b1d4-4b9af19a2ffc"
number: 244
title: "Corriger la non-persistance des permissions de templates et réaligner les templates globaux"
status: "inProgress"
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: 1787480706836
updatedAt: 1787481685136
version: 6
---
Les permissions MCP/system définies sur les templates ne semblent pas être sauvegardées correctement. Vérifier la persistance, puis remettre les permissions des templates existants pour qu'elles correspondent aux permissions effectives des agents du projet courant (Git, Architect, DevBackend, DevFrontend, QA, UX, Main, Context).

View File

@ -3280,6 +3280,20 @@
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
},
"updatedAt": 1787476334103
},
{
"issueRef": "#244",
"path": "244",
"title": "Corriger la non-persistance des permissions de templates et réaligner les templates globaux",
"status": "inProgress",
"priority": "high",
"sprint": null,
"assignedAgentIds": [],
"createdBy": {
"kind": "agent",
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
},
"updatedAt": 1787481685136
}
]
}