{ "matrix": [ { "id": "S1", "kind": "sprint_deliverable", "sprint": "S1", "roadmap_line": 33, "statement": "Repo Gitea live · gap analysis complète · baseline tests OK", "status": "in_repo", "modules": [], "artifacts": [ { "path": "GAP_ANALYSIS_SPRINT1.md", "exists": true } ], "out_of_scope": [ { "item": "baseline Playwright /crm · /waf-home · /qa (dépend du site LIVE) et push initial VPS", "source": "CLAUDE.md #8 (VPS pour TOUS projets · worker n'écrit jamais sur le VPS)" } ], "n_modules": 0, "all_modules_gated": true, "all_artifacts_exist": true, "has_evidence": true }, { "id": "S2", "kind": "sprint_deliverable", "sprint": "S2", "roadmap_line": 39, "statement": "7 dashboards uniformes · CRM avec pipeline live · RBAC 50 rôles", "status": "in_repo", "modules": [ { "module": "publiciste", "ci_job": "publiciste-tests", "gated": true }, { "module": "rbac", "ci_job": "rbac-tests", "gated": true }, { "module": "rbac/fixtures_gen", "ci_job": "rbac-fixtures-tests", "gated": true }, { "module": "rbac/userperm_gen", "ci_job": "rbac-userperm-tests", "gated": true }, { "module": "rbac/roleprofile_gen", "ci_job": "rbac-roleprofile-tests", "gated": true }, { "module": "rbac/apply_plan", "ci_job": "rbac-applyplan-tests", "gated": true } ], "artifacts": [], "out_of_scope": [ { "item": "import réel des fixtures RBAC + rendu HTML des dashboards sur le desk ERPNext LIVE", "source": "CLAUDE.md #8 (VPS) · #1 (ERPNext natif = priorité — import via bench par agent Backend)" } ], "n_modules": 6, "all_modules_gated": true, "all_artifacts_exist": true, "has_evidence": true }, { "id": "S3", "kind": "sprint_deliverable", "sprint": "S3", "roadmap_line": 46, "statement": "P07 Aqua Terra faisabilité complète auto-générée en <1h", "status": "in_repo", "modules": [ { "module": "faisabilite/bancable", "ci_job": "bancable-tests", "gated": true }, { "module": "faisabilite/generator", "ci_job": "faisabilite-gen-tests", "gated": true } ], "artifacts": [], "out_of_scope": [ { "item": "pipeline Blender→IFC→Speckle→Flux (aec.py) exécuté sur runtime BIM VPS + viewer 3D console LIVE", "source": "CLAUDE.md #8 (VPS) — le rendu 3D/BIM tourne hors repo (bim-cloud.otov7.com)" } ], "n_modules": 2, "all_modules_gated": true, "all_artifacts_exist": true, "has_evidence": true }, { "id": "S4", "kind": "sprint_deliverable", "sprint": "S4", "roadmap_line": 52, "statement": "5 portails RBAC live · workflow vente end-to-end", "status": "in_repo", "modules": [ { "module": "crm/workflow_vente", "ci_job": "crm-workflow-vente-tests", "gated": true }, { "module": "crm/dossier_vente", "ci_job": "crm-dossier-vente-tests", "gated": true }, { "module": "crm/commissions", "ci_job": "crm-commissions-tests", "gated": true }, { "module": "crm/financement_bancaire", "ci_job": "crm-financement-bancaire-tests", "gated": true }, { "module": "fiscal/ecf_dgii", "ci_job": "fiscal-ecf-tests", "gated": true }, { "module": "frontend/portails", "ci_job": "frontend-portails-tests", "gated": true } ], "artifacts": [], "out_of_scope": [ { "item": "création module + import DocTypes/Workflow + transmission e-CF réelle DGII (Compupar) sur ERPNext LIVE", "source": "CLAUDE.md #8 (VPS) · #10 (Cardnet/DGII endpoints prod)" }, { "item": "Financement Bancaire Phase 2 : vrais formulaires PDF officiels des 6 banques + implémentation runtime des endpoints /api/hypotheque/* et de renderHypotheque sur le VPS", "source": "DIRECTIVE_FINANCEMENT_BANCAIRE_COMPLET_20260803.md (Phase 2 · démarche relationship-manager Michel) · CLAUDE.md #8" } ], "n_modules": 6, "all_modules_gated": true, "all_artifacts_exist": true, "has_evidence": true }, { "id": "S5", "kind": "sprint_deliverable", "sprint": "S5", "roadmap_line": 58, "statement": "Dépôts P05/P07 ONAPI · Apps mobile live 2 stores", "status": "in_repo", "modules": [ { "module": "legal/confotur", "ci_job": "legal-confotur-tests", "gated": true }, { "module": "qa/audit_5d", "ci_job": "qa-audit-5d-tests", "gated": true }, { "module": "mobile/app_config", "ci_job": "mobile-app-config-tests", "gated": true } ], "artifacts": [], "out_of_scope": [ { "item": "dépôt ONAPI/CONFOTUR réel + builds Expo 54 et submit App Store / Play Store", "source": "roadmap Sprint 5 · Mobile (L57) — builds & submissions stores hors repo · CLAUDE.md #8" } ], "n_modules": 3, "all_modules_gated": true, "all_artifacts_exist": true, "has_evidence": true }, { "id": "S6", "kind": "sprint_deliverable", "sprint": "S6", "roadmap_line": 64, "statement": "Indexation Google trilingue · OTOIA voice orchestre AEC", "status": "in_repo", "modules": [ { "module": "seo", "ci_job": "seo-tests", "gated": true }, { "module": "frontend/chat_otoia", "ci_job": "chat-otoia-tests", "gated": true } ], "artifacts": [], "out_of_scope": [ { "item": "indexation Google réelle (crawl runtime) + voix Amélie QC (multilingual_v2) exécutée sur runtime OTOIA VPS", "source": "CLAUDE.md #8 (VPS) — indexation et TTS sont des services runtime hors repo" } ], "n_modules": 2, "all_modules_gated": true, "all_artifacts_exist": true, "has_evidence": true }, { "id": "S7", "kind": "sprint_deliverable", "sprint": "S7", "roadmap_line": 70, "statement": "Plateforme prête pour démo publique (polish · scénarios démo · audit 4Big 95+)", "status": "in_repo", "modules": [ { "module": "demo/scenarios", "ci_job": "demo-scenario-tests", "gated": true }, { "module": "qa/audit_4big", "ci_job": "qa-audit-4big-tests", "gated": true } ], "artifacts": [], "out_of_scope": [ { "item": "polish final du site otov7.com (Hero · nav) sur le site LIVE", "source": "roadmap Sprint 7 · Frontend « Site otov7.com polish final » (L67) — dépend du site LIVE · CLAUDE.md #8" } ], "n_modules": 2, "all_modules_gated": true, "all_artifacts_exist": true, "has_evidence": true }, { "id": "S8", "kind": "sprint_deliverable", "sprint": "S8", "roadmap_line": 76, "statement": "Plateforme démo live · 5 portails · CRM · BIM auto · OTOIA voice", "status": "in_repo", "modules": [ { "module": "qa/regression", "ci_job": "qa-regression-tests", "gated": true }, { "module": "devops/deploy_runbook", "ci_job": "devops-deploy-runbook-tests", "gated": true }, { "module": "pie/manifest", "ci_job": "pie-manifest-tests", "gated": true } ], "artifacts": [], "out_of_scope": [ { "item": "Project Identity Engine complet (Brand Books/logos Flux, storage /opt/oto/data/pie/, sync ERPNext/Speckle/OTO AI) — seul le P0 (manifest de dépendances faisabilité(SSOT)→downstream) est in_repo ; P1-P4 restent à construire", "source": "directive PIE (Annexe 12 · V10.1 · 2026-08-03) §160-166 · génération effective côté agents Flux/ERPNext/OTOIA (VPS · CLAUDE.md #8)" }, { "item": "déploiement production complet + monitoring exécutés sur le VPS (run-book appliqué)", "source": "CLAUDE.md #8 (VPS) — l'exécution du run-book de déploiement revient à l'agent DevOps / ERPNext Backend" } ], "n_modules": 3, "all_modules_gated": true, "all_artifacts_exist": true, "has_evidence": true }, { "id": "M1", "kind": "mvp_metric", "sprint": null, "roadmap_line": 81, "statement": "Faisabilité auto générée en <1h (vs 3-5 jours actuels)", "status": "in_repo", "modules": [ { "module": "publiciste", "ci_job": "publiciste-tests", "gated": true }, { "module": "faisabilite/generator", "ci_job": "faisabilite-gen-tests", "gated": true }, { "module": "faisabilite/bancable", "ci_job": "bancable-tests", "gated": true } ], "artifacts": [], "out_of_scope": [], "n_modules": 3, "all_modules_gated": true, "all_artifacts_exist": true, "has_evidence": true }, { "id": "M2", "kind": "mvp_metric", "sprint": null, "roadmap_line": 82, "statement": "Score 4Big >=95/100 sur 100% deliverables", "status": "in_repo", "modules": [ { "module": "qa/audit_4big", "ci_job": "qa-audit-4big-tests", "gated": true } ], "artifacts": [], "out_of_scope": [], "n_modules": 1, "all_modules_gated": true, "all_artifacts_exist": true, "has_evidence": true }, { "id": "M3", "kind": "mvp_metric", "sprint": null, "roadmap_line": 83, "statement": "7 dashboards entités uniformes luxury", "status": "in_repo", "modules": [ { "module": "frontend/portails", "ci_job": "frontend-portails-tests", "gated": true }, { "module": "rbac/roleprofile_gen", "ci_job": "rbac-roleprofile-tests", "gated": true } ], "artifacts": [], "out_of_scope": [ { "item": "rendu luxury dark+doré sur le desk ERPNext LIVE (Custom HTML)", "source": "CLAUDE.md #8 (VPS) · #4 (design luxury rendu côté desk)" } ], "n_modules": 2, "all_modules_gated": true, "all_artifacts_exist": true, "has_evidence": true }, { "id": "M4", "kind": "mvp_metric", "sprint": null, "roadmap_line": 84, "statement": "CRM ERPNext natif fonctionnel end-to-end", "status": "in_repo", "modules": [ { "module": "crm/workflow_vente", "ci_job": "crm-workflow-vente-tests", "gated": true }, { "module": "crm/dossier_vente", "ci_job": "crm-dossier-vente-tests", "gated": true }, { "module": "crm/commissions", "ci_job": "crm-commissions-tests", "gated": true } ], "artifacts": [], "out_of_scope": [], "n_modules": 3, "all_modules_gated": true, "all_artifacts_exist": true, "has_evidence": true }, { "id": "M5", "kind": "mvp_metric", "sprint": null, "roadmap_line": 85, "statement": "Mobile app publié 2 stores", "status": "in_repo", "modules": [ { "module": "mobile/app_config", "ci_job": "mobile-app-config-tests", "gated": true } ], "artifacts": [], "out_of_scope": [ { "item": "builds Expo 54 + submit App Store #32 / Play Store — la publication réelle sur les stores est hors repo (le worker produit la config versionnable, jamais le build/submit)", "source": "roadmap Sprint 5 · Mobile (L56-57) — builds & submissions hors repo · CLAUDE.md #8" } ], "n_modules": 1, "all_modules_gated": true, "all_artifacts_exist": true, "has_evidence": true }, { "id": "M6", "kind": "mvp_metric", "sprint": null, "roadmap_line": 86, "statement": "SEO trilingue indexé", "status": "in_repo", "modules": [ { "module": "seo", "ci_job": "seo-tests", "gated": true } ], "artifacts": [], "out_of_scope": [ { "item": "indexation Google réelle (soumission sitemaps + crawl)", "source": "CLAUDE.md #8 (VPS) — worker systemd SEO tourne hors repo" } ], "n_modules": 1, "all_modules_gated": true, "all_artifacts_exist": true, "has_evidence": true }, { "id": "M7", "kind": "mvp_metric", "sprint": null, "roadmap_line": 87, "statement": "OTOIA voice orchestre bout-en-bout", "status": "in_repo", "modules": [ { "module": "frontend/chat_otoia", "ci_job": "chat-otoia-tests", "gated": true } ], "artifacts": [], "out_of_scope": [ { "item": "voix Amélie QC (multilingual_v2) + orchestration AEC exécutées sur runtime OTOIA VPS", "source": "CLAUDE.md #8 (VPS) — TTS et pilotage aec.py sont des services runtime hors repo" } ], "n_modules": 1, "all_modules_gated": true, "all_artifacts_exist": true, "has_evidence": true } ], "verdict": true }