feat(agent): conversation par paire + entrée médiée + pivot terminal/MCP
Coeur inter-agents consolidé et surface front réalignée sur la décision "terminal natif PTY, pas d'UI chat" (Option 1). Domaine - nouveaux modules conversation, mailbox, input, fileguard (ports + types) - orchestrator/profile/events étendus (conversation par paire, FIFO) Application / Infrastructure - orchestrator/service + context_guard : sérialisation FIFO par agent, garde RW mémoire/contexte, dispatch ask/reply - adapters in-memory conversation / mailbox / input / fileguard - registry session + lifecycle agent durcis (1 agent = 1 session vivante) - outils MCP idea_* alignés sur le nouveau dispatch Frontend - MediatedInput + useAgentBusy : entrée utilisateur médiée par IdeA, terminal = vue sortie inchangée - suppression de la vue chat structurée (AgentChatView) — abandonnée - adapter input + ports mis à jour Divers - .ideai/ : mémoire projet + briefs de cadrage versionnés ; requests/ runtime ignoré ; agents projet réels (DevBackend/DevFrontend/QA) Tests : Rust (domain/application/infrastructure/app-tauri) + front (346) verts. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
206
.ideai/memory/idea-product-directives-main-handoff.md
Normal file
206
.ideai/memory/idea-product-directives-main-handoff.md
Normal file
@ -0,0 +1,206 @@
|
||||
---
|
||||
name: idea-product-directives-main-handoff
|
||||
description: Directives produit consolidees pour guider Main sur la robustesse, la persistance, le handoff cross-profile et la sobriete UX.
|
||||
metadata:
|
||||
type: project
|
||||
---
|
||||
# IdeA Product Directives For Main
|
||||
|
||||
## Resume
|
||||
|
||||
Cette note consolide les arbitrages produit explicites donnes par l'utilisateur pour aider `Main` a poursuivre le projet sans ambiguite.
|
||||
|
||||
See also:
|
||||
|
||||
- `agent-context-memory-and-profile-handoff` for the structural model of context, durable memory, live state, and handoff.
|
||||
- `remaining-work-idea-agent-control-ide` for the current implementation status and remaining work.
|
||||
|
||||
Elle ne remplace pas les notes techniques existantes. Elle sert de reference prioritaire sur:
|
||||
|
||||
- la robustesse attendue,
|
||||
- la persistance et la reprise,
|
||||
- le handoff entre profils IA,
|
||||
- la memoire projet partagee,
|
||||
- le live state projet,
|
||||
- la sobriete UX.
|
||||
|
||||
## Priorite Absolue
|
||||
|
||||
La priorite produit numero un est la robustesse.
|
||||
|
||||
Ordre de priorite impose:
|
||||
|
||||
1. robustesse et solidite avant tout
|
||||
2. persistance et reprise
|
||||
3. handoff cross-profile
|
||||
4. live state projet
|
||||
5. reste des features et du polish
|
||||
|
||||
Regle de pilotage:
|
||||
|
||||
- un systeme incomplet mais solide vaut mieux qu'un systeme riche mais fragile
|
||||
- `Main` doit privilegier les architectures et comportements qui reduisent les crashes, les incoherences d'etat et les flows difficiles a reprendre
|
||||
|
||||
## Reprise Et Persistance
|
||||
|
||||
Quand IdeA redemarre, l'objectif n'est pas seulement de rouvrir une UI ou de restaurer des handles techniques.
|
||||
|
||||
La cible produit est:
|
||||
|
||||
- qu'un agent sache compactement sur quoi il travaillait
|
||||
- qu'IdeA fournisse ce materiel de reprise automatiquement
|
||||
- que la reprise soit exploitable meme si la conversation visible precedente n'est pas restauree a l'identique
|
||||
|
||||
Le bon modele est:
|
||||
|
||||
- un log canonique IdeA comme source durable
|
||||
- un resume/handoff genere par IdeA comme couche compacte de reprise
|
||||
|
||||
Le resume/handoff n'est pas un confort secondaire. Il fait partie du comportement normal du produit.
|
||||
|
||||
## Handoff Cross-Profile
|
||||
|
||||
La cible ideale est double:
|
||||
|
||||
- reprendre correctement le travail
|
||||
- donner si possible une impression de continuite presque sans rupture
|
||||
|
||||
Mais en cas de compromis, la priorite doit etre:
|
||||
|
||||
- fidelite operationnelle du travail repris
|
||||
- avant la parfaite illusion de continuite terminale ou conversationnelle
|
||||
|
||||
Autrement dit:
|
||||
|
||||
- si un agent passe de Claude a Codex, IdeA doit d'abord garantir que Codex puisse reprendre le plus fidelement possible le travail utile
|
||||
- l'absence de restauration parfaite de l'ancien terminal est acceptable si le handoff reste bon
|
||||
|
||||
## Perimetre Profils
|
||||
|
||||
Le perimetre de reference immediat est:
|
||||
|
||||
- Claude
|
||||
- Codex
|
||||
|
||||
Toute fonctionnalite importante doit etre faisable pour ces deux profils.
|
||||
|
||||
Directive associée:
|
||||
|
||||
- reduire au maximum les dependances a des commandes, flags ou comportements specifiques a un profil
|
||||
- construire un noyau le plus generique possible tout en restant concretement compatible Claude/Codex
|
||||
- les autres profils pourront etre ajoutes plus tard si possible, mais ne doivent pas detourner le coeur du chantier actuel
|
||||
|
||||
## Memoire Projet Partagee
|
||||
|
||||
La memoire projet partagee doit rester petite, stable et utile.
|
||||
|
||||
Elle ne doit pas devenir un gros bloc qui siphonne les tokens de l'utilisateur a chaque requete.
|
||||
|
||||
Ce qu'un agent peut ecrire automatiquement dans la memoire partagee si c'est stable et utile:
|
||||
|
||||
- decisions durables d'architecture ou d'organisation
|
||||
- preferences utilisateur durables
|
||||
- regles de workflow durables
|
||||
- references importantes a conserver
|
||||
- resumes de handoff utiles a la reprise inter-session ou inter-profil
|
||||
|
||||
Ce qu'un agent ne doit pas y ecrire automatiquement:
|
||||
|
||||
- conversations brutes
|
||||
- journaux detailles de travail
|
||||
- etats temporaires
|
||||
- files d'attente
|
||||
- coordination temps reel
|
||||
- essais/erreurs locaux
|
||||
- hypotheses non stabilisees
|
||||
- contenu redondant ou reconstructible ailleurs
|
||||
|
||||
Principe de fond:
|
||||
|
||||
- memoire durable = savoir stable
|
||||
- log canonique = historique
|
||||
- handoff = reprise compacte
|
||||
- live state = coordination vivante
|
||||
|
||||
Ces couches doivent rester separees.
|
||||
|
||||
## Live State Projet
|
||||
|
||||
Le live state projet partage doit exister comme mecanisme interne d'IdeA.
|
||||
|
||||
Contraintes produit:
|
||||
|
||||
- il doit rester invisible pour l'utilisateur
|
||||
- il doit survivre au redemarrage d'IdeA
|
||||
|
||||
Il ne doit pas se transformer en UI verbeuse ni en mecanisme demandant une intervention explicite de l'utilisateur.
|
||||
|
||||
## UX Et Philosophie Produit
|
||||
|
||||
IdeA doit etre tres facile d'utilisation.
|
||||
|
||||
Objectif UX:
|
||||
|
||||
- plug and play
|
||||
- pas de sensation de parametrage impose
|
||||
- pas de surcharge de tuto au premier lancement
|
||||
- pas d'impression que le produit force des comportements internes a l'utilisateur
|
||||
|
||||
Ligne directrice souhaitee:
|
||||
|
||||
- esprit "maniere Linux"
|
||||
- comportement simple et utile par defaut
|
||||
- pas de contrainte tant qu'il n'y a pas un vrai besoin
|
||||
- suggestion discrete seulement si IdeA detecte qu'une aide ou une optimisation devient utile
|
||||
|
||||
Le precedent du compactage de contexte est considere comme la bonne direction:
|
||||
|
||||
- pas de compactage impose d'emblee
|
||||
- une popup proposee seulement si IdeA sent un besoin
|
||||
|
||||
## Transparence Des Mecanismes Internes
|
||||
|
||||
Les mecanismes suivants doivent rester quasi invisibles pour l'utilisateur:
|
||||
|
||||
- delegations inter-agents
|
||||
- FIFO
|
||||
- handoffs
|
||||
|
||||
Ils peuvent devenir visibles en debug ou quand le produit a une bonne raison UX de les exposer, mais ils ne doivent pas etre ressentis comme une charge cognitive normale d'utilisation.
|
||||
|
||||
## Frontiere Avec Le Chantier Inter-Agents De Main
|
||||
|
||||
Les choix fins touchant la communication entre agents ne doivent pas etre recadres ici si `Main` est deja en train de les traiter.
|
||||
|
||||
Cette note ne doit donc pas etre lue comme une specification d'implementation inter-agents detaillee.
|
||||
|
||||
Elle fixe seulement les invariants produit suivants:
|
||||
|
||||
- robustesse avant richesse fonctionnelle
|
||||
- reprise automatique par IdeA
|
||||
- log canonique + handoff genere par IdeA
|
||||
- support de reference pour Claude et Codex
|
||||
- memoire durable compacte et curatee
|
||||
- live state interne et persistant
|
||||
- UX discrete, simple et peu intrusive
|
||||
|
||||
## Directive Finale Pour Main
|
||||
|
||||
Si un arbitrage technique oppose:
|
||||
|
||||
- elegance theorique
|
||||
- ou livraison rapide
|
||||
|
||||
contre:
|
||||
|
||||
- robustesse
|
||||
- reprise fiable
|
||||
- sobriete UX
|
||||
|
||||
alors `Main` doit privilegier:
|
||||
|
||||
- robustesse
|
||||
- reprise fiable
|
||||
- sobriete UX
|
||||
|
||||
avant le reste.
|
||||
Reference in New Issue
Block a user