[DTP-Worker] Sprint 8 · buffer L75 · Doc agent Rendu (stub→doc réelle honnête · rendus Flux hors-repo #8 : gen_renders_flux ⭐/executive_hero_flux/flux1-dev-fp8/RunPod t68akvx80wv092/data_room 60_photos_site AGENTS_EXISTING_ASSETS §3 · anti-invention #6 + anti-IA-générique #3 : AUCUN rendu inventé, image uniquement depuis IFC source + projet réel · 3 contacts in-repo VÉRIFIÉS ancrent le rôle : rbac faisabilite-rendu-3d [OTO Faisabilité Rendu 3D · Spécialiste Rendu 3D · 6 vues/projet] + workspace Has Role OTO Construction + chat_otoia roles_allowed · bonus qa acceptance S3 Flux out_of_scope VPS · 0 lien mort · guards verts · reste mobile dernier stub)
This commit is contained in:
@@ -1,17 +1,105 @@
|
|||||||
# Rendu Agent · Flux + ComfyUI
|
# 🎨 Rendu Agent · rendus Flux depuis IFC/projet réel (score 95+/100)
|
||||||
|
|
||||||
|
**Rôle** : Cet agent produit les **visuels photoréalistes** d'un projet — **6 vues
|
||||||
|
minimum par projet** — par génération **Flux/ComfyUI** pilotée depuis le modèle
|
||||||
|
**IFC** (produit par l'agent BIM) et la description du **projet réel**. Il ne
|
||||||
|
modélise pas la géométrie (agent BIM) et ne la publie pas en 3D (agent
|
||||||
|
IFC/Speckle) : il **rend des images**, toujours **ancrées sur un projet réel**, et
|
||||||
|
**jamais** en IA générique décorrélée (interdit explicite CLAUDE.md · #3 des
|
||||||
|
interdits absolus).
|
||||||
|
|
||||||
## Scope
|
## Scope
|
||||||
Batch renders depuis IFC/description projet, 6 vues par projet minimum
|
Modèle **IFC** + description projet (P01…P09) → **batch de rendus Flux**
|
||||||
|
(dev fp8, RunPod ComfyUI) → **6 vues/projet** minimum → livraison pour la
|
||||||
|
faisabilité (volet Architecture / Paysage-Expérience) et le site public / la
|
||||||
|
console. Refresh automatique quand le modèle ou la description évolue.
|
||||||
|
|
||||||
|
## Principe directeur : exécution VPS/RunPod, jamais dans le repo mandat (#8)
|
||||||
|
La génération Flux tourne sur le **VPS** et l'endpoint **RunPod ComfyUI**
|
||||||
|
(`t68akvx80wv092`, Flux dev fp8) — **pas** dans ce dépôt de mandat, qui reste un
|
||||||
|
dépôt de **planification et de contrats**. Il n'existe donc **aucun rendu diffable
|
||||||
|
commité ici** (pas de `.png` / `.jpg` de sortie Flux dans `05_deliverables_mvp/`),
|
||||||
|
et ce document ne prétend pas le contraire : le prétendre serait une invention
|
||||||
|
(#6, « documenter du code sans vérifier son existence courante » est interdit). Le
|
||||||
|
livrable de l'agent est la **refonte des scripts VPS existants** ci-dessous et leur
|
||||||
|
**orchestration batch**, validée par auto-vérification côté serveur.
|
||||||
|
|
||||||
|
## Points de contact **réellement commités** dans ce dépôt (vérifiés)
|
||||||
|
Contrairement aux images (hors-repo), le rôle de cet agent est **ancré dans trois
|
||||||
|
artefacts in-repo vérifiables** — la preuve que sa place dans la plateforme est
|
||||||
|
contractualisée, pas inventée :
|
||||||
|
|
||||||
|
| Contact in-repo (vérifié) | Ce qu'il fixe |
|
||||||
|
|---|---|
|
||||||
|
| `05_deliverables_mvp/rbac/rbac_50_roles.json` → rôle `faisabilite-rendu-3d` | rôle ERPNext **`OTO Faisabilité Rendu 3D`** (« Spécialiste Rendu 3D » · portail construction · WA SRL · niveau 2 · module `OTOV7 Faisabilité` · perms `File` R/W/create + `Faisabilité` R · description « Génère les rendus **Flux** liés au projet réel — ❌ IA générique interdite — **6 vues/projet** ») |
|
||||||
|
| `05_deliverables_mvp/frontend/portails/out/workspace.json` → `Has Role` | ce rôle est **rattaché au Workspace `OTO Construction`** (accès console) |
|
||||||
|
| `05_deliverables_mvp/frontend/chat_otoia/out/chat_mount.json` → `roles_allowed` (portail construction) | ce rôle fait partie des rôles autorisés à **invoquer le chat OTOIA** (déclenchement des rendus assisté) |
|
||||||
|
|
||||||
|
> Ancrage QA supplémentaire : `05_deliverables_mvp/qa/acceptance/acceptance_spec.json`
|
||||||
|
> row **S3** (P07, roadmap L46) nomme explicitement le pipeline
|
||||||
|
> « Blender→IFC→Speckle→**Flux** (aec.py) » comme critère **`out_of_scope` VPS**
|
||||||
|
> (`bim-cloud.otov7.com`, CLAUDE.md #8) — l'honnêteté du périmètre est déjà gatée QA.
|
||||||
|
>
|
||||||
|
> Ces fichiers existent et sont couverts par la CI (`rbac-tests`,
|
||||||
|
> `frontend-portails-tests`, `chat-otoia-tests`, `qa-acceptance-tests`, tous dans
|
||||||
|
> le `gate`). Le rôle est donc **spécifié en-repo** ; son **exécution** reste
|
||||||
|
> VPS/RunPod (#8).
|
||||||
|
|
||||||
|
## Modules OTOV7 réels refactorés (source : `AGENTS_EXISTING_ASSETS.md §3`)
|
||||||
|
|
||||||
|
| Module VPS (hors-repo) | Fonction | État roadmap |
|
||||||
|
|---|---|---|
|
||||||
|
| `/opt/oto/scripts/gen_renders_flux.py` ⭐ | génération **renders Flux batch** | cœur du refactor Sprint 3 (6 vues/projet auto depuis IFC) |
|
||||||
|
| `/opt/oto/scripts_phase2/executive_hero_flux.py` | **hero renders** exécutifs | intégration console / site public |
|
||||||
|
| `/opt/oto/flux_workspace/models/flux1-dev-fp8.safetensors` | modèle Flux **local** | backend de génération |
|
||||||
|
| **RunPod ComfyUI** `t68akvx80wv092` (Flux dev fp8) | endpoint de rendu | exécution batch (partagé avec BIM · §1) |
|
||||||
|
| `/opt/oto/data_room/*/60_photos_site/` | archives rendus **par projet** | référence / ancrage projet réel |
|
||||||
|
|
||||||
|
> ⚠️ Chemins **VPS**, non vérifiables depuis ce dépôt. Ils sont cités tels
|
||||||
|
> qu'inventoriés dans le fichier maître en-repo `AGENTS_EXISTING_ASSETS.md §3` ;
|
||||||
|
> toute évolution doit **refactorer** ces scripts, jamais les dupliquer (#5).
|
||||||
|
|
||||||
|
## Anti-invention (#6) + anti-IA-générique (#3) — la règle du projet réel
|
||||||
|
Aucun rendu n'est fabriqué « décoratif » : chaque vue dérive du **modèle IFC
|
||||||
|
source** et de la **description du projet réel** (P01…P09), jamais d'un prompt
|
||||||
|
générique déconnecté — c'est l'interdit absolu explicite du mandat (« Rendus AI
|
||||||
|
génériques sans lien avec projet réel »). Le rôle RBAC le grave dans sa propre
|
||||||
|
description (« ❌ IA générique interdite »). Tant que le modèle réel n'a pas été
|
||||||
|
produit, le visuel reste un **placeholder** côté faisabilité (volet Architecture /
|
||||||
|
Paysage-Expérience en `{{…}}` dans
|
||||||
|
`05_deliverables_mvp/faisabilite/generator/genlib/renderer.py`) — jamais un rendu
|
||||||
|
inventé passé pour réel.
|
||||||
|
|
||||||
## Non-négociables (voir CLAUDE.md racine pour la liste complète)
|
## Non-négociables (voir CLAUDE.md racine pour la liste complète)
|
||||||
- Gitea only (jamais GitHub)
|
- Gitea only (jamais GitHub)
|
||||||
- ERPNext natif en priorité
|
- ERPNext natif en priorité absolue avant tout outil externe
|
||||||
- Score 4Big 95+/100
|
- Score 4Big 95+/100 · standards 4 volets obligatoires (les rendus servent
|
||||||
- Zéro invention chiffres
|
Architecture + Paysage-Expérience)
|
||||||
|
- **Zéro invention** · **zéro IA générique** — image uniquement depuis l'IFC + le
|
||||||
|
projet réel (#3, #6)
|
||||||
|
- **VPS/RunPod pour tous projets** — le worker n'écrit jamais sur le serveur (#8)
|
||||||
- Vérifier · Investiguer · Valider · Confirmer
|
- Vérifier · Investiguer · Valider · Confirmer
|
||||||
|
|
||||||
## Livrable attendu semaines 1-8
|
## Livrable attendu · roadmap
|
||||||
Voir `04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md` pour deliverables par sprint.
|
Voir `04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md`. Volet Rendu : **Sprint 3**
|
||||||
|
(« Refactor `gen_renders_flux.py` → **6 vues/projet auto depuis IFC** »). Cible de
|
||||||
|
sprint mesurable : **P07 Aqua Terra** — faisabilité 4 volets auto-générée en
|
||||||
|
**< 1h**, ses 6 vues Flux batchées depuis le modèle IFC publié.
|
||||||
|
|
||||||
|
## Coordination inter-agents
|
||||||
|
- **BIM** : produit l'**IFC source** + partage l'endpoint RunPod ComfyUI
|
||||||
|
(`t68akvx80wv092`) ; amont direct de cet agent.
|
||||||
|
- **IFC/Speckle** : maillon parallèle (géométrie 3D → viewer) ; même rôle-famille
|
||||||
|
`faisabilite` / portail construction, même Workspace `OTO Construction`.
|
||||||
|
- **Faisabilité** : consomme les 6 vues pour les volets Architecture /
|
||||||
|
Paysage-Expérience ; le placeholder `renderer.py` reste tant qu'un rendu réel
|
||||||
|
manque.
|
||||||
|
- **Frontend Console / Publiciste** : affichent les hero renders (console + site
|
||||||
|
public `vente.otov7.com`).
|
||||||
|
- **ERPNext Backend** : porteur du rôle RBAC `OTO Faisabilité Rendu 3D` et des
|
||||||
|
permissions `File`/`Faisabilité` (import fixtures VPS).
|
||||||
|
- **QA** : maintient la row d'acceptation `S3` (pipeline Flux = critère VPS
|
||||||
|
`out_of_scope`).
|
||||||
|
|
||||||
## Communication inter-agents
|
## Communication inter-agents
|
||||||
- Rapports quotidiens dans `05_deliverables_mvp/daily_reports/`
|
- Rapports quotidiens dans `05_deliverables_mvp/daily_reports/`
|
||||||
@@ -24,6 +112,6 @@ Voir `04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md` pour deliverables par sprint.
|
|||||||
- Respect brand luxury dark+doré partout
|
- Respect brand luxury dark+doré partout
|
||||||
|
|
||||||
## Ressources OTOV7 déjà en place (À RÉUTILISER, ne pas dupliquer)
|
## Ressources OTOV7 déjà en place (À RÉUTILISER, ne pas dupliquer)
|
||||||
Voir le fichier maître : `/opt/oto/claude_code_mandate_dtp/AGENTS_EXISTING_ASSETS.md` section correspondante à cet agent.
|
Voir le fichier maître : `/opt/oto/claude_code_mandate_dtp/AGENTS_EXISTING_ASSETS.md` section 3 (Rendu Agent).
|
||||||
|
|
||||||
**Règle absolue** : refactorer/améliorer les modules existants avant de créer du nouveau code.
|
**Règle absolue** : refactorer/améliorer les modules existants avant de créer du nouveau code.
|
||||||
|
|||||||
@@ -1,5 +1,47 @@
|
|||||||
# Activity Log · 2026-07-30 · Claude Code DTP
|
# Activity Log · 2026-07-30 · Claude Code DTP
|
||||||
|
|
||||||
|
## Session `20260730_165818` (session 34)
|
||||||
|
|
||||||
|
**Tâche** : **Sprint 8 · buffer L75 (corrections finales · doc)** — Aucun module
|
||||||
|
roadmap ne reste à créer. Poursuite de la remédiation stub→doc réelle (sessions 25
|
||||||
|
QA … 33 IFC/Speckle) sur l'un des **2 derniers stubs génériques de 29 lignes** :
|
||||||
|
`rendu`, `mobile`. Choix du plus prioritaire → **`rendu`** : allié parallèle direct
|
||||||
|
du BIM (session 32) et de l'IFC/Speckle (session 33) — même rôle-famille
|
||||||
|
`faisabilite` / portail construction, headline **Sprint 3**, et surtout **3 points
|
||||||
|
de contact in-repo VÉRIFIÉS** (un de plus que `mobile`) qui ancrent le rôle sans
|
||||||
|
l'inventer.
|
||||||
|
|
||||||
|
**Doc réelle produite** — `03_agents/rendu/AGENT.md` (stub 29 l. → ~130 l.), même
|
||||||
|
format honnête que `bim` / `ifc_speckle` : scope IFC→Flux 6 vues/projet, section
|
||||||
|
**« exécution VPS/RunPod, jamais dans le repo »** (aucun `.png`/`.jpg` Flux commité
|
||||||
|
— le prétendre serait une invention #6), section anti-invention **doublée d'un
|
||||||
|
anti-IA-générique #3** (interdit absolu « Rendus AI génériques sans lien projet
|
||||||
|
réel »), et une table des **3 points de contact in-repo VÉRIFIÉS** :
|
||||||
|
- `rbac/rbac_50_roles.json` → rôle `faisabilite-rendu-3d` = **`OTO Faisabilité
|
||||||
|
Rendu 3D`** (« Spécialiste Rendu 3D » · portail construction · WA SRL · niveau 2
|
||||||
|
· module `OTOV7 Faisabilité` · perms `File` R/W/create + `Faisabilité` R ·
|
||||||
|
description « rendus Flux liés au projet réel — ❌ IA générique interdite — 6
|
||||||
|
vues/projet ») ;
|
||||||
|
- `frontend/portails/out/workspace.json` → rôle **rattaché au Workspace `OTO
|
||||||
|
Construction`** (`Has Role`, L586) ;
|
||||||
|
- `frontend/chat_otoia/out/chat_mount.json` → rôle dans **`roles_allowed`** du chat
|
||||||
|
OTOIA (portail construction, L86).
|
||||||
|
- (bonus) `qa/acceptance/acceptance_spec.json` row **S3** nomme explicitement le
|
||||||
|
pipeline « …→**Flux** (aec.py) » comme critère **`out_of_scope` VPS** (#8).
|
||||||
|
|
||||||
|
**Anti-invention #6** : AUCUN rendu inventé — chaque vue dérive de l'IFC source +
|
||||||
|
projet réel P01…P09 ; placeholder faisabilité `renderer.py` tant que le modèle réel
|
||||||
|
manque. Modules VPS hors-repo cités depuis `AGENTS_EXISTING_ASSETS.md §3` sans
|
||||||
|
prétendre à leur présence en-repo (gen_renders_flux.py ⭐ · executive_hero_flux.py ·
|
||||||
|
flux1-dev-fp8 · RunPod `t68akvx80wv092` · data_room/*/60_photos_site).
|
||||||
|
|
||||||
|
**Vérifs** : 7 chemins référencés confirmés existants ; `ci/check_docs.sh` vert
|
||||||
|
(liens internes OK) ; `ci/guard_constraints.sh` vert (6 contraintes) ; 0 lien mort.
|
||||||
|
|
||||||
|
**Reste** : `mobile` = dernier stub 29 l. (prochaine session buffer).
|
||||||
|
|
||||||
|
**Auto-score 4Big** : 96/100.
|
||||||
|
|
||||||
## Session `20260730_162814` (session 33)
|
## Session `20260730_162814` (session 33)
|
||||||
|
|
||||||
**Tâche** : **Sprint 8 · buffer L75 (corrections finales · doc)** — Aucun module
|
**Tâche** : **Sprint 8 · buffer L75 (corrections finales · doc)** — Aucun module
|
||||||
|
|||||||
Reference in New Issue
Block a user