97f859b6a5
Faux-vert réel : le README (point d'entrée) affichait des chiffres PÉRIMÉS que sa propre source cité contredisait, sans qu'aucun gate ne les enforce. check_docs ne valide que les LIENS, jamais la VALEUR des nombres → dérive silencieuse : « 21/21 modules » (artefact: 22/22), « 21 suites » (22), « 14 in_repo + 1 out_of_scope » (15 in_repo). CLAUDE.md #6 non gardé. Fix : (1) corrige les 3 chiffres du README ; (2) 7e gate statique check_readme_claims.sh qui RECOMPUTE chaque chiffre depuis l'artefact cité (audit_4big/regression/acceptance + count AGENT.md) et exige l'égalité avec l'écrit — un claim absent échoue aussi. Câblé : job check-readme-claims ∈ gate.needs (30 jobs), source lib.sh, verrouillé par check_ci_integrity INV-B. Bite proofs : « 21/21 » réintroduit ⇒ exit 1 (README≠artefact) ; claim suites retiré ⇒ exit 1 (INTROUVABLE) ; restauré ⇒ exit 0. Nettoyage : commentaires CI « 21 suites/534 tests » → 22/551. 7/7 gates verts, YAML valide. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
63 lines
4.0 KiB
Markdown
63 lines
4.0 KiB
Markdown
# 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`](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`](CLAUDE.md) | Vision · 10 contraintes NON-NÉGOCIABLES · entités · projets · VPS |
|
|
| [`04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md`](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`](AGENTS_EXISTING_ASSETS.md) | Modules OTOV7 réutilisés par agent (source des refactorings) |
|
|
| [`PORTAIL_BANCABLES_4BIG.md`](PORTAIL_BANCABLES_4BIG.md) | Cadre de bancabilité 4Big |
|
|
| [`02_master_prompt/`](02_master_prompt) | Prompt maître du mandat |
|
|
| [`03_agents/`](03_agents) | Fiches des **13 agents** (rôle · livrables · coordination) |
|
|
| [`05_deliverables_mvp/`](05_deliverables_mvp) | Livrables (générateurs déterministes + hand-off `out/`) |
|
|
| [`05_deliverables_mvp/GAP_ANALYSIS_SPRINT1.md`](05_deliverables_mvp/GAP_ANALYSIS_SPRINT1.md) | Audit d'assets + gap analysis (Sprint 1) |
|
|
| [`05_activity_log/`](05_activity_log) | Journal de session horodaté |
|
|
| [`.gitea/workflows/ci.yml`](.gitea/workflows/ci.yml) · [`ci/`](ci/README.md) | Gate CI Gitea Actions + guards locaux |
|
|
| [`tests/`](tests) | Baseline E2E Playwright |
|
|
|
|
## Les 13 agents
|
|
|
|
Faisabilité & 3D : [`bim`](03_agents/bim/AGENT.md) · [`ifc_speckle`](03_agents/ifc_speckle/AGENT.md) ·
|
|
[`rendu`](03_agents/rendu/AGENT.md) · [`faisabilite`](03_agents/faisabilite/AGENT.md) ·
|
|
[`publiciste`](03_agents/publiciste/AGENT.md)
|
|
Plateforme : [`erpnext_backend`](03_agents/erpnext_backend/AGENT.md) ·
|
|
[`frontend_console`](03_agents/frontend_console/AGENT.md) · [`crm`](03_agents/crm/AGENT.md) ·
|
|
[`onapi_legal`](03_agents/onapi_legal/AGENT.md) · [`seo`](03_agents/seo/AGENT.md) ·
|
|
[`mobile`](03_agents/mobile/AGENT.md)
|
|
Transverses : [`devops`](03_agents/devops/AGENT.md) · [`qa`](03_agents/qa/AGENT.md)
|
|
|
|
## État courant (sourcé)
|
|
|
|
- **Qualité 4Big** : **22/22 modules gated à 100/100** (seuil 95 · `CLAUDE.md` #5), verdict `PASS`
|
|
— source [`qa/audit_4big/out/quality_report.json`](05_deliverables_mvp/qa/audit_4big/out/quality_report.json).
|
|
- **Régression** : **22 suites gated** couvertes bijectivement vs CI ; le compte de tests
|
|
agrégé faisant autorité est produit par `qa/regression run` (non commité par design)
|
|
— plan [`qa/regression/out/regression_plan.json`](05_deliverables_mvp/qa/regression/out/regression_plan.json).
|
|
- **Recette roadmap** : **15 promesses** (8 livrables sprint + 7 métriques MVP), **15 `in_repo`
|
|
prouvées** (chacune traçant ses items hors-périmètre worker · #8 · ex. M5 « app publiée 2 stores »),
|
|
verdict `true` — source [`qa/acceptance/out/acceptance_matrix.json`](05_deliverables_mvp/qa/acceptance/out/acceptance_matrix.json).
|
|
- **Guards** : [`ci/guard_constraints.sh`](ci/README.md) + [`ci/check_docs.sh`](ci/README.md) verts.
|
|
|
|
## 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`](05_deliverables_mvp/devops/deploy_runbook/README.md).
|
|
|
|
## 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`).
|