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>
207 lines
6.2 KiB
Markdown
207 lines
6.2 KiB
Markdown
---
|
|
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.
|