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

@ -5,7 +5,7 @@
"probableAppModule": null, "probableAppModule": null,
"projectId": "97b49ac2-8376-4aa3-8ea9-bf3ac81d0023", "projectId": "97b49ac2-8376-4aa3-8ea9-bf3ac81d0023",
"projectRoot": "/home/anthony/Documents/Projects/IdeA", "projectRoot": "/home/anthony/Documents/Projects/IdeA",
"updatedAt": "2026-08-05T12:45:31.695Z" "updatedAt": "2026-08-05T13:21:17.735Z"
}, },
"ownerAgentId": null, "ownerAgentId": null,
"ownerAgentMapping": {}, "ownerAgentMapping": {},

View File

@ -1,8 +1,8 @@
--- ---
issueRef: "#149" issueRef: "#149"
version: 13 version: 14
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1785934022586 updatedAt: 1785934744273
--- ---
# Historique des tentatives # Historique des tentatives
@ -72,3 +72,28 @@ updatedAt: 1785934022586
2. indiquer le commit/branch ou le binaire teste, 2. indiquer le commit/branch ou le binaire teste,
3. indiquer le resultat exact observe, 3. indiquer le resultat exact observe,
4. indiquer pourquoi la tentative suivante change d'hypothese au lieu de repeter la precedente. 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`.

View File

@ -11,8 +11,8 @@ attachments: []
createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
createdAt: 1785930073255 createdAt: 1785930073255
updatedAt: 1785934022586 updatedAt: 1785934744273
version: 13 version: 14
--- ---
Bug report utilisateur du 2026-08-05: la CLI custom ne se lance plus; à l'ouverture elle se ferme immédiatement et la cellule revient sur Plain/TUI. Diagnostic Architecture: bug distinct de #148. Dans `frontend/src/features/layout/LayoutGrid.tsx`, `cellMode` restauré à `custom` depuis le storage est forcé trop tôt vers `tui` par l'effet garde-fou `if (!customCliAvailable && cellMode !== \"tui\") setCellMode(\"tui\")`, alors que `agents`/`profiles` sont encore vides pendant leur chargement asynchrone initial. Résultat: la préférence `custom` est écrasée silencieusement avant même que la vue puisse se monter. Objectif: retarder ce fallback jusqu'à la fin du premier chargement du catalogue, couvrir par test de non-régression, valider QA, puis rebuild AppImage Linux. Bug report utilisateur du 2026-08-05: la CLI custom ne se lance plus; à l'ouverture elle se ferme immédiatement et la cellule revient sur Plain/TUI. Diagnostic Architecture: bug distinct de #148. Dans `frontend/src/features/layout/LayoutGrid.tsx`, `cellMode` restauré à `custom` depuis le storage est forcé trop tôt vers `tui` par l'effet garde-fou `if (!customCliAvailable && cellMode !== \"tui\") setCellMode(\"tui\")`, alors que `agents`/`profiles` sont encore vides pendant leur chargement asynchrone initial. Résultat: la préférence `custom` est écrasée silencieusement avant même que la vue puisse se monter. Objectif: retarder ce fallback jusqu'à la fin du premier chargement du catalogue, couvrir par test de non-régression, valider QA, puis rebuild AppImage Linux.

View File

@ -1960,7 +1960,7 @@
"kind": "agent", "kind": "agent",
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d" "agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
}, },
"updatedAt": 1785934022586 "updatedAt": 1785934744273
} }
] ]
} }