chore(tickets): journalise le recadrage #149

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-05 15:23:45 +02:00
parent 029ed97bff
commit 525ea94b09
4 changed files with 31 additions and 6 deletions

View File

@ -1,8 +1,8 @@
---
issueRef: "#149"
version: 13
version: 14
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1785934022586
updatedAt: 1785934744273
---
# Historique des tentatives
@ -72,3 +72,28 @@ updatedAt: 1785934022586
2. indiquer le commit/branch ou le binaire teste,
3. indiquer le resultat exact observe,
4. indiquer pourquoi la tentative suivante change d'hypothese au lieu de repeter la precedente.
## 2026-08-05 — Decision Git et instrumentation frontend
- Decision Git: ouvrir une branche dediee `feature/ticket149-customchat-session-instrumentation` a partir de `develop` au commit `4d8b69af`, car cette 4e iteration change d'hypothese et ne doit pas etre melangee avec les 3 fixes precedents.
- Manip reelle cote DevFrontend: instrumentation temporaire ajoutee dans `frontend/src/features/agents/CustomAgentChatView.tsx` et `frontend/src/features/layout/LayoutGrid.tsx`, sans fix fonctionnel et sans commit pour l'instant.
- Instrumentation posee:
1. `CustomAgentChatView.tsx` loggue chaque execution de `openOrAttach` avec timestamp, `sessionId` recu et compteur d'execution.
2. `CustomAgentChatView.tsx` loggue debut/succes/erreur pour `reattachStructuredSession`, `recoverStructuredSession` et `launchAgentChat`, avec details d'erreur (`code`, `message`, `name`, `raw`).
3. `LayoutGrid.tsx` loggue chaque `vm.setSession` avec ancienne valeur, nouvelle valeur, `nodeId`, `cellMode`, `agentId` et site d'appel (`custom`, `plain`, `plain-background-attach`, `mode-switch`).
4. `LayoutGrid.tsx` loggue chaque evaluation de `shouldFallbackCustomCliMode` avec ses inputs complets et son resultat, sans modifier la logique de fallback.
- Observations techniques de cette tentative:
- la piste `LayoutGrid.tsx` n'a pas ete retouchee fonctionnellement ; on evite volontairement une 4e variation speculative du meme fallback.
- la preuve statique relevee par DevFrontend confirme que le champ `session` est partage entre la vue custom et la vue plain, et que `CustomAgentChatView` peut reecrire `sessionId` via `onSessionIdRef.current(...)` puis repasser par `vm.setSession`, ce qui justifie l'instrumentation de cette boucle plutot qu'un nouveau patch a l'aveugle.
- Commandes executees et resultat:
1. `git status --short --branch` -> succes ; branche `feature/ticket149-customchat-session-instrumentation`, 2 fichiers modifies.
2. `npm run typecheck` -> succes, code de sortie 0.
3. `npx vitest run src/features/agents/CustomAgentChatView.test.tsx src/features/layout/LayoutGrid.chat.test.tsx` -> succes ; 2 fichiers, 16 tests.
4. `npm test` -> succes ; 116 fichiers, 1096 tests.
5. `npm run build` -> succes ; `tsc --noEmit && vite build`, 502 modules transformes.
- Particularites de sortie observees:
- les commandes npm emettent avant script un message parasite `Fatal Python error: Failed to import encodings module`, mais sortent avec code 0.
- Vitest affiche aussi des erreurs attendues de tests d'ErrorBoundary/DI et des avertissements jsdom canvas ; verdict final vert.
- Conclusion de cette tentative:
- aucune correction fonctionnelle n'est encore appliquee ; cette iteration sert a capturer une trace exploitable sur le repro reel.
- prochaine etape obligatoire: reproduire le bug dans l'app avec la console ouverte et filtrer les logs `[ticket149]` pour capturer la sequence complete (`openOrAttach:start`, `launchAgentChat`, `reattachStructuredSession`, `vm.setSession`, `shouldFallbackCustomCliMode`).
- la tentative suivante devra partir de cette trace runtime et non d'une nouvelle hypothese speculative sur `LayoutGrid.tsx`.