[DTP-Worker] Sprint 7 · Générateur Scénarios démo (run-sheet P07 banquier / P05 client) (CRM+Faisabilité · roadmap L68)

Orchestrateur méta-niveau : compose les hand-offs out/ des 10 modules déjà
livrés en un run-sheet de démo jouable, via pointeurs RFC 6901 résolus à la
construction (zéro chiffre en dur · #6). Réutilise le validateur Publiciste et
la preuve de couverture CI de l'auditeur 4Big (#5) — une démo ne s'appuie que
sur des modules gated. Enregistre demo/scenarios dans l'audit 4Big (17→18,
verdict PASS 18/18 à 100). 32 tests (9 injections négatives) · régression 474
tests verts · guards CI verts · builds déterministes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Code DTP Worker
2026-07-30 10:39:24 +00:00
parent a517619432
commit cac65386ab
19 changed files with 1691 additions and 11 deletions
+52
View File
@@ -1,5 +1,57 @@
# Activity Log · 2026-07-30 · Claude Code DTP
## Session `20260730_102730` (session 21)
**Tâche** : **Sprint 7 · CRM + Faisabilité** — Générateur des **Scénarios démo
(run-sheet de pitch)** (roadmap **l.68** « CRM + Faisabilité : Scénarios démo
(**P07 pitch banquier · P05 client ready**) »). Dernier volet Sprint 7 réalisable
en repo — le polish `otov7.com` (Frontend) et le branchement au `data_room` réel
dépendent du site live / archives serveur (hors périmètre worker · #8).
**Décision d'architecture** : **orchestrateur de méta-niveau**, pas du contenu
marketing écrit à la main. Un scénario = suite de **beats** ; chaque beat cite une
**preuve** = un **pointeur RFC 6901** vers un hand-off `out/` d'un module déjà
livré, **résolu à la construction**. Zéro chiffre dans le spec ; une valeur
introuvable devient un placeholder `{{module:file#pointer}}`, jamais un `0`
fabriqué (#6). Zéro duplication (#5) : réutilise le validateur Publiciste **et** la
preuve de couverture CI de l'auditeur 4Big (`q4lib/registry.py`) — une démo ne
s'appuie QUE sur des modules **gated**.
**Fichiers créés**`05_deliverables_mvp/demo/scenarios/` :
- `scenario_spec.json` (2 scénarios · 12 beats · 23 pointeurs · 0 chiffre en dur)
- `scenlib/{__init__,deps,evidence,builder}.py` (résolveur RFC 6901 + assemblage
déterministe · anti-invention)
- `demo_scenario_gen.py` (CLI `build`/`validate` · **7 familles d'invariants**)
- `scenario.schema.json` (contrat de sortie draft-07)
- `out/{run_sheet,MANIFEST}.json` (hand-off) · `tests/test_demo_scenario.py`
(**32 tests** dont 9 injections négatives) · `README.md` · `.gitignore`
**Fichiers modifiés** :
- `.gitea/workflows/ci.yml` : job `demo-scenario-tests` + ajout au `gate`.
- `qa/audit_4big/quality_spec.json` + `tests/` + `out/` : enregistrement du module
`demo/scenarios` (couverture bijective **17 → 18 modules** · verdict **PASS
18/18 à 100**). L'auditeur DOIT tracer chaque nouveau livrable, sinon sa preuve
de couverture rougit.
**Anti-invention (cœur · #6)** : `_check_anti_invention` **re-résout
indépendamment** chaque pointeur depuis le disque et compare au run-sheet ; un
`null` amont est traité comme non résolu (jamais promu en chiffre de pitch).
**Résultat** : run-sheet `pret=true` — **2 scénarios · 12 beats · 23/23 citations
résolues · 10 modules cités tous gated**.
**Vérifs** : 32/32 tests module ; 34/34 audit_4big ; régression **474 tests verts**
(442 → +32) · 0 module en échec ; guards CI locaux verts ; `ci.yml` YAML valide ;
builds déterministes.
**Hors périmètre worker (VPS · #8)** : rendu jouable (deck / prompteur / page démo
`otov7.com`) + branchement `data_room` réel → agent Frontend / DevOps.
**Détail complet** : voir
[`05_deliverables_mvp/daily_reports/2026-07-30-session21.md`](../05_deliverables_mvp/daily_reports/2026-07-30-session21.md).
**Auto-score 4Big** : 96/100.
## Session `20260730_095728` (session 20)
**Tâche** : **Sprint 7 · QA** — Générateur de l'**Audit 4Big qualité** (roadmap