domain_agents

Un agent routable ne suffit pas.

Elora ne veut pas seulement lancer des agents. Elle doit lancer les bons agents, avec la bonne mission, les bonnes bornes, les bons artefacts et le bon niveau d'exigence.

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.

Identity layer

Les agents peuvent avoir un display_name, des alias et plus tard des codenames reconnaissables dans l'univers de Christophe. Cette couche reste ergonomique: l'ID technique demeure l'autorité pour routing, policy, queue, learning et audit.

Agent Excellence

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.

Agent contract gate

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.

Evaluation harness

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.

Agent mission harness

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 prospection StackX, analyse site, support, code local, sécurité, documentation, décision, forecast et analyse document. 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: full_e2e_proven, actionable_e2e_gap ou readiness_only_by_policy. En V1, sept chemins ont une preuve E2E locale isolée, aucun chemin courant n'a de gap worker actionnable, et deux restent volontairement proposal-only par policy.

Worker Reality Gate

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.

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.

Gold output references

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.

Markdown mission packs

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.

Scénarios de mission

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.

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. Le Result Acceptance Gate doit accepter le livrable et son result contract avant clôture done, et done exige un feedback explicite ou un override audité; le feedback ne remplace jamais cette acceptation.

Agent trace corpus

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.

Improvement Workbench

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.

Niveau attendu: un agent compétent ne produit pas une réponse simplement correcte. Il produit un livrable actionnable, sourcé, borné, réutilisable par un autre agent ou par Christophe, avec ses limites et sa prochaine action. Les bons et mauvais résultats sont capturés par elora-learning dans des index JSONL idempotents, passent par une inbox de revue opérateur, puis deviennent des propositions promotionnables, jamais des mutations cachées.
brain@elora:~$ elora-agent doctor
total_agents: 31
enabled_agents: 30
domain_total: 21
domain_enabled: 20
ready_domain: 20
blocked_enabled_domain: 0
setup_required_disabled: stackx_discovery_agent

brain@elora:~$ elora-agent reality local_code_agent --task-class local_coding --requires-execution
status=ready
level=deterministic_worker
can_execute=true
can_write_files=true
can_run_tests=true
claim_policy=command_trace_required

brain@elora:~$ elora-agent reality docs_analysis_agent --task-class docs_analysis --requires-execution
status=ready
level=deterministic_worker
can_execute=true
claim_policy=claims_are_candidates_until_promoted

brain@elora:~$ elora-agent reality timeseries_forecast_agent --task-class timeseries_forecast --requires-execution
status=ready
level=deterministic_worker
can_execute=true
claim_policy=forecasts_are_hypotheses_not_facts

brain@elora:~$ elora-agent reality prospecting_researcher
status=ready
level=deterministic_worker
can_execute=true
provider=local_prospect_worker
claim_policy=site_evidence_and_command_outputs_are_authoritative_missing_facts_stay_unknown

brain@elora:~$ elora-agent reality support_analyst_agent
status=ready
level=deterministic_worker
can_execute=true
provider=local_support_worker
worker=local_support
claim_policy=supplied_ticket_evidence_and_command_outputs_are_authoritative_missing_facts_stay_unknown

brain@elora:~$ elora-agent resolve prospecting
resolved_name=prospecting_researcher
display_name=Prospecting Researcher
matched=prospecting
role=prospecting-researcher

brain@elora:~$ elora-agent excellence
total: 21
ready: 21
needs_hardening: 0

brain@elora:~$ elora-agent eval
ok=true
total=21
ready=21
needs_work=0
missing_fixtures=
average_score=100
prospecting_researcher | score=100 | ready=true | rubric_coverage=11/11
docs_analysis_agent | score=100 | ready=true | rubric_coverage=5/5
timeseries_forecast_agent | score=100 | ready=true | rubric_coverage=5/5

brain@elora:~$ elora-agent eval prospecting_researcher
ready=true
cases=2/2
rubric_coverage=11/11
fixture_depth=ok
rubric_missing=

brain@elora:~$ elora-harness run stackx_prospecting_harness
status=ready
score=100
mode=deterministic_mission_readiness_no_worker_launch
worker_launch=false
learning=proposal-only when --write

brain@elora:~$ elora-trial run stackx_prospecting_trial
status=passed
coverage_status=full_e2e_proven
e2e_scenario=stackx_prospecting_local
worker=local_prospect
sending=false

brain@elora:~$ elora-harness run security_advisory_harness
status=ready
agent=security_analyst_agent
gold_reference=mitigation_script_review
side_effects=false

brain@elora:~$ elora-harness run documentation_update_harness
status=ready
agent=docs_writer_agent
gold_reference=operator_doc_update
site_impact_checked=true

brain@elora:~$ elora-trial doctor
trials=9
ready=9
full_e2e=7
readiness_only=2
actionable_e2e_gaps=0
readiness_only_by_policy=2
blocked=0

brain@elora:~$ elora-trial run site_content_analysis_trial
status=passed
trial_ready=true
readiness_ready=true
execution_proven=true

brain@elora:~$ elora-trial run security_advisory_trial
status=readiness_only
coverage_status=readiness_only_by_policy
trial_ready=false
readiness_ready=true
execution_proven=false
gap=analysis-only path, no isolated execution proof

brain@elora:~$ elora-agent scenarios
total: 21
scenario_ready: 21
missing_scenarios: 0
missing_deterministic_authority: 0

brain@elora:~$ elora-agent gold prospecting_researcher
ready=true
gold=1/1
scenario_mapping=true
critical_missing=

brain@elora:~$ elora-learning indexes
agent_run_log.jsonl
agent_quality_score.jsonl
agent_failure_reason.jsonl
agent_success_pattern.jsonl
agent_playbook_entries.jsonl
operator_feedback.jsonl
memory_proposals.jsonl
routing_adjustments.jsonl

brain@elora:~$ elora-agent-traces source
source: lambda/hermes-agent-reasoning-traces
rows: 14701 | size: 1.62 GB
mode: explicit local import only
policy: proposal_only_no_memory_write

brain@elora:~$ elora-agent-traces propose --write
proposals: per-agent Agent Excellence review records
index: ELORA_DATA_DIR/agents/learning/indexes/trace_corpus_proposals.jsonl
mutation: none

brain@elora:~$ elora-agent-traces proposals review --agent architecture_agent --write
review_items: candidate_gate, candidate_playbook, candidate_anti_pattern, candidate_gold_example
artifact: ELORA_DATA_DIR/agent-traces/reviews/trace-review-*.json
mutation: none

brain@elora:~$ elora-agent-improve propose-patch --agent architecture_agent --source trace --write
patch: ELORA_DATA_DIR/agents/improvement/patches/improve-*.json
apply_default: dry-run
mutation: none

brain@elora:~$ elora-agent-improve apply PATCH_ID --apply
target: Agent Excellence overlay
mode: append-only, deduplicated, audited
canonical_memory_write: false
routing_mutation: false

brain@elora:~$ cockpit Improve
review: agents + patches
apply: requires APPLY IMPROVEMENT

brain@elora:~$ telegram /improve preview PATCH_ID
mode: dry-run only
apply: refused

brain@elora:~$ elora-agent excellence architecture_agent
trace_corpus_proposals: read-only context
mutation: none