Elora et dix-neuf rôles
Le catalogue est inspectable avec elora-agent organisation list --json. Il sépare définition, liaison à une capacité, validation, activation et suspension. Une observation absente reste not_checked, pas un succès ou un échec inventé.
Coordination et fonctions transversales
Ao suit la cohérence et prépare les arbitrages. Mystra porte l’architecture, Elminster la profondeur stratégique, Cyric la contradiction et la revue, Savras la veille. Ao ne remplace ni Elora ni son orchestration interne et ne crée pas un second ordonnanceur.
Systèmes
Gond construit, Torm prépare et encadre les opérations, Helm examine la sécurité, Drizzt garde la continuité du support. Une procédure préparée n’est pas une action exécutée sur un serveur.
Pilotage et affaires
Khelben structure les priorités professionnelles ; Mirt développe les approches commerciales. Waukeen et Tyr portent les mandats finance et juridique, mais n’ont pas encore d’intégration dédiée. Aucun paiement, engagement ou envoi n’est autorisé par un nom de rôle.
Savoir, création et vie personnelle
Oghma organise la connaissance, Trouveur travaille l’écriture, Eilistraée la direction créative. Lathandre accompagne le contexte de santé, Yondalla la logistique personnelle, Sunie la dimension relationnelle. Les deux derniers n’ont pas d’intégration dédiée ; un worker texte ne devient pas un moteur audio ou vidéo.
Les alias Arunsun et Bâton noir désignent le même Khelben. Chaque rôle conserve ses limites et sa qualité attendue : ce sont des exigences à vérifier, pas des notes déjà obtenues. Les personas sont des fichiers effectivement compilés, sans droits supplémentaires ni faits opérationnels préécrits.
Une mission peut fixer son rôle avec elora-execute mission --role ROLE --playbook PLAYBOOK. Son persona est conservé dans l’exécution et transmis au worker par le chemin habituel. Sur le chemin conversationnel, l’interprétation locale peut proposer un rôle explicitement demandé : Elora vérifie sa compatibilité, l’affiche dans le plan et conserve ce choix au « go ». Les tests du raccord utilisent un classifieur simulé ; ils ne certifient pas la compréhension de chaque formulation par tous les modèles.
Les contributions encadrées passent par les commandes d’Elora : responsable persistant, objectif, périmètre, limites, résultat vérifiable et revue avant retour. Le parcours Drizzt → Torm a été testé jusqu’au retour des artefacts, sans fermer le dossier de Drizzt. La procédure Apache utilise une approbation explicite et un simulateur local désactivé par défaut ; elle ne redémarre aucun serveur réel. Ce socle n’est ni une conversation libre entre agents, ni l’ingestion automatique de leurs propositions.
Agents nommés
Prospection, support, mémoire, sécurité, architecture, docs, QA, data, decision brief, health-context et autres domaines ont des noms, routes et policies explicites.
Le rôle organisationnel, ses alias et sa persona sont distincts de l’agent technique choisi pour une mission. Un rôle peut proposer plusieurs capacités ; Elora doit en valider une exactement. Ni le nom lisible, ni la persona ne donnent une permission.
Contrats de compétence
Chaque agent possède mandat, cycle d'exécution, artefacts requis, rubriques d'excellence, exemples gold standard, sorties inacceptables, anti-patterns, autorité déterministe, scénarios de mission et handoffs.
La commande elora-agent excellence vérifie que le contrat est sérieux avant usage opérationnel: mandat, cycle, artefacts, rubriques, exemples spécifiques, sorties inacceptables, autorité déterministe, scénarios, stop conditions, trace points et learning capture.
elora-agent review vérifie aussi l'alignement entre run et contrat: contrat présent, rubrique, artefacts, autorité déterministe, scénario, livrable, quality gate, limites et sortie inspectable. C'est un diagnostic sans mutation.
elora-agent eval relie chaque agent à des fixtures déterministes et vérifie scénarios, artefacts, preuves, signaux d'échec, rubric coverage et policy de mutation sans lancer de worker.
elora-harness vérifie qu'une mission concrète est câblable: agent prêt, scénario connu, playbook, inputs, evidence gate, pack Markdown, référence gold du même scénario, artefacts, quality gates et trace learning proposal-only. La couverture inclut maintenant vingt et un scénarios: des parcours pratiques disposant de scénarios E2E, la recherche publique locale, les chemins sécurité/décision operator-judgment et les spécialistes proposition/revue/curation. Le cockpit expose list/show/run/runs via sa console Harness, mais il ne lance pas le worker et ne devient pas l'autorité de readiness.
Agent operational trials
elora-trial classe les agents entre trial_ready et readiness_only, puis ajoute un coverage status: mapped_full_e2e, actionable_e2e_gap ou readiness_only_by_policy. Un parcours mappé est configuré pour un essai, pas déjà exécuté. Seul un résultat de run vérifié apporte une preuve locale sur son périmètre ; les contrats, la readiness et les résultats historiques restent séparés. Les anciens compteurs full_e2e_proven_count sont des alias de compatibilité du nombre de parcours mappés, pas un certificat du code courant. La recherche publique reste dans ce dernier groupe tant que la fraîcheur des sources et les claims du run n'ont pas passé la revue du résultat, même si son worker local est maintenant exécutable.
elora-agent operational fusionne inventaire agents, contrats Agent Excellence, fixtures eval, couverture elora-trial et Golden Paths. La sortie distingue mapped_full_e2e, readiness_only_by_policy, contract_ready_untrialed, setup_required et les gaps, puis expose safe_actions et next_safe_action par agent avec argv structuré. La console cockpit Agent Ops affiche ces actions via /api/agents/actions et peut lancer une action sûre par /api/agents/action-run avec seulement agent et action_id: le serveur relit la matrice, valide allowlist, type d'action, état sûr et flags non mutatifs, puis exécute la CLI déclarée. Aucun dispatch caché, aucune commande arbitraire navigateur, aucune mémoire, aucun routing, aucun provider ou contrat muté.
elora-agent reality vérifie ce que l'agent peut réellement faire: worker déterministe, overlay tool-backed, model-only, stub ou route non prête. Le dispatch persiste ce snapshot et bloque les claims local_code qui ne peuvent pas produire artefacts, fichiers et tests.
elora-capability fabrique des propositions de nouvelles capacités domaine: agent stub, playbook skeleton, inputs, artefacts, quality gates, readiness et promotion checklist. promote-plan transforme ensuite un pack validé en dossier de promotion reviewable avec patches candidats pour agent, playbook, compétence, excellence, fixture et harness. Le cockpit peut inspecter ces packs, valider et générer un dossier avec confirmation, mais rien n'est activé automatiquement: pas d'agent actif, pas de mutation mémoire, routing, providers ou config.
Local worker capability pack
site_qualification_agent, docs_analysis_agent, docs_writer_agent, timeseries_forecast_agent et support_analyst_agent ont maintenant des chemins deterministic_worker: elora-site, elora-docs, elora-forecast et elora-support. Ils produisent des artefacts locaux inspectables avant tout handoff modèle, mémoire ou décision; docs_writer_agent produit un plan de mise à jour documentaire borné, et support_analyst_agent ne produit que des propositions de triage et brouillons AI-disclosed.
Web research brief
Les recherches publiques passent par web_research_brief, strategic_research_agent et le worker local_research. Elora lit d’abord les URLs fournies ; SearXNG et les alternatives configurées servent à découvrir d’autres sources. Un modèle local peut proposer une collecte complémentaire à partir de lacunes et de liens observés, sans inventer de cible ni prendre le contrôle des outils. Le corpus qualifié alimente une rédaction locale, puis une critique sur l’objectif, les sources, la profondeur, les incertitudes et l’utilité. Les révisions restent bornées et inspectables. Le brouillon déterministe est conservé ; une panne après rejet ne le transforme jamais en succès. Une limitation temporaire de recherche peut entraîner une attente persistée suivie d’une reprise dans le mandat initial. Ni le modèle, ni Hermes, ni une bonne note ne remplacent les preuves ou le jugement de l’opérateur.
elora-agent gold expose des exemples locaux de livrables excellents: forme attendue, barre qualité, extrait modèle et anti-patterns. Ces références guident revue et prompts futurs, mais ne prouvent pas qu'un run live est bon.
elora-context-files peut recommander, packer et gate des dossiers Markdown gouvernés. elora-playbook, elora-execute et elora-agent run --context-file transmettent ensuite statut, rôle, autorité, scope, provenance et contenu borné au worker comme contexte mission, pas comme vérité mémoire. Le prompt utilise wrapped_content sous ELORA_UNTRUSTED_CONTEXT; le Markdown peut guider, pas commander.
Chaque fixture déclare les rubriques du contrat qu'elle couvre. Si une rubrique manque, si la fixture invente un ID inconnu, si la fixture depth est trop faible ou si la multi-case fixture coverage manque sur un agent critique, l'agent n'est pas prêt pour un essai sérieux.
elora-agent scenarios expose des cas concrets par agent: objectifs, inputs requis, artefacts attendus, barre qualité, conditions de rejet, contrôles déterministes et policy de mutation.
Quality gates
Un worker peut terminer sans produire un livrable utilisable. Les gates déterministes, elora-result, la revue opérateur et le Result Acceptance Gate empêchent de confondre succès runtime et résultat accepté.
Disclosure externe
Aucun agent commercial, support ou prospection ne doit se faire passer pour un humain. Les brouillons externes appliquent la disclosure externe.
Learning loop
agent_run_log, quality_score, failure_reason, success_pattern, feedback résultat, propositions, playbooks, Execution Learning Bridge, Revision Review, pattern scores, learning trends, learning scorecard, promotion candidates avec preview/apply explicite, Learning Review Inbox, indexes learning et clarification learning events restent inspectables.
Playbooks domaine
elora-playbook, le cockpit et Telegram permettent de préparer les missions récurrentes comme scaffolds locaux: inputs, mission, artefacts, checklist et commande d'enqueue, sans prétendre que l'agent a déjà exécuté.
Execution Handoff
elora-execute relie une next action à un plan, un scaffold playbook, un dispatch agent via queue, une sync, une review proposal-only, une synthèse livrable, une livraison finale, un Mission Outcome, une revision loop, une capture learning, une fermeture et un feedback résultat propagé si la queue existe. attach-worker ajoute le pont direct worker: un run lancé depuis le Worker Registry peut devenir une exécution direct_worker avec Result Acceptance, synthèse, livraison, feedback, outcome et close, sans relancer le worker ni promouvoir quoi que ce soit. Le Mission Supervisor peut appliquer les étapes déterministes sûres via le moteur auto-runner, mais s'arrête avant le jugement opérateur. La clôture normale done exige un livrable et un result contract acceptés, ainsi qu’un feedback explicite ou une dérogation auditée à ce feedback. Une clôture exceptionnelle malgré un résultat refusé exige séparément --allow-unaccepted-result --override-reason : elle ne transforme ni le refus en validation, ni la clôture en satisfaction opérateur.
elora-agent-traces importe des exports JSONL locaux de traces publiques, calcule stats, catégories et échantillons, extrait des patterns, puis génère des trace corpus proposals par agent. proposals review les classe en gates, playbooks, anti-patterns et gold examples. Aucun téléchargement automatique, aucune écriture mémoire, aucune mutation de routage.
elora-agent-improve transforme les signaux trace corpus et learning en patchs d'amélioration inspectables. Le cockpit expose review, propose, show, preview et apply avec confirmation exacte APPLY IMPROVEMENT. Telegram expose review/propose/preview mais refuse apply.
Promotion explicite
La boucle suit cinq étapes: review, feedback, preview, matérialisation, promotion. Les propositions ont des IDs inspectables avant promotion. Une inférence ne modifie pas implicitement mémoire, routage ou compétence.
Exemples de lecture, avec valeurs illustratives : ces sorties statiques ne décrivent pas une installation en direct. Un résultat passed vaut pour le run concerné, pas pour tous les modèles ou toutes les versions.