MyHelios · Feuille de route — Étape 2

Orchestrateur minimal

Conception du plus petit harnais fonctionnel : un orchestrateur qui enchaîne les agents Cadrage, Spécifications et Architecture, un registre minimal conforme au schéma de l'étape 1, et le point de contrôle humain PC1 (validation du cahier des charges).

Livrable Étape 2 — VALIDÉ Projet : MyHelios Date : 1 août 2026 Statut : Validé — décisions D6→D10 tranchées Références : guide V3 · schéma registre (étape 1, validé)

1Objectif et périmètre

L'étape 2 construit le premier harnais fonctionnel de bout en bout : une demande initiale entre, et des artefacts amont validés (cahier des charges, spécifications, architecture) sortent, enregistrés dans le registre avec traçabilité complète.

1.1 Objectifs

1.2 Inclus dans cette étape

ÉlémentDétail
Orchestrateur minimalCLI helios run : reçoit la demande, séquence les agents, gère le registre, expose PC1
Agent CadrageNote d'opportunité, cahier des charges, analyse des risques, estimation
Agent SpécificationsSpécifications fonctionnelles puis techniques
Agent ArchitectureArchitecture, ADR (un par décision), modèle de données, choix technologiques
Registre minimalImplémentation du schéma étape 1 : Git (contenu) + SQLite (métadonnées), types limités aux 3 familles amont
Point de contrôle PC1Approuver / rejeter / amender le cahier des charges, via CLI
Outils de vérificationGarde-fous : conformité référentiel, cohérence terminologique, revue croisée entre agents

1.3 Hors périmètre (étapes ultérieures)

2Architecture de l'orchestrateur minimal

Le périmètre de l'étape 2 se concentre sur le flux amont : Cadrage → PC1 → Spécifications → Architecture. L'orchestrateur est un simple moteur séquentiel : chaque agent s'exécute, publie dans le registre, puis laisse la main.

Demande initiale (porteur) objectifs · contraintes · périmètre pressenti Orchestrateur minimal séquencement · registre · garde-fous · retry · escalade AGENT CADRAGE note-opportunite · cahier-des-charges analyse-risques · estimation sortie → PC1 (validation humaine) AGENT SPÉCIFICATIONS spec.fonctionnelles · spec.techniques exigences identifiables et traçables entrée : cahier des charges validé AGENT ARCHITECTURE archi.architecture · archi.adr (×n) modele-donnees · choix-technos entrée : specs validées Registre (Git + SQLite) artefacts · statuts · dépendances · historique append-only Outils LLM (deepseek) · fichiers · exécution · git Point de contrôle PC1 (humain) approuver · rejeter · amender le cahier des charges

Figure 1 — Orchestrateur minimal : séquence linéaire Cadrage → PC1 → Spécifications → Architecture, avec écriture systématique dans le registre.

2.1 Principe de fonctionnement

  1. Réception — l'orchestrateur reçoit la demande initiale (fichier YAML/JSON) et crée le projet dans le registre.
  2. Agent Cadrage — génère note d'opportunité, cahier des charges, analyse des risques, estimation ; publie en brouillon, puis passe en en_revue après garde-fous.
  3. PC1 — l'orchestrateur suspend le flux ; l'humain approuve, rejette ou amende. Seule l'approbation débloque la suite.
  4. Agent Spécifications — génère les specs fonctionnelles puis techniques à partir du cahier des charges validé.
  5. Agent Architecture — génère architecture, ADR, modèle de données, choix technologiques à partir des specs.
  6. Clôture d'étape — l'orchestrateur régénère la matrice de traçabilité minimale et présente le bilan.

3Composants

3.1 Orchestrateur minimal

3.2 Registre minimal

3.3 Boucle agentique générique

Tous les agents de l'étape 2 partagent la même boucle (principe 4 de la V3), implémentée une seule fois :

PhaseActionSortie
1. ContexteLecture des artefacts amont validés + configuration des référentiels + glossaire projetContexte injecté dans le prompt
2. PlanificationL'agent annonce sa liste d'artefacts et ses hypothèsesMini-plan (journalisé)
3. GénérationProduction des artefacts (documents markdown)Fichiers + métadonnées
4. Auto-vérificationRelecture par l'agent : cohérence, complétude, conformité au référentielGarde-fous remplis
5. PublicationÉcriture Git + SQLite, passage brouillon → en_revueArtefacts en attente de contrôle

4Contrats des trois agents

Chaque agent est défini par un contrat : mission, entrées, sorties, référentiels, garde-fous spécifiques. Le contrat est injecté dans le prompt de l'agent (exigence V3 section 4) et stocké dans le registre comme configuration.

4.1 Agent Cadrage agent:cadrage

AspectDéfinition
MissionTransformer la demande initiale en socle décisionnel validable : opportunité, périmètre, risques, budget de premier niveau.
EntréesDemande initiale (YAML) — aucun artefact amont requis
Sortiescadrage.note-opportunite, cadrage.cahier-des-charges, cadrage.analyse-risques, cadrage.estimation
RéférentielsISO 25010 (grille qualité) ; exigences identifiables et vérifiables (cahier des charges)
Garde-fousChaque exigence du cahier des charges a un identifiant unique (EX-001…) ; le périmètre distingue inclus / exclu ; l'estimation fournit ordre de grandeur + hypothèses
Point de contrôlePC1 — validation du périmètre et du budget par le sponsor

4.2 Agent Spécifications agent:specifications

AspectDéfinition
MissionDécliner le cahier des charges validé en exigences fonctionnelles puis techniques, traçables jusqu'aux tests futurs.
Entréescadrage.cahier-des-charges (statut valide)
Sortiesspec.fonctionnelles puis spec.techniques
RéférentielsExigences identifiables et vérifiables ; matrice de traçabilité exigences ↔ tests
Garde-fousChaque exigence fonctionnelle reprend l'identifiant EX-xxx du cahier des charges ; chaque exigence technique est liée à une ou plusieurs exigences fonctionnelles ; aucune exigence amont oubliée (revue de couverture)
Point de contrôleAucun dédié à ce stade (la validation des specs est implicite via l'architecture) — peut être ajouté en PC3-bis si besoin

4.3 Agent Architecture agent:architecture

AspectDéfinition
MissionConcevoir l'architecture cible répondant aux specs, en documentant chaque décision structurante par un ADR.
Entréesspec.fonctionnelles + spec.techniques (statut valide)
Sortiesarchi.architecture, archi.adr (un artefact par décision — D3), archi.modele-donnees, archi.choix-technos
RéférentielsADR, C4 model, ISO/IEC/IEEE 42010
Garde-fousAu moins un ADR par décision structurante ; diagrammes C4 (contexte, conteneurs) présents ; modèle de données couvre les entités des specs ; chaque choix technologique est justifié dans un ADR ou archi.choix-technos
Point de contrôlePC3 — revue d'architecture (déjà prévu à l'étape 2, validé par l'architecte)
Précision V3

Le point de contrôle PC3 (revue d'architecture) est inclus dès cette étape : l'architecture est le premier artefact dont une erreur coûte cher. Il s'ajoute à PC1 sans alourdir le flux (deux suspensions humaines sur la chaîne amont).

5Séquencement et flux détaillé

Le flux complet de l'étape 2, avec les transitions de statut à chaque étape :

#ActionActeurArtefacts produitsStatuts traversés
1Saisie de la demande initialePorteur— (fichier demande.yaml hors registre)
2Création du projet + config référentielsOrchestrateurconfig.referentielsbrouillon → en_revue → valide (automatique)
3Génération du cadrageagent:cadrage4 artefacts cadrage.*brouillon → en_revue (garde-fous)
4Suspension PC1Humain (sponsor)en_revue → valide ou rejete
5Génération des spécificationsagent:specificationsspec.fonctionnelles, spec.techniquesbrouillon → en_revue → valide
6Génération de l'architectureagent:architecturearchi.architecture, archi.adr×n, archi.modele-donnees, archi.choix-technosbrouillon → en_revue
7Suspension PC3Humain (architecte)en_revue → valide ou rejete
8Régénération de la matrice de traçabilitéOrchestrateur (mécanique)transverse.matrice-tracabilitegénérée depuis les liens derive_de
9Bilan d'étapeOrchestrateurrapport CLI

5.1 Propagation d'une modification amont

Scénario de test obligatoire : après validation, le sponsor amende le cahier des charges (transition valide → brouillon sur cadrage.cahier-des-charges). L'orchestrateur doit :

  1. Marquer les avals comme impactés : spec.fonctionnelles, spec.techniques, puis archi.* (propagation transitive).
  2. Repasser les avals en brouillon (règle R2).
  3. Proposer la régénération ciblée : specs puis archi, dans l'ordre des dépendances.
  4. Re-soumettre à PC1/PC3 uniquement si le périmètre ou le budget change.
Décision d'étape

À l'étape 2, la régénération après amendement est manuelle (commande helios regenerate <type>) : l'automatisation complète de la propagation est prévue à l'étape 3 (traçabilité complète). Le mécanisme d'impact est en revanche opérationnel dès maintenant.

6Point de contrôle humain PC1

PC1 valide le périmètre et le budget (gouvernance V3, section 8). Il s'agit de la première suspension humaine du harnais : c'est ici que se joue la crédibilité du dispositif — l'humain doit vraiment lire, pas cocher.

6.1 Commandes

CommandeEffetJournalisation
helios approve <artefact>en_revue → valide ; débloque les avalsqui, quand, commentaire obligatoire
helios reject <artefact> -m "..."en_revue → rejete ; le flux s'arrêtequi, quand, motif obligatoire
helios amend <artefact> -m "..."en_revue → brouillon avec instructions de modification ; l'agent régénèrequi, quand, instructions
helios statusAffiche les artefacts en attente de contrôle

6.2 Aide à la lecture (anti-formalité)

Pour éviter la dérive « l'humain valide sans lire » (V3 section 8), l'orchestrateur fournit avec chaque artefact soumis :

7Pile technique et structure du dépôt

7.1 Pile retenue

CoucheChoixJustification
LangagePython 3.11Écosystème, cohérence avec l'environnement, lisibilité
CLITyper / ClickCommandes run, approve, reject, amend, status, regenerate
RegistreGit (contenu) + SQLite (métadonnées) — décision D1Traçabilité native du contenu, recherche efficace des métadonnées
LLMDeepSeek (API OpenAI-compatible)Fournisseur configuré par défaut ; deepseek-v4-flash pour génération, modèle supérieur si besoin
Génération documentsMarkdown + schémas Mermaid (diagrammes C4)Versionnable, diffable, convertible
TestspytestPyramide de tests du harnais lui-même (les tests du harnais ne sont pas générés par le harnais à ce stade)

7.2 Structure du dépôt

helios/
├── cli.py                  # commandes run/approve/reject/amend/status/regenerate
├── orchestrateur.py        # séquencement, retry, escalade, impact
├── boucle_agent.py         # boucle générique : contexte → plan → génération → auto-vérif → publication
├── registre/
│   ├── git_store.py          # écriture contenu (Git)
│   ├── sqlite_store.py       # métadonnées, transitions, dépendances
│   └── machine_etats.py      # statuts + transitions (annexe A V3)
├── agents/
│   ├── cadrage.py
│   ├── specifications.py
│   └── architecture.py
├── garde_fous.py          # conformité référentiel, cohérence terminologique, couverture
├── referentiels.yaml      # config type ↔ référentiel (étape 1, section 6)
├── tests/                  # pytest : machine à états, registre, garde-fous, orchestration
└── artefacts/             # dépôt Git des contenus, par famille
    ├── cadrage/  spec/  archi/  transverse/

7.3 Modèle de données SQLite (sous-ensemble étape 2)

artefacts(id TEXT PK, type TEXT, version TEXT, statut TEXT,
          auteur TEXT, cree_le TEXT, modifie_le TEXT, valide_le TEXT,
          valide_par TEXT, contenu TEXT, empreinte TEXT, tags TEXT)
transitions(id INTEGER PK, artefact_id TEXT FK, de TEXT, vers TEXT,
             le TEXT, par TEXT, commentaire TEXT)   -- append-only
dependances(artefact_id TEXT FK, lien TEXT, cible TEXT)  -- derive_de / conforme_a / valide_par
garde_fous(artefact_id TEXT FK, verif TEXT, resultat TEXT, detail TEXT)

8Scénario de bout en bout (jeu de test)

Le scénario de validation de l'étape 2, exécuté en conditions réelles avec un petit projet fictif :

8.1 Projet de test : « Gestion de budget personnel »

ÉtapeAttenduCritère de succès
1. helios run demande.yamlProjet créé, 4 artefacts cadrage.* générésTous les artefacts passent les garde-fous et atteignent en_revue
2. helios statusListe les artefacts en attenteLe cahier des charges apparaît avec résumé exécutif
3. helios amend cadrage.cahier-des-charges -m "ajouter plafond de dépense"Régénération cibléeNouvelle version avec l'exigence ajoutée, dépendances conservées
4. helios approve cadrage.cahier-des-chargesPC1 validé, flux débloquéStatut valide, transition journalisée avec commentaire
5. Génération specs puis archispec.* puis archi.* produits dans l'ordreChaque spec référence les exigences EX-xxx ; chaque ADR est autonome
6. helios approve archi.architecturePC3 validéStatut valide
7. Amendement amont (test propagation)Modifier cadrage.cahier-des-charges (valide → brouillon)helios status liste specs et archi comme impactés
8. helios regenerate spec.fonctionnellesRégénération manuelle avalLes specs reflètent le nouveau cahier des charges
Métrique de l'étape

Le jeu de test doit être rejoué intégralement après chaque modification du harnais (régression) : c'est le premier noyau de tests tests/test_etape2_e2e.py.

9Critères de complétude de l'étape 2

L'étape 2 est considérée terminée lorsque :

10Décisions à valider

Ce livrable introduit des choix de conception à confirmer avant implémentation (point de contrôle humain de l'étape 2).

Validation — 1 août 2026. Décisions D6 → D10 toutes validées par Hugues (point de contrôle humain de l'étape 2). Les choix retenus sont signalés en gras dans le tableau ci-dessous. Ce document passe au statut Validé — l'implémentation de l'étape 2 démarre.

#DécisionOptionsRecommandation
D6Inclusion de PC3 (revue d'architecture) dès l'étape 2Oui, dès maintenant / Non, à l'étape 3Oui — une erreur d'architecture coûte cher ; deux suspensions humaines restent légères
D7Modèle LLM par défaut pour les agentsdeepseek-v4-flash seul / flash + pro (pro pour architecture)flash pour cadrage+specs, pro pour architecture — maîtrise des coûts (V3 §10.1)
D8Format des artefacts documentsMarkdown seul / Markdown + Mermaid / HTMLMarkdown + Mermaid — versionnable, diffable, diagrammes C4
D9Validation des specs (agent Spécifications)Aucun contrôle dédié / contrôle humain léger (PC3-bis) / contrôle par l'agent Architecture (revue croisée)Revue croisée par l'agent Architecture — sans coût humain supplémentaire, conforme au principe de recoupement V3
D10Emplacement du projetGitHub (koandko93/MyHelios) / dépôt local / GitLabGitHub — préférence pour les nouveaux projets ; branches main + her (workflow habituel)
Prochaine étape

Une fois ce livrable validé, l'implémentation de l'étape 2 démarre : dépôt Git, registre (Git+SQLite), boucle agentique, les trois agents, PC1/PC3, puis le jeu de test de bout en bout.