chore(tickets): versionne le store de tickets et de sprints du projet
`.ideai/tickets/` et `.ideai/sprints/` sont le registre durable du projet (les tickets sont déjà référencés par les messages de commit : #14, #21..#25, #28), au même titre que `.ideai/memory/`. Ils entrent donc dans le dépôt. À l'inverse, `.ideai/background-tasks/` (snapshots de rendez-vous headless) et `.ideai/proposals/` (amendements de contexte en attente d'arbitrage) restent de l'état d'exécution transitoire, de la même classe que `live-state.json` et `.ideai/requests/` : ils doivent être ignorés (patch `.gitignore` à venir). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
6
.ideai/tickets/34/carnet.md
Normal file
6
.ideai/tickets/34/carnet.md
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
issueRef: "#34"
|
||||
version: 1
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedAt: 1783492562056
|
||||
---
|
||||
29
.ideai/tickets/34/issue.md
Normal file
29
.ideai/tickets/34/issue.md
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
id: "8dca00bf-ec0f-4da1-a231-46b27c711b78"
|
||||
number: 34
|
||||
title: "[Risque] ChatBridge.scrollback non borné (croissance mémoire)"
|
||||
status: "open"
|
||||
priority: "medium"
|
||||
sprint: null
|
||||
links: [{"target":"#32","kind":"relatesTo"}]
|
||||
agentRefs: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
createdAt: 1783492562056
|
||||
updatedAt: 1783492562056
|
||||
version: 1
|
||||
---
|
||||
Identifié par Architect lors du cadrage de #32 (variante B).
|
||||
|
||||
`ChatBridge` retient le scrollback d'une session chat pour le rejouer au remount (`reattach_agent_chat`). L'enregistrement se fait par un `push` nu, **sans aucun cap** :
|
||||
|
||||
- `app-tauri/src/chat.rs:161` — `push` sans borne.
|
||||
- `app-tauri/src/chat.rs:47` — la doc prétend « Bounded only by the conversation length (a turn count) », ce qui est un euphémisme : chaque `TextDelta` (quelques octets) est retenu à vie.
|
||||
|
||||
**Dormant jusqu'ici** : aucune session structurée vivante ne passait par ce chemin. **Devient actif avec #32 variante B** (cellule chat pour les adapters transport-backed) : une conversation Ollama longue fait croître le `Vec` sans borne.
|
||||
|
||||
Distinct de la rétention/rotation du transcript disque (mémoire `conversation-log-ls6-rotation-and-paginated-read`), qui porte sur `log.jsonl`, pas sur ce buffer mémoire.
|
||||
|
||||
**Attendu** : borner le scrollback (cap en nombre d'événements ou en octets, avec troncature par la tête), corriger la doc `chat.rs:47`, et décider si le remount doit signaler une troncature à l'UI.
|
||||
|
||||
Hors périmètre #32. Cadrage Architect requis.
|
||||
Reference in New Issue
Block a user