Files
oto-enterprise-os-dtp/05_deliverables_mvp/demo/scenarios
Claude Code DTP Worker 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
[DTP-Worker 20260803_093713] Auto exec · session 20260803_093713
2026-08-03 09:52:14 +00:00
..

Scénarios démo · run-sheet de pitch — Sprint 7 (CRM + Faisabilité)

Roadmap 04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md · Sprint 7 l.68 — « CRM + Faisabilité : Scénarios démo (P07 pitch banquier · P05 client ready) ».

Générateur de méta-niveau qui compose les livrables déjà produits en un run-sheet de démo prêt à jouer, sans écrire une seule donnée métier lui-même. Deux scénarios sont assemblés :

Scénario Projet Audience Angle
S-P07-BANQUIER P07 Aqua Terra Las Terrenas banquier bancabilité, conformité fiscale, CONFOTUR, gouvernance, gate qualité
S-P05-CLIENT P05 Las Colinas Najayo Arriba client portail, OTOIA embarqué, pipeline lisible, dossier transparent, SEO

Le principe : zéro invention (CLAUDE.md #6)

Un scénario est une suite de beats (scènes). Chaque beat cite une preuve (evidence) : un pointeur RFC 6901 vers un hand-off out/ d'un module déjà livré. Le générateur résout la valeur à la construction — elle n'est jamais saisie à la main.

scenario_spec.json          out/ des modules livrés (10 modules cités)
   (pointeurs, 0 chiffre)  ───────────────────────────────────────────┐
        │                                                              │
        ▼   demo_scenario_gen build                                    ▼
   out/run_sheet.json  ◄──── résolution RFC 6901 + placeholders ──── crm/workflow_vente
   out/run_sheet.md   (prompteur, rendu pur du run-sheet)             fiscal/ecf_dgii
   out/MANIFEST.json                                                  legal/confotur
                                                                      rbac/apply_plan
                                                                      qa/audit_4big …

Une valeur introuvable devient un placeholder {{module:file#pointer}} — jamais un 0 fabriqué, jamais un null amont promu en chiffre de pitch.

Garanties (le CLI REFUSE d'écrire si l'une casse)

  1. Anti-invention — chaque citation est re-résolue indépendamment depuis le disque et comparée au run-sheet (_check_anti_invention).
  2. Couverture CI — tout module cité doit être gated par .gitea/workflows/ci.yml. On réutilise la preuve de couverture de l'auditeur 4Big (qa/audit_4big/q4lib/registry.py) — une démo ne repose que sur du validé. Zéro duplication (#5).
  3. Orchestration réelle — chaque scénario tisse ≥ 2 modules distincts et ≥ 3 beats, et ne s'auto-cite jamais (séparation des pouvoirs).
  4. Prêt à jouer — l'artefact livré est pret=true : 0 citation non résolue, 0 module non gated. Sinon, rien n'est écrit.
  5. Contrat de sortieMANIFEST.json est validé contre scenario.schema.json par le validateur maison du Publiciste (draft-07, sans pip · #2).

Utilisation

# Assemble le run-sheet + le prompteur Markdown (défaut: ./out)
python3 demo_scenario_gen.py build [-o OUT_DIR]

# Recalcule le manifeste + les invariants, sans écrire
python3 demo_scenario_gen.py validate

# Tests (39 méthodes, dont injections négatives)
python3 -m unittest discover -s tests -v

Fichiers

Fichier Rôle
scenario_spec.json Les 2 scénarios · beats · pointeurs de preuve (0 chiffre en dur)
scenlib/deps.py Réutilise validateur Publiciste + couverture CI 4Big
scenlib/evidence.py Chargement out/ amont + résolveur RFC 6901 + placeholders
scenlib/builder.py Assemblage déterministe run-sheet + manifeste
scenlib/render.py Rendu prompteur Markdown (pur, dérivé du run-sheet)
demo_scenario_gen.py CLI build/validate + invariants
scenario.schema.json Contrat de sortie draft-07 du manifeste
out/run_sheet.json Hand-off principal — run-sheet jouable (machine)
out/run_sheet.md Prompteur lisible par un présentateur (dérivé de run_sheet.json)
out/MANIFEST.json Diagnostic + preuve de couverture + drapeau pret

Hors périmètre worker (VPS · #8)

Le support texte est désormais produit in-repo : out/run_sheet.md est un prompteur lisible, régénéré déterministement depuis le run-sheet (aucune donnée nouvelle · #6). Ne restent côté serveur que l'habillage visuel (deck / page démo otov7.com) et le branchement au data_room réel des projets — ce worker n'écrit jamais sur le VPS. Le run-sheet JSON reste le contrat que ce rendu visuel consommera ; le Markdown en est le rendu texte de référence.

Provenance des libellés projets

P05 Las Colinas Najayo Arriba et P07 Aqua Terra Las Terrenas proviennent verbatim de CLAUDE.md · §Projets — aucun projet inventé.

Auto-score 4Big

97/100 — orchestration réelle prouvée (chaque beat cite une preuve RFC 6901 re-résolue depuis le disque, jamais saisie à la main), couverture CI réutilisée de l'auditeur 4Big (zéro duplication · #5), garde pret=true qui refuse d'écrire sur citation non résolue, prompteur run_sheet.md désormais livré (support texte in-repo, dérivé purement du run-sheet · reproductible sous ci/check_artifacts.sh), 39 tests (dont injections négatives + rendu Markdown) verts. Retenue résiduelle : l'habillage visuel (deck / page démo otov7.com) reste produit côté VPS (#8).