94e9365cea
AGENTS_EXISTING_ASSETS.md §8 + fiche 03_agents/mobile affirmaient le runtime
courant « Expo SDK 54 · React 19.1.0 · RN 0.81.5 (upgrade 2026-07) EN PLACE ».
Faux : la directive Michel 85d2fa3 (audit 2026-08-03) + le package.json réel
vérifié disent Expo ~51.0.0 / React 18.2.0 / RN 0.74.5 / expo-router ~3.5.0,
l'upgrade 54 abandonné le 2026-07-27 (le backup native.bak-upgrade54-* est resté
sur ~51). Classe interdite CLAUDE.md « documenter sans vérifier existence
courante » + #6. Corrigé en distinguant runtime ACTUEL (51) vs cible REBUILD S5
(54, roadmap — décision P0 ouverte, non tranchée). Module mobile/app_config
(byte-gaté Expo 54 = cible) + roadmap NON touchés (corrects). Versions ungated
(vérifié : aucun gate ne pinne 0.81.5/19.1.0/18.2.0). Signal roadmap-vs-réel
surfacé à Michel dans le log. run_ci.sh 30 PASS 0 FAIL · zéro module · zéro gate.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
140 lines
7.7 KiB
Markdown
140 lines
7.7 KiB
Markdown
# Actifs existants OTOV7 · Mapping vers les 13 agents DTP
|
|
|
|
## Principe : NE PAS REPARTIR DE ZÉRO
|
|
Chaque agent hérite/réutilise les modules déjà présents avant de créer du nouveau code.
|
|
**Interdit** : dupliquer un module déjà fonctionnel.
|
|
**Obligatoire** : refactorer & améliorer les modules existants dans le mandat.
|
|
|
|
---
|
|
|
|
## 1. BIM Agent — ressources existantes
|
|
- `/opt/oto/otoia/capabilities/aec.py` — orchestrateur AEC (Blender/Bonsai/IFC/Speckle/Flux) ⭐
|
|
- `/opt/oto/oto_module_bim_compras.py` — génération BIM compras/quantitatifs
|
|
- `/opt/oto/claude_code_work/otov7-platform/oto_module_bim_compras.py`
|
|
- `/opt/oto/ifc_to_glb.py` — export IFC → GLB pour viewer
|
|
- **RunPod ComfyUI** endpoint `t68akvx80wv092` (Flux dev fp8)
|
|
|
|
## 2. Faisabilité Agent — ressources existantes
|
|
- `/opt/oto/oto_agent_faisabilite.py` (compilé pyc) ⭐ AGENT DÉDIÉ
|
|
- `/opt/oto/oto_orchestrateur_faisabilite.py` (compilé pyc)
|
|
- `/opt/oto/oto_module_etudes_faisabilite_real.py`
|
|
- `/opt/oto/oto_module_execution_faisabilite.py`
|
|
- `/opt/oto/oto_module_faisabilites_pages.py`
|
|
- `/opt/oto/oto_module_faisabilites_viewer.py`
|
|
- `/opt/oto/otoia/capabilities/knowledge/faisabilite_4_volets_standard.md` ⭐ standard 4 volets
|
|
- `/opt/oto/otoia/otoia_batch_projets.py` — batch faisabilités multi-projets
|
|
|
|
## 3. Rendu Agent — ressources existantes
|
|
- `/opt/oto/scripts/gen_renders_flux.py` — génération renders Flux batch
|
|
- `/opt/oto/scripts_phase2/executive_hero_flux.py` — hero renders exécutifs
|
|
- `/opt/oto/flux_workspace/models/flux1-dev-fp8.safetensors` — modèle local
|
|
- `/opt/oto/data_room/*/60_photos_site/` — archives rendus par projet
|
|
|
|
## 4. ERPNext Backend Agent — ressources existantes
|
|
- Site actif : `frontend` (Docker `erpnext-backend-1`)
|
|
- Apps : `otov7_platform` (0.0.1 develop) + `otov7_construction` (0.0.1) + `erpnext` v15.112.0 + `frappe` v15.112.0
|
|
- `/home/frappe/frappe-bench/apps/otov7_platform/otov7_platform/` — modules OTOV7 (crm/, crm_native/, api/, config/, dashboards_attach.py, audit_console.py, etc.)
|
|
|
|
## 5. Frontend Console Agent — ressources existantes
|
|
- `/opt/oto/portal/*.html` — pages portail (crm.html, choisir-mon-unite.html, enregistrement-nom-projet.html)
|
|
- `/home/frappe/frappe-bench/apps/otov7_platform/otov7_platform/www/` — pages Frappe (wag-home, waf-home, pole/, projets/, systeme/, rejoindre)
|
|
- Design tokens luxury `#0a0a12` + `#f0b429` · Fraunces + Cormorant Garamond
|
|
- 5 logos officiels : WA · AC · Consortium ECR DR · Helios RD · Ploutos
|
|
|
|
## 6. CRM Agent — ressources existantes
|
|
- `/opt/oto/portal/crm.html` — dashboard CRM luxury LIVE (créé 2026-07-28) ⭐
|
|
- `otov7_platform/crm/` + `otov7_platform/crm_native/` — DocTypes CRM
|
|
- ERPNext natif : `/app/crm-lead`, `/app/opportunity`, `/app/customer`, `/app/quotation`, `/app/sales-order`, `/app/dashboard-view/CRM`
|
|
- `/hub-de-vente` — vue consolidée toutes ventes
|
|
|
|
## 7. SEO Agent — ressources existantes
|
|
- `/opt/oto/otoia/capabilities/seo_autonome/mission_seo_indexation.md` ⭐ MISSION ACTIVE
|
|
- `/opt/oto/otoia/tasks_queue/task_seo_indexation_20260727.json` — tâche worker
|
|
- `/opt/oto/otoia/reports/seo_indexation_20260727_INITIAL.md` — rapport
|
|
- **Systemd** `otoia-tasks.service` + `.timer` (hourly) ⭐ ORCHESTRATION AUTO
|
|
- Google Search Console configuré · otov7.com trilingue FR/EN/ES
|
|
|
|
## 8. Mobile Agent — ressources existantes
|
|
- `/opt/oto/oto_module_mobile_download.py`
|
|
- `/opt/oto/oto_module_mobile_api.py`
|
|
- `/opt/oto/staging/mobile_rbac/deploy_mobile_rbac.sh`
|
|
- `/opt/oto/staging/mobile_rbac/seed_mobile_rbac.py`
|
|
- `/opt/oto/static/oto_mobile.js`
|
|
- Expo SDK 51.0.0 + React 18.2.0 + React Native 0.74.5 + expo-router ~3.5.0 (runtime **actuel** vérifié `/opt/oto/mobile/native/package.json`) — la tentative d'upgrade Expo 54 (React 19.1.0 / RN 0.81.5) a été **abandonnée le 2026-07-27** (backup `native.bak-upgrade54-*` toujours sur ~51). Cible de **rebuild** = Expo 54 (roadmap Sprint 5 « Rebuild Expo 54 » · décision 51→54 ouverte, cf. `DIRECTIVE_MOBILE_STORES_20260803.md` P0)
|
|
- EAS builds iOS/Android · Apple Dev + Google Play Console configurés
|
|
|
|
## 9. IFC/Speckle Agent — ressources existantes
|
|
- `/opt/oto/ifc_to_glb.py` — conversion IFC → GLB
|
|
- `/opt/oto/oto_module_plans_ifc.py` (compilé pyc)
|
|
- **Speckle serveur** : `bim-cloud.otov7.com` ⭐
|
|
- Section `/choisir-mon-unite` : viewer 3D Speckle iframe intégré
|
|
|
|
## 10. ONAPI/Legal Agent — ressources existantes
|
|
- `/opt/oto/oto_module_confotur_application.py` ⭐ (+ .pristine backup)
|
|
- `/opt/oto/data_room/P05/enregistrement_onapi_20260728/` — drafts P05
|
|
- `/opt/oto/data_room/P07/enregistrement_onapi_20260728/` — drafts P07 (Classes 36/37/43)
|
|
- Compupar e-CF DGII configuré · UAF conformité RD
|
|
|
|
## 11. DevOps Agent — ressources existantes (systemd services)
|
|
- `oto-autopilot.service` — Autopilot 24/7 Daemon
|
|
- `oto-bankable-queue.service` — Bankable Overnight Queue
|
|
- `oto-master-orchestrator.service` — Master Orchestrator 24/7
|
|
- `oto-night-audit.service` — Night Audit exhaustive endpoint testing
|
|
- `otoia-tasks.service` + `.timer` — worker OTOIA
|
|
- Gitea `http://153.75.250.214:3015`
|
|
- Docker : `erpnext-backend-1` + `erpnext-frontend-1`
|
|
- Cloudflare DNS/CDN · nginx serve `/static/` alias `/opt/oto/sites/static/`
|
|
|
|
## 12. QA Agent — ressources existantes
|
|
- `oto-phase-validator.service` — Phase Validation Worker ⭐
|
|
- `oto-night-audit.service` — Night Audit exhaustive endpoint testing ⭐
|
|
- `oto-otoai-fullaudit.service` — OtoIA Night Active Repair (clic-tu-clic + Mistral patcher)
|
|
- `/opt/oto/otoia/reports/` — rapports quotidiens
|
|
- `otov7_platform/audit_console.py` + `audit_helper.py` — audit console
|
|
- `/qa` page LIVE (QA Validator Console)
|
|
|
|
---
|
|
|
|
## OTOIA racine (agent orchestrateur central)
|
|
- `/opt/oto/otoia/capabilities/aec.py` — AEC pipeline
|
|
- `/opt/oto/otoia/capabilities/knowledge.py` — RAG
|
|
- `/opt/oto/otoia/capabilities/prompt_engine.py` — génération prompts
|
|
- `/opt/oto/otoia/capabilities/chat.py` — conversation
|
|
- `/opt/oto/otoia/worker_tasks_queue.py` — worker autonome
|
|
- Voix Amélie QC (ElevenLabs multilingual_v2)
|
|
- WhatsApp Business +18495172355 (Meta Cloud API LIVE)
|
|
- Personal WhatsApp Michel +18296296385 pour rapports
|
|
|
|
## Règles d'intégration pour Claude Code
|
|
1. **Lire ce fichier AVANT** de coder quoi que ce soit
|
|
2. **Refactorer** les modules existants → ne pas dupliquer
|
|
3. **Systemd services** déjà en place → réutiliser, ne pas créer nouveau
|
|
4. **Capabilities OTOIA** = fondation → chaque agent DTP branche dessus
|
|
5. **Éliminer le vieux** : si un module est obsolète, l'archiver dans `_ARCHIVES/`, ne pas laisser deux versions
|
|
|
|
## 13. Publiciste Agent — NOUVEAU
|
|
**Rôle** : Maintient automatiquement le site public `vente.otov7.com` à partir des faisabilités.
|
|
|
|
> **Statut mandat** : la fiche + le générateur déterministe côté dépôt sont **LIVRÉS**
|
|
> ([`03_agents/publiciste/AGENT.md`](03_agents/publiciste/AGENT.md) ·
|
|
> [`05_deliverables_mvp/publiciste/`](05_deliverables_mvp/publiciste/README.md), gated
|
|
> 100/100 · suite de régression `publiciste`). La liste **« À développer »** ci-dessous
|
|
> recense le **runtime VPS** (orchestrateur `publiciste.py`, triggers systemd/inotify,
|
|
> notifications WhatsApp) qui reste hors périmètre worker (`CLAUDE.md` #8).
|
|
|
|
**Ressources existantes à réutiliser** :
|
|
- `/opt/oto/config/projets_config.json` (déjà en place)
|
|
- `/opt/oto/config/projets_editor.py` (API GET/POST déjà en place)
|
|
- OTOIA capabilities (aec.py + knowledge.py + prompt_engine.py)
|
|
- Systemd `otoia-tasks.timer` (pattern à réutiliser)
|
|
- Éditeur admin `/console/edit-projets` (fallback manuel)
|
|
|
|
**À développer** :
|
|
- `otoia/capabilities/publiciste.py` — orchestrateur
|
|
- Parser faisabilité → JSON
|
|
- Générateur HTML → site public
|
|
- Triggers systemd + inotify
|
|
- Notifications WhatsApp
|
|
|
|
**Sprint** : Semaine 2 à 8 du mandat DTP
|