Claude Code DTP Worker 6f88383939 [DTP-Worker] Sprint 8 · buffer · Legal/CONFOTUR : cross-cohérence PERMISSIONS répliquée dans la FICHE AGENT 03_agents/onapi_legal/AGENT.md:43-45 — la MÊME table role→portail→actions que le README du module (ventes-confotur (Ventes)→read/write/create/print · legal-onapi (Direction)→read/write/create · legal-directeur (Direction)→read/write/**submit**/report), annoncée « **mot pour mot** les permissions_cibles RBAC des 3 rôles », mais sous une convention DIFFÉRENTE ( / espacé · **submit** en gras) et gatée par RIEN. Le bloc « Legal confotur perms · cross-cohérence » existant ne gate QUE la §Permissions du README du MODULE (legal/confotur/README.md), AVEUGLE à la fiche. Piège #6 : PROMOUVOIR ventes-confotur à submit (élévation de privilège · casse la séparation des pouvoirs dont is_submittable est déduit), RETIRER une action, RÉAFFECTER un portail, RENOMMER un rôle ou AJOUTER une ligne fantôme dans la FICHE la laisse périmée pendant que l'artefact (et le README, lui gaté) disent autre chose → l'agent ONAPI/Legal lirait sa PROPRE doc d'identité mentant sur le jeu de permissions qu'il porte (le risque même que « mot pour mot » promet d'écarter) — « vert trompeur » qu'aucune suite tests/ (FONCTIONS de mapping RBAC, jamais la prose de fiche) n'attrape. Classe explicitement notée en mémoire (agent-fiche-role-attrs-ungated) : une fiche peut restituer la MÊME donnée data-derived qu'un README déjà gaté, sur une surface distincte. Gate ajouté (bloc « cross-cohérence PERMISSIONS répliquée dans la FICHE AGENT ») : RÉUTILISE conf_perm_by_id/conf_portail_by_id déjà dérivés du MANIFEST par le bloc README (ZÉRO duplication du contrat #6) ; regex tolérant / et ** ; par rôle portail (casse normalisée) ET jeu d'actions exigés EXACTS (set-diff absent ET en trop) ; identité d'ensemble fiche⇔MANIFEST (aucun rôle fantôme/manquant). 6 morsures vérifiées (fiche promeut ventes-confotur→submit · fiche retire create de legal-onapi · fiche réaffecte portail Ventes→Direction · fiche renomme legal-directeur→legal-boss ligne INTROUVABLE+fantôme · sous-liste entière supprimée · artefact promeut submit fiche stale = le vrai silent green), restauré vert, 7 gates re-verts.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-01 06:07:34 +00:00
[DTP-Worker] Sprint 8 · buffer · Legal/CONFOTUR : cross-cohérence PERMISSIONS répliquée dans la FICHE AGENT 03_agents/onapi_legal/AGENT.md:43-45 — la MÊME table role→portail→actions que le README du module (ventes-confotur (Ventes)→read/write/create/print · legal-onapi (Direction)→read/write/create · legal-directeur (Direction)→read/write/**submit**/report), annoncée « **mot pour mot** les permissions_cibles RBAC des 3 rôles », mais sous une convention DIFFÉRENTE ( / espacé · **submit** en gras) et gatée par RIEN. Le bloc « Legal confotur perms · cross-cohérence » existant ne gate QUE la §Permissions du README du MODULE (legal/confotur/README.md), AVEUGLE à la fiche. Piège #6 : PROMOUVOIR ventes-confotur à submit (élévation de privilège · casse la séparation des pouvoirs dont is_submittable est déduit), RETIRER une action, RÉAFFECTER un portail, RENOMMER un rôle ou AJOUTER une ligne fantôme dans la FICHE la laisse périmée pendant que l'artefact (et le README, lui gaté) disent autre chose → l'agent ONAPI/Legal lirait sa PROPRE doc d'identité mentant sur le jeu de permissions qu'il porte (le risque même que « mot pour mot » promet d'écarter) — « vert trompeur » qu'aucune suite tests/ (FONCTIONS de mapping RBAC, jamais la prose de fiche) n'attrape. Classe explicitement notée en mémoire (agent-fiche-role-attrs-ungated) : une fiche peut restituer la MÊME donnée data-derived qu'un README déjà gaté, sur une surface distincte. Gate ajouté (bloc « cross-cohérence PERMISSIONS répliquée dans la FICHE AGENT ») : RÉUTILISE conf_perm_by_id/conf_portail_by_id déjà dérivés du MANIFEST par le bloc README (ZÉRO duplication du contrat #6) ; regex tolérant / et ** ; par rôle portail (casse normalisée) ET jeu d'actions exigés EXACTS (set-diff absent ET en trop) ; identité d'ensemble fiche⇔MANIFEST (aucun rôle fantôme/manquant). 6 morsures vérifiées (fiche promeut ventes-confotur→submit · fiche retire create de legal-onapi · fiche réaffecte portail Ventes→Direction · fiche renomme legal-directeur→legal-boss ligne INTROUVABLE+fantôme · sous-liste entière supprimée · artefact promeut submit fiche stale = le vrai silent green), restauré vert, 7 gates re-verts.
2026-08-01 06:07:34 +00:00
[DTP-Worker] Sprint 8 · buffer · Legal/CONFOTUR : cross-cohérence PERMISSIONS répliquée dans la FICHE AGENT 03_agents/onapi_legal/AGENT.md:43-45 — la MÊME table role→portail→actions que le README du module (ventes-confotur (Ventes)→read/write/create/print · legal-onapi (Direction)→read/write/create · legal-directeur (Direction)→read/write/**submit**/report), annoncée « **mot pour mot** les permissions_cibles RBAC des 3 rôles », mais sous une convention DIFFÉRENTE ( / espacé · **submit** en gras) et gatée par RIEN. Le bloc « Legal confotur perms · cross-cohérence » existant ne gate QUE la §Permissions du README du MODULE (legal/confotur/README.md), AVEUGLE à la fiche. Piège #6 : PROMOUVOIR ventes-confotur à submit (élévation de privilège · casse la séparation des pouvoirs dont is_submittable est déduit), RETIRER une action, RÉAFFECTER un portail, RENOMMER un rôle ou AJOUTER une ligne fantôme dans la FICHE la laisse périmée pendant que l'artefact (et le README, lui gaté) disent autre chose → l'agent ONAPI/Legal lirait sa PROPRE doc d'identité mentant sur le jeu de permissions qu'il porte (le risque même que « mot pour mot » promet d'écarter) — « vert trompeur » qu'aucune suite tests/ (FONCTIONS de mapping RBAC, jamais la prose de fiche) n'attrape. Classe explicitement notée en mémoire (agent-fiche-role-attrs-ungated) : une fiche peut restituer la MÊME donnée data-derived qu'un README déjà gaté, sur une surface distincte. Gate ajouté (bloc « cross-cohérence PERMISSIONS répliquée dans la FICHE AGENT ») : RÉUTILISE conf_perm_by_id/conf_portail_by_id déjà dérivés du MANIFEST par le bloc README (ZÉRO duplication du contrat #6) ; regex tolérant / et ** ; par rôle portail (casse normalisée) ET jeu d'actions exigés EXACTS (set-diff absent ET en trop) ; identité d'ensemble fiche⇔MANIFEST (aucun rôle fantôme/manquant). 6 morsures vérifiées (fiche promeut ventes-confotur→submit · fiche retire create de legal-onapi · fiche réaffecte portail Ventes→Direction · fiche renomme legal-directeur→legal-boss ligne INTROUVABLE+fantôme · sous-liste entière supprimée · artefact promeut submit fiche stale = le vrai silent green), restauré vert, 7 gates re-verts.
2026-08-01 06:07:34 +00:00

OTO Enterprise OS · Digital Twin Platform (DTP)

Mandat de refactoring 8 semaines ou moins : unifier BIM (Blender/Bonsai/IFC/Speckle), ERPNext v15 natif, la Console Helios (luxury dark+doré) et les faisabilités 4 volets niveau 4Big, pilotés par l'agent orchestrateur OTOIA. Vision et contraintes NON-NÉGOCIABLES : CLAUDE.md.

Point d'entrée de ce dépôt de mandat. Il indexe les artefacts et rapporte l'état courant. Chaque chiffre ci-dessous est sourcé vers un artefact commité (anti-invention CLAUDE.md #6) ; ce README n'introduit aucune donnée nouvelle.

Navigation

Zone Contenu
CLAUDE.md Vision · 10 contraintes NON-NÉGOCIABLES · entités · projets · VPS
04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md Plan 8 sprints · gains d'accélération (~47%) · métriques succès MVP
AGENTS_EXISTING_ASSETS.md Modules OTOV7 réutilisés par agent (source des refactorings)
PORTAIL_BANCABLES_4BIG.md Cadre de bancabilité 4Big
02_master_prompt/ Prompt maître du mandat
03_agents/ Fiches des 13 agents (rôle · livrables · coordination)
05_deliverables_mvp/ Livrables (générateurs déterministes + hand-off out/)
05_deliverables_mvp/GAP_ANALYSIS_SPRINT1.md Audit d'assets + gap analysis (Sprint 1)
05_activity_log/ Journal de session horodaté
.gitea/workflows/ci.yml · ci/ Gate CI Gitea Actions + guards locaux
tests/ Baseline E2E Playwright

Les 13 agents

Faisabilité & 3D : bim · ifc_speckle · rendu · faisabilite · publiciste Plateforme : erpnext_backend · frontend_console · crm · onapi_legal · seo · mobile Transverses : devops · qa

État courant (sourcé)

Périmètre worker (in-repo) vs VPS

Ce dépôt produit des générateurs déterministes et leurs hand-off out/, gatés en CI. Le déploiement réel (bench migrate, import fixtures, câblage nginx/systemd, builds stores, indexation, voix Amélie) s'exécute sur le VPS 153.75.250.214 et reste hors périmètre worker (CLAUDE.md #8). Le plan d'activation ordonné est le run-book devops/deploy_runbook.

Git — Gitea uniquement

Dépôt de mandat : michel/oto-enterprise-os-dtp sur Gitea (153.75.250.214:3015). JAMAIS GitHub / GitLab / Bitbucket (CLAUDE.md #2, garde ci/guard_constraints.sh).

S
Description
OTO Enterprise OS · Digital Twin Platform MVP · 8 semaines OU MOINS
Readme 8.1 MiB
Languages
Python 58.7%
Shell 40.5%
TypeScript 0.6%
Go Template 0.2%