4f31d0c8c5
CI / Contraintes NON-NÉGOCIABLES (CLAUDE.md) (push) Has been cancelled
CI / Validation JSON (schémas Faisabilité) (push) Has been cancelled
CI / Qualité documentaire (liens + 4Big) (push) Has been cancelled
CI / Reproductibilité des artefacts out/ (build == commité) (push) Has been cancelled
CI / Fraîcheur matrice de régression (run == commité) (push) Has been cancelled
CI / Intégrité du câblage CI (gate agrège tout · gates statiques verrouillés) (push) Has been cancelled
CI / Intégrité des chiffres du README (valeur == artefact cité · (push) Has been cancelled
CI / Publiciste · parser + schéma + generator (unittest) (push) Has been cancelled
CI / RBAC · 50 rôles + schéma (unittest) (push) Has been cancelled
CI / Faisabilité · générateur 4 volets + round-trip (unittest) (push) Has been cancelled
CI / RBAC · fixtures ERPNext (Role + Custom DocPerm) (push) Has been cancelled
CI / RBAC · plan User Permission (row-level) (push) Has been cancelled
CI / RBAC · Role Profile (bundles par portail) (push) Has been cancelled
CI / RBAC · run-book d'application unifié (agrégat 3 volets) (push) Has been cancelled
CI / Faisabilité · dossier bancable trilingue FR/EN/ES (push) Has been cancelled
CI / CRM · workflow vente ERPNext (lead → CONFOTUR) (push) Has been cancelled
CI / CRM · DocType porteur OTO Dossier Vente (push) Has been cancelled
CI / CRM · barème commissions vendeurs (push) Has been cancelled
CI / CRM · Financement Bancaire (gate hypothécaire RD) (push) Has been cancelled
CI / Fiscal · e-CF DGII (Compupar) (push) Has been cancelled
CI / Frontend · Workspaces 5 portails rôle (push) Has been cancelled
CI / Legal · DocType CONFOTUR Application (push) Has been cancelled
CI / QA · Audit 5D conformité (push) Has been cancelled
CI / SEO · mots-clés trilingues + schema.org + hreflang (push) Has been cancelled
CI / Chat OTOIA · montage par portail (Custom Block) (push) Has been cancelled
CI / QA · Audit 4Big (95+/100 sur 100% deliverables) (push) Has been cancelled
CI / Démo · Scénarios (run-sheet P07 banquier / P05 client) (push) Has been cancelled
CI / QA · Matrice de régression exhaustive (Sprint 8) (push) Has been cancelled
CI / DevOps · Run-book de déploiement VPS unifié (Sprint 8) (push) Has been cancelled
CI / QA · Matrice d'acceptation / traçabilité MVP (Sprint 8) (push) Has been cancelled
CI / Mobile · config app Expo/EAS (navigation par rôle) (push) Has been cancelled
CI / PIE · manifest de dépendances (Annexe 12 · V10.1) (push) Has been cancelled
CI / E2E baseline Playwright (manuel) (push) Has been cancelled
CI / Gate qualité (agrégat) (push) Has been cancelled
343 lines
12 KiB
JSON
343 lines
12 KiB
JSON
{
|
|
"doc": "OTO · Run-sheet démo (méta-livrable)",
|
|
"spec_version": "1.0.0",
|
|
"roadmap_ref": "04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md · Sprint 7 l.68 « CRM + Faisabilité : Scénarios démo (P07 pitch banquier · P05 client ready) »",
|
|
"generated_at": null,
|
|
"scenarios": [
|
|
{
|
|
"id": "S-P07-BANQUIER",
|
|
"projet": "P07",
|
|
"projet_libelle": "Aqua Terra Las Terrenas",
|
|
"audience": "banquier",
|
|
"titre": "P07 Aqua Terra — Pitch banquier (bancabilité & gouvernance)",
|
|
"objectif": "Démontrer qu'un dossier de vente OTO est bancable : pipeline structuré, conformité fiscale e-CF DGII, incitation CONFOTUR, gouvernance RBAC et gate qualité 4Big.",
|
|
"duree_min": 12,
|
|
"modules_cites": [
|
|
"crm/dossier_vente",
|
|
"crm/workflow_vente",
|
|
"fiscal/ecf_dgii",
|
|
"legal/confotur",
|
|
"qa/audit_4big",
|
|
"rbac/apply_plan"
|
|
],
|
|
"beats": [
|
|
{
|
|
"ordre": 1,
|
|
"id": "b1-pipeline",
|
|
"titre": "Un pipeline de vente verrouillé de bout en bout",
|
|
"role_narratif": "Ouvrir sur la traçabilité : la vente n'est pas un tableur, c'est un workflow ERPNext soumis (docstatus) piloté par rôle.",
|
|
"duree_min": 2,
|
|
"evidence": [
|
|
{
|
|
"module": "crm/workflow_vente",
|
|
"file": "out/workflow.json",
|
|
"pointer": "/0/workflow_name",
|
|
"label": "Nom du pipeline",
|
|
"valeur": "OTO Vente Pipeline",
|
|
"resolu": true
|
|
},
|
|
{
|
|
"module": "crm/workflow_vente",
|
|
"file": "out/workflow.json",
|
|
"pointer": "/0/document_type",
|
|
"label": "DocType piloté",
|
|
"valeur": "OTO Dossier Vente",
|
|
"resolu": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"ordre": 2,
|
|
"id": "b2-ecf",
|
|
"titre": "Facturation fiscale conforme DGII (e-CF · Compupar)",
|
|
"role_narratif": "Rassurer sur le risque fiscal : chaque encaissement est un e-CF certifié, pas une facture maison.",
|
|
"duree_min": 2,
|
|
"evidence": [
|
|
{
|
|
"module": "fiscal/ecf_dgii",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/provider",
|
|
"label": "Fournisseur e-CF",
|
|
"valeur": "Compupar",
|
|
"resolu": true
|
|
},
|
|
{
|
|
"module": "fiscal/ecf_dgii",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/counts/tipos_en_scope",
|
|
"label": "Types e-CF en périmètre",
|
|
"valeur": 5,
|
|
"resolu": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"ordre": 3,
|
|
"id": "b3-confotur",
|
|
"titre": "Incitation CONFOTUR dé-risquée et outillée",
|
|
"role_narratif": "Montrer l'avantage fiscal touristique comme un actif documenté : DocType soumis, dépôt outillé.",
|
|
"duree_min": 2,
|
|
"evidence": [
|
|
{
|
|
"module": "legal/confotur",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/doctype_name",
|
|
"label": "DocType CONFOTUR",
|
|
"valeur": "CONFOTUR Application",
|
|
"resolu": true
|
|
},
|
|
{
|
|
"module": "legal/confotur",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/is_submittable",
|
|
"label": "Soumissible (verrou légal)",
|
|
"valeur": true,
|
|
"resolu": true
|
|
},
|
|
{
|
|
"module": "legal/confotur",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/counts/depot_events",
|
|
"label": "Étapes de dépôt outillées",
|
|
"valeur": 2,
|
|
"resolu": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"ordre": 4,
|
|
"id": "b4-rbac",
|
|
"titre": "Séparation des pouvoirs (RBAC 50 rôles)",
|
|
"role_narratif": "Répondre à la question d'audit du banquier : qui peut faire quoi ? Permissions dérivées, pas ad hoc.",
|
|
"duree_min": 2,
|
|
"evidence": [
|
|
{
|
|
"module": "rbac/apply_plan",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/counts/roles",
|
|
"label": "Rôles RBAC",
|
|
"valeur": 50,
|
|
"resolu": true
|
|
},
|
|
{
|
|
"module": "rbac/apply_plan",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/counts/custom_docperm",
|
|
"label": "Permissions DocType (Custom DocPerm)",
|
|
"valeur": 116,
|
|
"resolu": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"ordre": 5,
|
|
"id": "b5-qualite",
|
|
"titre": "Un gate qualité 4Big, pas une promesse",
|
|
"role_narratif": "Clore la confiance : la plateforme s'auto-note et bloque sous 95/100 sur 100 % des livrables.",
|
|
"duree_min": 2,
|
|
"evidence": [
|
|
{
|
|
"module": "qa/audit_4big",
|
|
"file": "out/quality_report.json",
|
|
"pointer": "/pass_score",
|
|
"label": "Seuil bloquant 4Big",
|
|
"valeur": 95,
|
|
"resolu": true
|
|
},
|
|
{
|
|
"module": "qa/audit_4big",
|
|
"file": "out/quality_report.json",
|
|
"pointer": "/coverage/ci_modules_count",
|
|
"label": "Modules sous gate qualité",
|
|
"valeur": 24,
|
|
"resolu": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"ordre": 6,
|
|
"id": "b6-dossier",
|
|
"titre": "Le dossier de vente, pièce bancable finale",
|
|
"role_narratif": "Refermer sur l'objet concret que le banquier instruira : un DocType riche et soumis.",
|
|
"duree_min": 2,
|
|
"evidence": [
|
|
{
|
|
"module": "crm/dossier_vente",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/counts/fields",
|
|
"label": "Champs du dossier de vente",
|
|
"valeur": 30,
|
|
"resolu": true
|
|
},
|
|
{
|
|
"module": "crm/dossier_vente",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/counts/pipeline_states",
|
|
"label": "États de pipeline couverts",
|
|
"valeur": 9,
|
|
"resolu": true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "S-P05-CLIENT",
|
|
"projet": "P05",
|
|
"projet_libelle": "Las Colinas Najayo Arriba",
|
|
"audience": "client",
|
|
"titre": "P05 Las Colinas Najayo Arriba — Parcours client (réservation prête)",
|
|
"objectif": "Faire vivre le parcours d'un acheteur : découverte du portail, assistance OTOIA, pipeline lisible, dossier transparent, et comment le client nous a trouvés (SEO trilingue).",
|
|
"duree_min": 12,
|
|
"modules_cites": [
|
|
"crm/commissions",
|
|
"crm/dossier_vente",
|
|
"crm/workflow_vente",
|
|
"frontend/chat_otoia",
|
|
"frontend/portails",
|
|
"seo"
|
|
],
|
|
"beats": [
|
|
{
|
|
"ordre": 1,
|
|
"id": "b1-portail",
|
|
"titre": "« Choisir mon unité » — 5 portails luxury",
|
|
"role_narratif": "Poser l'expérience d'entrée : un portail par rôle, cohérent et couvert.",
|
|
"duree_min": 2,
|
|
"evidence": [
|
|
{
|
|
"module": "frontend/portails",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/counts/workspaces",
|
|
"label": "Portails (workspaces)",
|
|
"valeur": 5,
|
|
"resolu": true
|
|
},
|
|
{
|
|
"module": "frontend/portails",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/counts/roles_couverts",
|
|
"label": "Rôles couverts par les portails",
|
|
"valeur": 44,
|
|
"resolu": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"ordre": 2,
|
|
"id": "b2-otoia",
|
|
"titre": "OTOIA répond dans le portail",
|
|
"role_narratif": "Montrer l'assistance embarquée : le client n'est jamais seul face à l'écran.",
|
|
"duree_min": 2,
|
|
"evidence": [
|
|
{
|
|
"module": "frontend/chat_otoia",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/deliverable",
|
|
"label": "Assistant embarqué",
|
|
"valeur": "Chat OTOIA embarqué par portail",
|
|
"resolu": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"ordre": 3,
|
|
"id": "b3-parcours",
|
|
"titre": "Du premier contact à la réservation",
|
|
"role_narratif": "Dérouler le pipeline côté client : Lead → … → Réservation confirmée, lisible et rassurant.",
|
|
"duree_min": 2,
|
|
"evidence": [
|
|
{
|
|
"module": "crm/workflow_vente",
|
|
"file": "out/workflow.json",
|
|
"pointer": "/0/states/0/state",
|
|
"label": "Première étape",
|
|
"valeur": "Lead",
|
|
"resolu": true
|
|
},
|
|
{
|
|
"module": "crm/workflow_vente",
|
|
"file": "out/workflow.json",
|
|
"pointer": "/0/states/3/state",
|
|
"label": "Étape réservation",
|
|
"valeur": "Réservation confirmée",
|
|
"resolu": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"ordre": 4,
|
|
"id": "b4-dossier",
|
|
"titre": "Un dossier de vente transparent",
|
|
"role_narratif": "Donner confiance : tout est consigné dans un dossier structuré que le client peut suivre.",
|
|
"duree_min": 2,
|
|
"evidence": [
|
|
{
|
|
"module": "crm/dossier_vente",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/counts/fields",
|
|
"label": "Champs du dossier de vente",
|
|
"valeur": 30,
|
|
"resolu": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"ordre": 5,
|
|
"id": "b5-commissions",
|
|
"titre": "Un conseiller rémunéré à la transparence",
|
|
"role_narratif": "Aligner l'intérêt du conseiller et du client : barème de commissions traçable par événement.",
|
|
"duree_min": 2,
|
|
"evidence": [
|
|
{
|
|
"module": "crm/commissions",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/bareme_name",
|
|
"label": "Barème de commissions",
|
|
"valeur": "OTO Barème Commissions Ventes",
|
|
"resolu": true
|
|
},
|
|
{
|
|
"module": "crm/commissions",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/counts/evenements",
|
|
"label": "Événements déclencheurs",
|
|
"valeur": 5,
|
|
"resolu": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"ordre": 6,
|
|
"id": "b6-seo",
|
|
"titre": "Comment le client nous a trouvés (SEO trilingue)",
|
|
"role_narratif": "Refermer la boucle acquisition : indexation FR/EN/ES, le parcours commence bien avant le portail.",
|
|
"duree_min": 2,
|
|
"evidence": [
|
|
{
|
|
"module": "seo",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/counts/keywords_total",
|
|
"label": "Mots-clés indexés",
|
|
"valeur": 258,
|
|
"resolu": true
|
|
},
|
|
{
|
|
"module": "seo",
|
|
"file": "out/MANIFEST.json",
|
|
"pointer": "/langs",
|
|
"label": "Langues",
|
|
"valeur": [
|
|
"fr",
|
|
"en",
|
|
"es"
|
|
],
|
|
"resolu": true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|