Capitalise la mémoire projet produite pendant la campagne de tests fonctionnels MCP (rendez-vous inter-agents, backstop no-reply, réconciliation live-state au reboot) et synchronise l'état runtime `.ideai/` (agents, layouts, skills, index mémoire). Inclut la mise à jour du contexte de l'agent Git. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.5 KiB
État au cadrage (develop @ 827d477) :
- #2a handoff incrémental cross-profile = FAIT + CÂBLÉ (lots P1–P8) :
domain/conversation_log.rs(Handoff,HandoffStore,HandoffSummarizer::foldincrémental,ProviderSessionStore),application/conversation/record.rs(RecordTurn= append+fold), wiringstate.rs(AppRecordTurnProvider), injection au lancement viaHandoffProvider(P7). Résumeur =HeuristicHandoffSummarizer, seam async pourLlmHandoffSummarizer(P10) déjà en place. Reste : seam LLM + bornesummary_md. - #2b log canonique = FAIT :
ConversationLogappend-only.ideai/conversations/<id>/log.jsonl, jamais injecté à un agent (doc domaine explicite). Reste : rétention/rotation + lecture paginée UI. - #1 live-state agent = À CONSTRUIRE (cœur) : aujourd'hui seul
GetProjectWorkState(read-model HUMAIN dérivé, non durable). Construire un 4ᵉ storelive-state.json(gitignored, runtime) :domain/live_state.rs(LiveState/LiveEntry/WorkStatus, portLiveStateStore, keyed last-writer-wins, JAMAIS append, champs bornés,pruneTTL+max_n), use casesUpdateLiveState/GetLiveStateLean, adapterFsLiveStateStore, auto-update depuisorchestrator/service.rs(ask→Working, reply→Done), injection bornée# État du projetau lancement + outils MCPidea_workstate_read/idea_workstate_set. Ne stocke QUE le non-re-dérivable (intent/progrès/dernière délégation) ; busy/queue restent calculés.
Règle de frontière gravée (testable) : Surface AGENT = borné/distillé/pointeur uniquement (capacités, pointeurs mémoire, affordances skills, handoff summary_md, live-state lean). Surface HUMAINE = riche (ProjectWorkStatePanel, viewer fil-par-paire qui rejoue le log). Transcript / append-only INTERDIT d'injection dans un contexte agent ; seul un dérivé distillé franchit. 4 stores distincts : memory/ (savoir stable, versionné) · handoff.md (reprise par fil) · log.jsonl (transcript humain) · live-state.json (coordination transitoire maigre).
Découpage : LS0 doc baseline → LS1 domaine live-state → LS2 store+usecases → LS3 auto-update délégation → LS4 injection+MCP (clôt cold-start) ; LS5 seam LLM+borne handoff, LS6 rétention log+lecture UI (parallèles) ; LS7 UX fil-par-paire (front pur) ; LS8 doc clôture.