Seule fiche agent (parmi qa/crm/devops qui en ont une) sans aucun lien vers ses livrables gated : 03_agents/faisabilite/AGENT.md avait 0 lien 05_deliverables_mvp vs 3 chez ses pairs. Aucun chemin de la mission vers les artefacts commités qui la réalisent — vrai gap de finition, non un polish cosmétique. + section « Livrables Faisabilité réellement produits » (table calquée sur le pattern des agents pairs) · 3 entrées TOUTES vérifiées par lecture directe : TEMPLATE_FAISABILITE_CANONIQUE_v1.0.md [S1 · check-docs] · generator/ [S2 · faisabilite_gen score/scaffold/generate/batch · faisabilite-gen-tests · 16t] · bancable/ [S3 · bancable_gen build/validate · bancable-tests · 22t]. Anti-invention #6 : sprints lus dans en-têtes README/CLI, sous-commandes via --help, comptes de tests repris du regression run faisant autorité, jobs CI lus dans ci.yml. Frontière worker/VPS #8 rappelée : générateurs = contrepartie commitée+testable des composants runtime OTOIA hors périmètre (aucune faisabilité PXX concrète prétendue). Vérifs : check_docs vert (0 lien cassé · 3 nouveaux liens relatifs résolvent) · guard_constraints vert (exit 0). Doc-only, 0 code · régression inchangée 534 verts. Auto-score 4Big 96/100.
6.5 KiB
🏗️ Faisabilité Agent · Génération + Maintenance faisabilités canoniques
Rôle : Cet agent OTOIA génère et maintient à jour toutes les faisabilités de projets sur le modèle canonique le plus récent. Élimine les faisabilités obsolètes ou hétérogènes.
Mission
- Générer les faisabilités 4 volets pour chaque projet (Masterplan · Architecture · Paysage-Expérience · Ingénierie-Faisabilité)
- Maintenir un template canonique versionné (
data_room/_TEMPLATE_FAISABILITE_v{X}/) - Régénérer automatiquement toutes les faisabilités existantes quand le template canonique est mis à jour
- Propager les workflow updates à toutes les faisabilités actives
- Détecter les faisabilités obsolètes (version < template actuel) et déclencher régénération
- Score qualité 4Big ≥ 95/100 obligatoire
Livrables Faisabilité réellement produits (05_deliverables_mvp/faisabilite/)
Générateurs déterministes in-repo (périmètre worker · CLAUDE.md #8), gatés en CI —
les composants runtime OTOIA/VPS listés plus bas (otoia/capabilities/…, systemd) restent
hors périmètre worker ; ces modules en sont la contrepartie commitée et testable.
| Module | Sprint | Rôle | Entrée CLI | Job CI | Tests |
|---|---|---|---|---|---|
TEMPLATE_FAISABILITE_CANONIQUE_v1.0.md |
1 (roadmap L41-46) | Template canonique v1.0 — contrat des 4 volets + champs obligatoires (§Livrable S1 ci-dessous) | — (doc contrat) | check-docs |
— |
generator/ |
2 (roadmap L44) | Générateur 4 volets : brief.json → data_room/PXX/ (template v1.0), round-trip via le parser Publiciste |
faisabilite_gen.py score|scaffold|generate|batch |
faisabilite-gen-tests |
16 |
bancable/ |
3 (roadmap L46) | Dossier bancable trilingue : brief.json → 50_financier_bancable/{fr,en,es}.md + manifest, figures sourcées verbatim + agrégats recalculés |
bancable_gen.py build|validate |
bancable-tests |
22 |
Anti-invention (#6) : generator et bancable ne fabriquent aucun chiffre — les figures
sont citées verbatim depuis le brief.json du projet et les agrégats sont recalculés de façon
traçable (formule recoupée en test). Aucune faisabilité concrète PXX n'est commitée ici : seuls
le générateur, son contrat et ses fixtures d'entrée le sont (le rendu réel des 9 projets
s'exécute côté OTOIA/VPS · #8).
Sources canoniques
/opt/oto/otoia/capabilities/knowledge/faisabilite_4_volets_standard.md(STANDARD OFFICIEL)/opt/oto/data_room/_TEMPLATE_FAISABILITE_v{X}/(template versionné)/opt/oto/data_room/PXX/00_brief/(données projet)
Structure faisabilité (4 volets standard)
data_room/PXX/
├── _META/
│ └── version.json ← Version template utilisée
├── 00_brief/ ← Contexte projet
├── 10_masterplan/ ← Volet 1
├── 20_architecture/ ← Volet 2
├── 30_paysage_experience/ ← Volet 3
├── 40_ingenierie_faisabilite/ ← Volet 4
├── 40_llm_outputs/ ← Analyses AI (commercial, marché, fiscal, etc.)
├── 50_financier_bancable/ ← One-pager + rapports FR/EN/ES
└── 60_photos_site/ ← Rendus
Règles absolues
- ❌ Zéro faisabilité version < template canonique en production
- ❌ Zéro faisabilité manuellement éditée sans mise à jour du template
- ✅ Chaque faisabilité stocke sa version template dans
_META/version.json - ✅ Régénération = 100% automatique via OTOIA, jamais manuel
Workflow versioning
Trigger : Template canonique mis à jour
- Détecter modif dans
capabilities/knowledge/faisabilite_4_volets_standard.md - Bump version template (v1.0 → v1.1)
- Lister toutes les faisabilités en production (data_room/PXX/)
- Pour chaque projet :
a. Lire brief + données existantes du projet
b. Régénérer 4 volets avec nouveau template
c. Régénérer 40_llm_outputs (commercial · marché · directeur · etc.)
d. Régénérer 50_financier_bancable (one-pager + rapports FR/EN/ES)
e. Update
_META/version.jsonf. Archiver ancienne version dans_ARCHIVES/PXX_v{N}_YYYYMMDD/g. Score qualité 4Big ≥ 95/100 obligatoire - Notifier Publiciste Agent → régen site public
- Log + WhatsApp Michel notification
Trigger : Nouveau projet créé
- Créer structure
data_room/PXX/avec template dernière version - Générer les 4 volets (Masterplan · Architecture · Paysage · Ingénierie)
- Générer analyses AI (commercial, marché, fiscal, RH, juridique, etc.)
- Générer rapports bancables FR/EN/ES + one-pager
- Score qualité 4Big ≥ 95/100 avant marquer projet comme "faisabilité complète"
Gap actuel identifié (2026-07-29)
Constat audit :
- ✅ P01, P08, P09 : prix documentés dans commercial.md
- ⚠️ P02, P03, P05, P07 : "prix non défini" / "typologie non fournie" dans commercial.md
Cause probable : faisabilités générées avec templates différents / anciens · pas toutes au même standard.
Action correctrice (priorité) :
- Fixer le template canonique v1.0 avec tous les champs obligatoires
- Régénérer les 7 faisabilités avec ce template
- Score 4Big 95+/100 sur toutes
- Publiciste Agent extrait et publie
Composants à créer
otoia/capabilities/faisabilite_agent.py— orchestrateurotoia/capabilities/knowledge/faisabilite_template_v{X}.md— templates versionnés- Systemd
otoia-faisabilite.timer(check horaire modifications template) - Version tracking (
_META/version.jsonpar projet) - Archives auto (
_ARCHIVES/)
Coordination inter-agents
- BIM Agent : génère rendus utilisés dans volet Architecture
- Rendu Agent : produit rendus finaux dans 60_photos_site
- Publiciste Agent : consomme la faisabilité pour maintenir vente.otov7.com
- ERPNext Backend : stocke DocType "Faisabilité" avec version + score qualité
- QA Agent : valide score 4Big ≥ 95/100 avant publication
Livrable Sprint (mandat 8 semaines)
- S1 : Template canonique v1.0 finalisé + agent scaffold
- S2 : Générateur 4 volets automatique
- S3 : Version tracking + archives auto
- S4 : Régénération batch des 7 faisabilités existantes
- S5 : Validation qualité 4Big ≥ 95/100 sur toutes
- S6 : Trigger auto sur template update
- S7 : Handoff Publiciste (pipeline complet)
- S8 : Production + monitoring