Claude Code DTP Worker 7e674f2f09 [DTP-Worker 20260801_233454] Sprint 8 · buffer · RBAC SPEC §5 : gate de la LIGNE D'AUTO-CONTRÔLE du « résumé »
La SPEC RBAC a déjà 3 gates (§3 ventilation par portail · §4 colonne Entité · §7
run-book) mais son §5 « Les N rôles (résumé) » restait AVEUGLE. Ce §5 restitue le
total de rôles sur 3 surfaces prose : le compte-titre « ## 5. Les 50 rôles », NEUF
comptes parenthétiques de regroupement (`**Ventes (8)**` …) et une ligne
d'auto-contrôle arithmétique `_(6+8+4+7+5+8+4+2+6 = 50.)_`. AJOUTER un rôle au
contrat (|rôles| 50→51) laisse titre/somme/`= 50` périmés en silence ; ÉDITER
`Ventes (8)→(7)` sans toucher la ligne casse la cohérence titre↔somme — ni les
suites tests/ (FONCTIONS RBAC, jamais la prose) ni le byte-gate d'artefact ne
l'attrapent.

Subtilité (memory rbac-spec-portail-count-gate : « §5 by-family is editorial ») :
les 9 regroupements sont ÉDITORIAUX (« Direction / Gouvernance » agrège des rôles
de familles direction+finance ≠ colonne `famille`) ⇒ AUCUN mapping groupe↔famille
(dérive fausse). On gate UNIQUEMENT ce qui est data-derived sans ce mapping.

Nouveau bloc « 1septies) §5 » : on recompute N = |rôles| du contrat
(rbac_50_roles.json, byte-gaté) et on exige (a) compte-titre == N ; (b) les 9
comptes de regroupement == EXACTEMENT dans l'ordre les termes de la ligne
(comparaison de LISTES ⇒ mord valeur ET position) ; (c) Σ termes == membre droit ;
(d) membre droit == N. Section/titre/ligne/comptes absents = échec (#6).

5 morsures vérifiées (working tree byte-restauré via git checkout -- <fichier>,
gate rc=1 sous mutation · rc=0 restauré) : titre 50→51 (a) · Ventes (8)→(9) (b) ·
= 50.→= 49. (c+d double) · terme 6+→7+ (b+c double) · suppression ligne (absence).
ci/README.md : row check-readme-claims étendue de la clause §5. 7 gates re-verts.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-01 23:46:27 +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%