Commit Graph

966 Commits

Author SHA1 Message Date
6294cebba0 chore(tickets): synchro du store local — création #255 (bug OpenCode idea_ask_agent cross-project / Final manquant) + dérive résiduelle du store: statut #254 qa 2026-08-24 13:12:02 +02:00
8bea678fc2 fix(opencode): les tours headless sont épinglés au project root via --dir et une reprise sans Final retente un tour frais — idea_ask_agent ne rattache plus la session OpenCode d'un autre projet ni ne perd le Final — #255 (QA verte) 2026-08-24 13:11:49 +02:00
778b4a601d merge(opencode): rendez-vous inter-agents stabilisés — le Final textuel exploitable est capturé même quand l'événement terminal du tour porte un autre messageID — #254 (QA verte) 2026-08-24 12:21:08 +02:00
44a2fc3cfe chore(tickets): synchro du store local — création #254 (rendez-vous OpenCode/GLM NoReply sporadique) + #244 passage en QA (validation live v0.35.0) 2026-08-24 12:21:05 +02:00
b6238f002e fix(opencode): le Final textuel exploitable survit au changement de messageID du tour — sélection du message courant par priorité (texte non vide > erreur tardive > step/tool) élimine les NoReply sporadiques sur rendez-vous structurés — #254 (QA verte) 2026-08-24 12:21:02 +02:00
7f445cbd6d merge(templates): permissions MCP des templates persistées via la clé frontend mcpToolPermissions — #244 (QA verte) 2026-08-24 11:46:25 +02:00
a6a97fdd39 chore(tickets): synchro du store local — cycle #244 DTO permissions templates (QA verte) + #157 passage en QA après validation live v0.34.0 2026-08-24 11:46:19 +02:00
69129a95ad fix(templates): mcpToolPermissions persisté via create/update_template — désérialisation par alias préférés (mcpToolPermissions > defaultMcpToolPermissions > defaultMcpToolPolicy) sur les DTO Create/UpdateTemplateRequestDto — #244 (QA verte) 2026-08-24 11:46:14 +02:00
592f248762 merge(custom-cli): progress/tools restaurés dès la 2e sollicitation quand le provider réutilise le même progressId — #157 (QA verte) 2026-08-24 09:43:33 +02:00
6b57addd4e chore(tickets): synchro du store local — carnet #157 itération 5 (régression progressId réutilisé, QA verte) + reliquat clôture #253 2026-08-24 09:43:26 +02:00
4db264ea8c fix(custom-cli): cartes progress/tools visibles dès la 2e sollicitation malgré la réutilisation du progressId — la clé d'upsert borne le progressId au scope du tour au lieu d'un dédup global sur l'historique — #157 (QA verte) 2026-08-24 09:43:20 +02:00
d9af4b5630 merge(opencode): suite de tests fiable en exécution parallèle — #253 (QA verte) 2026-08-24 08:19:49 +02:00
c05b671149 chore(tickets): synchro du store local — carnet et statut #253 2026-08-24 08:19:41 +02:00
cd70a3c61b test(opencode): fiabilisation de la suite en parallèle — écriture atomique des fixtures, gates par fichier au lieu de sleep, runtime dédié par test, timeout 5s — #253 (QA verte) 2026-08-24 08:19:41 +02:00
f303cc1878 chore(tickets): synchro du store local — création #253, carnet #252 2026-08-24 08:08:55 +02:00
4553e5da7e merge(custom-cli): streaming progress/outils restauré sur la seconde requête au même agent — #252 (QA verte) 2026-08-24 08:05:05 +02:00
6becdf26bd chore(tickets): synchro du store local — carnet et statut #252 2026-08-24 08:04:49 +02:00
23c47eac96 test(custom-cli): tests à deux callbacks couvrant le streaming progress/outils sur la seconde requête au même agent — #252 (QA verte) 2026-08-24 08:04:49 +02:00
d553d137ea fix(custom-cli): progression et messages d'outils restaurés au second tour — le projecteur ne retient plus les events de progress après le premier message, seuls Text/Error restent bufferisés — #252 (QA verte) 2026-08-24 08:04:49 +02:00
1f14217032 chore(tickets): synchro du store local — création #248–#252, carnets #247 2026-08-24 07:53:56 +02:00
15c1c29d73 merge(custom-cli): conversation agent stable à partir du second tour — #251 (QA verte) 2026-08-23 17:51:50 +02:00
7b7ab5b95a fix(custom-cli): affichage conversation stable au second tour — dédup du prompt et scope de progression par tour, sans reliquats du tour précédent — #251 (QA verte) 2026-08-23 17:51:50 +02:00
d5fea391b2 merge(custom-cli): masquage des contrôles d'overlay sur la custom CLI occupée — #249 (QA verte) 2026-08-23 17:01:10 +02:00
55dc7c9dad fix(custom-cli): masquage des contrôles d'overlay persistants sur la custom CLI pendant un tour occupé — #249 (QA verte) 2026-08-23 17:01:02 +02:00
38f5572ce5 chore(tickets): synchro du store local — ticket #247, carnets #246, index/counter + timestamp plugin android 2026-08-23 16:35:36 +02:00
09df7bf475 merge(custom-cli): retrait de l'overlay busy plein panneau, blocage du chat seul — #247 (QA verte) 2026-08-23 16:35:36 +02:00
fc923b7860 fix(custom-cli): retrait de l'overlay busy plein panneau — blocage du chat seul — #247 (QA verte)
Les cellules custom CLI ne rendent plus le TargetAnnouncementsOverlay quand
l'agent est busy : le badge busy canonique et le lock du composer (comportement
du chat après envoi d'un message) suffisent, la vue terminal/chat reste visible.
Les cellules TUI natives conservent le voile plein panneau.
2026-08-23 16:35:29 +02:00
c62a2638fb chore(tickets): clôture #246 (rebuild AppImage v0.29.0) — synchro index 2026-08-23 15:47:45 +02:00
be684c5fbc chore(tickets): synchro du store local — réouverture #246 (rebuild v0.29.0), carnets #235, index 2026-08-23 15:44:22 +02:00
75a8ce799b chore(tickets): synchro du store local — réouverture #235 (v2 livrée), carnets #246, index 2026-08-23 15:38:51 +02:00
3971cc9a35 merge(workstate): simplification v2 du panneau Work state (intention compacte + badge indicateur) — #235 (QA verte) 2026-08-23 15:38:46 +02:00
a3b1c845ed feat(workstate): panneau Work state encore plus compact — intention tronquée + badge indicateur, ligne summary repliée supprimée — #235 (QA verte) 2026-08-23 15:38:41 +02:00
a02f3a567d chore(tickets): synchro du store local — ticket #246 (rebuild AppImage v0.28.0), carnets/index/counter 2026-08-23 13:44:05 +02:00
83b0b18453 chore(tickets): synchro du store local — ticket #245, carnet #241, index/counter/attachments 2026-08-23 13:35:05 +02:00
080c2100d0 merge(custom-cli): fix busy/progress/tools/chatbox après premier appel (guard de tour structuré + scoping progress) — #245 (QA verte) 2026-08-23 13:35:01 +02:00
f1d85dfc5a fix(custom-cli): busy/progress/tools/chatbox bloqués après le premier appel — #245 (QA verte)
Backend : StructuredHumanTurnGuard pour partager la comptabilité busy/FIFO entre chat direct humain (agent_send, web chat.send) et asks inter-agents structurés, avec liveness mark_alive et retrait idempotent du tour. Web-server : tap d'événements sur chat.send pour le scrollback temps réel. Frontend : scoping des clés de progression par tour pour éviter la déduplication/ghosting des progress et outils entre appels.
2026-08-23 13:34:56 +02:00
55637abd6d chore(tickets): synchro du store local — tickets #230-#244, attachments, index 2026-08-23 13:03:17 +02:00
749c394f40 merge(templates): fix persistance des permissions de templates (suppression rétro-sync open_project) — #244 (QA verte) 2026-08-23 13:03:12 +02:00
0a7d7f844e fix(templates): open_project ne rétro-synchronise plus les permissions agents vers les templates — #244 (QA verte)
Suppression du backfill agent→template au open_project (cause racine de la non-persistance des permissions MCP/system des templates) et couverture de régression : create/read/update des default permissions + test dédié open_project sans backfill.
2026-08-23 13:03:07 +02:00
4b206402d7 chore(tickets): clôture #243 (rebuild AppImage) — synchro index 2026-08-23 11:41:01 +02:00
7bbca91ce4 chore(git): ignorer les artefacts de build locaux (.appimage-build, .cargo-home, lien target) 2026-08-23 11:10:26 +02:00
f932845cdb chore(tickets): synchro du store local — carnets #117/#236-#242, index/counter 2026-08-23 11:10:17 +02:00
24c237b12a chore(tickets): clôture #242 après QA verte et merge local 5316d48
Limite résiduelle documentée au carnet: le backfill live des templates
existants n'a pas été exécuté en écriture directe (hors sandbox session);
il s'appliquera automatiquement au prochain open_project du projet.
2026-08-23 11:00:28 +02:00
5316d48f7e merge(templates): nom d'agent par défaut, permissions système/MCP et correctif modèle par défaut — #242 (QA verte) 2026-08-23 11:00:20 +02:00
f952807882 feat(ui): édition templates — nom d'agent par défaut, permissions système et MCP outils — #242
TemplateEditor/TemplatesPanel étendus aux nouveaux champs, projection
useTemplates/adapters/ports, panneau Agents aligné, templatePresentation.ts
extrait. Tests frontend étendus (templates, agents, routage chat WS).
2026-08-23 11:00:04 +02:00
d6c80be56d feat(templates): nom d'agent par défaut + permissions système et MCP outils sur AgentTemplate — #242
AgentTemplate étendu (defaultAgentName, systemPermissions, mcpToolPermissions),
CreateTemplate/UpdateTemplate/CreateAgentFromTemplate projetés vers l'agent créé,
DTO/MCP tools et persistance store complétés. Correctif modèle par défaut:
UpdateTemplate ne persistait pas defaultProfileId (profil stale à la création
d'agent). Backfill best-effort des templates existants depuis les agents du
projet au open_project, overrides explicites uniquement.
2026-08-23 10:59:55 +02:00
ed5c5f73d6 chore(tickets): clôture #241 après QA verte et merge local ef9b5ca 2026-08-23 10:24:41 +02:00
ef9b5caeb8 merge(web): progress custom CLI invisibles après plusieurs demandes — #241 (QA verte) 2026-08-23 10:24:35 +02:00
738e15a09b fix(web): le client WS réattache les sessions chat structurées après reconnexion — #241
needsReconnect() couvre désormais les chatSinks et le cycle de reconnexion
renvoie un chat.attach par session active, un échec isolé n'empêchant pas
les autres abonnements de reprendre. Tests ciblés ajoutés.
2026-08-23 10:24:29 +02:00
6fe7f99844 chore(tickets): clôture #240 après QA verte et merge local 81b3bf8 2026-08-22 17:27:21 +02:00