Commit Graph

1064 Commits

Author SHA1 Message Date
1962408eda fix(session): un item.completed tardif n'efface plus le final agent_message Codex — #240
event_supersedes_pending_final ne fait plus annuler le final en attente par
tout événement autre que Heartbeat/RateLimited/turn-progress: seuls un progress
non-turn Started/Delta, un ToolActivity ou un Error annulent. Le buffering
agent_message survive ainsi jusqu'au flush a turn.completed (regréssion
codex_agent_message_survives_late_completed_item_as_final).
2026-08-22 17:27:13 +02:00
af90c66e48 chore(tickets): clôture #239 après QA verte et merge local aa16576 2026-08-22 16:39:06 +02:00
aa165763f6 merge(chat): réponse du modèle non finalisée sur long message — #239 (QA verte) 2026-08-22 16:39:00 +02:00
cbfdfeb356 fix(chat): le contenu partiel streamé n'est plus masqué par l'erreur terminale de finalisation — #239
assistantFailureText conserve le texte déjà streamé puis classe l'échec
(sans contenu, tronqué, fin non reçue, transitoire) avec conseil de reprise
adapté, au lieu d'écraser la bulle par « Échec — … finalisée. ».
2026-08-22 16:38:55 +02:00
ade1908c76 fix(session): final de secours fabriqué depuis les deltas quand Claude ferme sans ligne result — #239
append_text_fallback_final accumule les TextDelta et produit un Final uniqne
en fin de flux si aucun Final/Error/RateLimited n'a été émis et que le texte
est non vide. Un long message utilisateur sur un autre projet (GameTime) ne
conclut plus a tort « La réponse du modèle n'a pas pu être finalisée. ».
Le test qui pinnait l'absence de Final devient la régression #239.
2026-08-22 16:38:47 +02:00
ce03471caf chore(tickets): clôture #238 après QA verte et merge local 91380cd 2026-08-22 11:30:52 +02:00
91380cd0c2 merge(workstate): conversation vide alors que Work state busy — #238 (QA verte) 2026-08-22 11:30:44 +02:00
da911d5a9b fix(chat): états vides explicites et reroutage vers le fil actif quand Work state signale un agent busy — #238
ConversationViewer remplace « Aucun tour pour le moment » par un diagnostic
differentié (agent actif sans tour affichable, transcript non synchronisé,
activité sur un autre fil) avec action « Ouvrir le fil actif ». Le panneau
Work state affiche le résumé du fil du ticket actif et ProjectsView/WebWorkspace
câblent onOpenConversation.
2026-08-22 11:30:38 +02:00
5449526157 fix(orchestrator): le lancement d'une cible structurée froide lie la session au fil A-B résolu par ask_agent — #238
ensure_structured_session reçoit désormais le conversation_id déjà résolu et le
transmet au plan de spawn au lieu de retomber sur le fallback User-B. WorkState
et la session lancée pointent ainsi sur le même fil. Test de régression
ask_cold_structured_agent_requester_launches_on_resolved_pair_thread.
2026-08-22 11:30:35 +02:00
963b51a277 merge(cli): annonces inter-agent et messages MCP préservés après changement de projet — #236 (QA verte) 2026-08-22 10:02:52 +02:00
1e172c6e81 chore(tickets): clôture #200 après QA verte et merge local 85f659c 2026-08-22 10:02:41 +02:00
8deaa1fd6c fix(cli): store annonces inter-agent borné par projectId avec reset et réhydratation busy au changement de projet — #236 2026-08-22 10:02:41 +02:00
85f659c788 merge(infra): temp IdeA géré visible par l'agent avant le spawn — #200 (QA verte) 2026-08-22 09:50:06 +02:00
f8cf86c6f5 fix(infra): temp IdeA géré alloué avant le convention file, exposé via IDEA_MANAGED_TMP et instruction explicite privilégiant le temp géré à /tmp — #200 2026-08-22 09:50:00 +02:00
3344361fc2 merge(chat): fins de tour « Le modèle n'a renvoyé aucune réponse. » — #231 (QA verte) 2026-08-21 20:45:55 +02:00
3f3eb5938a fix(chat): capture du final et cause réelle des fins de tour « Le modèle n'a renvoyé aucune réponse. » — #231 2026-08-21 20:45:50 +02:00
c1d7f6dd27 merge(cli): annonces MCP/inter-agent préservées pendant agent busy — #232 (QA verte) 2026-08-21 19:40:19 +02:00
aa85d4dfc8 fix(cli): les annonces MCP/inter-agent restent affichées pendant qu'un agent est busy — #232 2026-08-21 19:40:13 +02:00
a51813fc44 merge(workstate): panneau Work state simplifié — #235 (QA verte) 2026-08-21 17:52:44 +02:00
8760ade168 feat(workstate): panneau Work state simplifié — état + intitulé simples, détails et background tasks repliés par défaut — #235 2026-08-21 17:52:44 +02:00
2c8c71c02f merge(cli): les messages progress/MCP ne disparaissent plus après un certain temps — #236 (QA verte) 2026-08-21 17:47:05 +02:00
aaf628f1ff fix(cli): préserve l'affichage des progress legacy sans progressId via clés d'occurrence dédiées — #236 2026-08-21 17:47:05 +02:00
fe45b93633 merge(web): déplier/replier les messages progress et usages MCP en custom CLI — #233 (QA verte) 2026-08-21 16:09:30 +02:00
e20182fa5e feat(web): messages progress et usages MCP dépliables/repliables, repliés par défaut — #233 2026-08-21 16:09:25 +02:00
a1d25d7d9e merge(web): unknown websocket frame kind chat.send en custom CLI web — #231 (QA verte)
QA verte périmètre ticket: fmt/check/websocket_chat/websocket single-thread.
cargo test -p web-server complet reste rouge sur bruit historique PTY/fd
(Too many open files puis 7 échecs PTY mono-thread), non attribué au ticket.
2026-08-20 15:48:46 +02:00
3db23321a7 fix(web): gère les frames chat.attach/chat.send/chat.detach du structured chat — #231 2026-08-20 15:48:38 +02:00
1f58b96f7e merge(web): CLI custom indisponible via l'interface web — #229 (QA verte) 2026-08-20 15:10:59 +02:00
0a2a577d25 chore(idea): bookkeeping #229 QA verte et clôture (+ ticket #228 retardataire) 2026-08-20 15:10:49 +02:00
023d483ba2 fix(web): émet chat.attached pour les sessions agents structurées au lieu de UNSUPPORTED — #229 2026-08-20 15:10:41 +02:00
1b8534fbf9 merge(agents): démarrage custom CLI web téléphone — sandbox OS non relayé aux providers structurés — #227 (QA verte) 2026-08-20 14:07:51 +02:00
3397e50a46 chore(idea): bookkeeping #227 QA verte et clôture 2026-08-20 14:07:51 +02:00
e2d423f986 fix(agents): ne relaye plus le plan de sandbox OS aux providers structurés — #227
Les grants Landlock RO/RW empêchaient la custom CLI de démarrer côté web
téléphone avant d'atteindre le project root. Les providers structurés/headless
gèrent leur propre sandbox compatible CLI.
2026-08-20 14:07:07 +02:00
93d89e0446 chore(idea): bookkeeping tickets #226/#227 (+ clôture carnet #225) 2026-08-20 13:59:36 +02:00
1b7b878ce7 merge(web): invalid node id custom CLI web mobile — #225 (QA verte) 2026-08-20 13:22:37 +02:00
f528b4d900 chore(idea): bookkeeping #225 QA verte (+ tickets #219/#224 retardataires) 2026-08-20 13:22:29 +02:00
5fff70d156 fix(web): passe le nodeId réel à la custom CLI au lieu d'un id fabriqué — #225 2026-08-20 13:22:23 +02:00
bd9f2cb608 merge(web): runtime node introuvable custom CLI téléphone — #224 (QA verte) 2026-08-20 12:49:13 +02:00
b51a63f71d chore(idea): bookkeeping tickets #219-#223 et index #224 2026-08-20 12:49:06 +02:00
9a3ca51f6b fix(web): démarre le serveur MCP custom CLI via idea-serve au lieu de node — #224 2026-08-20 12:49:00 +02:00
b25c17c095 chore(idea): bookkeeping #224 QA verte (+ entrées index #219-#221 retardataires) 2026-08-17 17:56:52 +02:00
911dcf8aaf merge(web): passage en custom CLI sur version téléphone — #224 (QA verte) 2026-08-17 17:56:52 +02:00
c547b71d0c feat(web): passage en custom CLI sur version téléphone avec UI mobile adaptée — #224 2026-08-17 17:56:47 +02:00
9de51c7f43 merge(cli): heure des messages figée à 1:00 — #221 (QA verte) 2026-08-15 22:21:07 +02:00
6a4787e814 fix(cli): normalise les timestamps chat secondes/ms pour l'heure des messages — #221 2026-08-15 22:21:00 +02:00
d9172a11ae merge(git): affichage tags annotés locaux dans Git Graph — #218 (QA verte) 2026-08-15 20:01:31 +02:00
59f533e560 chore(idea): bookkeeping #218 QA verte + clôture #217 2026-08-15 20:01:23 +02:00
bfa4d322e8 fix(git): peel les tags annotés vers leur commit cible dans log_graph — #218 2026-08-15 20:01:23 +02:00
3d466f9cee merge(cli): conservation conversation au switch layout Git Graph — #217 (QA verte) 2026-08-15 19:33:05 +02:00
33c6fc6cad chore(idea): bookkeeping #217 QA verte + clôture #216 2026-08-15 19:32:56 +02:00
581063cf96 fix(cli): restaure la conversation au retour de layout via cache conversationId+sessionId — #217 2026-08-15 19:32:56 +02:00