[DTP-Worker 20260805_074202] FIX de COUVERTURE : le livrable transverse demo/scenarios (Sprint 7 · CRM+Faisabilité) manquait des DEUX fiches co-porteuses → recensé, une seule source gatée

Complétude≠exactitude (même classe que le fix CRM/financement précédent). Diff
05_deliverables_mvp/*/ vs tables des 13 fiches : demo/scenarios est un livrable
produit (générateur demo_scenario_gen.py · 39 tests · out/{run_sheet,MANIFEST} ·
README déjà gaté · job CI demo-scenario-tests) mais recensé dans AUCUNE fiche
(grep demo|scenario sur 03_agents/*/AGENT.md = 0). Livrable transverse SANS agent
propre : README « Sprint 7 (CRM+Faisabilité) » + roadmap L68 l'assignent aux DEUX.

- Fiche CRM : sous-section « Livrable transverse · Sprint 7 » + table 1-ligne
  AUTO-GATÉE (label scenarios/ · chemin demo/scenarios ∈ plan.suites · cellule
  Tests recomputée depuis regression_plan.json par le row_re générique de
  check_readme_claims — la ligne HÉRITE du gate, 0 gate ajouté #5). Framée honnête :
  PAS un livrable CRM propre mais méta-générateur qui COMPOSE l'amont, source
  distincte du trio + du financement (laissés INTACTS).
- Fiche Faisabilité : cross-réf en prose (0 chiffre redupliqué #5) vers la fiche CRM
  + README module ; bancable alimente S-P07-BANQUIER.

Auto-gates franchis (3 axes) : Tests 39==source(39) · verbes build|validate==
subparsers · citation roadmap l.68==roadmap · job CI==ci.yml · check_docs cross-refs OK.
2 fichiers touchés + log. 0 chiffre inventé (#6) · 0 production éditée · 0 gate ajouté
(#5) · 0 commande VPS (#8). CI 33 PASS · 0 FAIL · 0 SKIP.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Code DTP Worker
2026-08-05 07:50:35 +00:00
parent f73404a6a4
commit a39dc28f59
3 changed files with 75 additions and 0 deletions
+20
View File
@@ -56,6 +56,26 @@ de séquencement, **surfacé non tranché** dans
[`OPEN_DECISIONS_REGISTER.md` D-02](../../05_deliverables_mvp/OPEN_DECISIONS_REGISTER.md) [`OPEN_DECISIONS_REGISTER.md` D-02](../../05_deliverables_mvp/OPEN_DECISIONS_REGISTER.md)
(ne pas re-litiger · #5). (ne pas re-litiger · #5).
## Livrable transverse · Sprint 7 — scénarios démo (co-porté CRM + Faisabilité)
Un **cinquième** livrable vit sous `05_deliverables_mvp/demo/scenarios/` : **pas un
livrable CRM propre**, mais un **méta-générateur** qui **compose** les livrables déjà
produits (pipeline CRM + dossier de vente, bancable, e-CF, CONFOTUR, portails, OTOIA,
SEO) en un **run-sheet de pitch** — sans jamais écrire une donnée métier lui-même
(CLAUDE.md #6). Il matérialise la roadmap **Sprint 7** (« CRM + Faisabilité : scénarios
démo P07 banquier / P05 client », L68) et est donc **co-porté** avec l'agent
Faisabilité — recensé ici parce que le pipeline CRM en est le fil conducteur, mais **il
ne partage aucune source avec le trio ni avec le financement** ci-dessus :
| Module | Sprint | Rôle | Entrée CLI | Job CI | Tests |
|---|---|---|---|---|---|
| [`scenarios/`](../../05_deliverables_mvp/demo/scenarios/README.md) | 7 (roadmap L68) | Méta-générateur `demo/scenarios` : compose les livrables existants en 2 run-sheets (`S-P07-BANQUIER` · `S-P05-CLIENT`) — zéro donnée métier inventée, tout est cité depuis les artefacts amont | `demo_scenario_gen.py build\|validate` | `demo-scenario-tests` | 39 |
La cellule **Tests 39** est **auto-gatée** exactement comme les lignes du trio :
`check_readme_claims` recompute chaque cellule « Tests » de fiche depuis
`regression_plan.json` (source unique · `demo/scenarios``plan.suites`). Détail des
2 scénarios, des invariants et de la composition dans le README du module.
## Anti-invention (#6) — pourquoi les taux de commission sont `null` ## Anti-invention (#6) — pourquoi les taux de commission sont `null`
**Aucun taux de commission n'est documenté dans CLAUDE.md.** Les taux du barème **Aucun taux de commission n'est documenté dans CLAUDE.md.** Les taux du barème
restent donc `null` (**confirmation sourcée** attendue de Michel), jamais une valeur restent donc `null` (**confirmation sourcée** attendue de Michel), jamais une valeur
+9
View File
@@ -28,6 +28,15 @@ traçable (formule recoupée en test). Aucune faisabilité concrète PXX n'est c
le générateur, son contrat et ses fixtures d'entrée le sont (le rendu réel des 9 projets le générateur, son contrat et ses fixtures d'entrée le sont (le rendu réel des 9 projets
s'exécute côté OTOIA/VPS · #8). s'exécute côté OTOIA/VPS · #8).
**Livrable transverse Sprint 7 (co-porté avec CRM).** Le module
[`demo/scenarios`](../../05_deliverables_mvp/demo/scenarios/README.md) — méta-générateur
qui **compose** en run-sheet de pitch les livrables amont, dont `bancable` côté
faisabilité (scénario `S-P07-BANQUIER`) — matérialise la roadmap Sprint 7 (« CRM +
Faisabilité : scénarios démo P07 banquier / P05 client », L68). Sa ligne recensée et
**auto-gatée** (cellule Tests) vit dans la fiche CRM
([`03_agents/crm/AGENT.md`](../crm/AGENT.md), §« Livrable transverse · Sprint 7 ») —
source unique, non redupliquée ici (#5).
## Faisabilité = SSOT · Project Identity Engine (Annexe 12 · V10.1) ## Faisabilité = SSOT · Project Identity Engine (Annexe 12 · V10.1)
Le [`DIRECTIVE_PIE_PROJECT_IDENTITY_ENGINE_20260803.md`](../../DIRECTIVE_PIE_PROJECT_IDENTITY_ENGINE_20260803.md) Le [`DIRECTIVE_PIE_PROJECT_IDENTITY_ENGINE_20260803.md`](../../DIRECTIVE_PIE_PROJECT_IDENTITY_ENGINE_20260803.md)
+46
View File
@@ -729,3 +729,49 @@ report, pas d'oracle de scoring vérifié dans `q4lib/scoring.py`).
(ancré Sprint 3), corrects — les churner serait de la dérive #5. `daily_reports/*` = historique, (ancré Sprint 3), corrects — les churner serait de la dérive #5. `daily_reports/*` = historique,
non réécrit. **0 gate ajouté** (surface déjà gatée par invariant 5 · [[verify-uncovered-before-gating]]), non réécrit. **0 gate ajouté** (surface déjà gatée par invariant 5 · [[verify-uncovered-before-gating]]),
**0 chiffre inventé** (#6, tout dérivé du roadmap), **0 commande VPS** (#8), **aucun `git clean`**. <!-- ci-allow : mention de l'interdit, jamais exécuté --> **0 chiffre inventé** (#6, tout dérivé du roadmap), **0 commande VPS** (#8), **aucun `git clean`**. <!-- ci-allow : mention de l'interdit, jamais exécuté -->
---
## Session 20260805_074202 · FIX de COUVERTURE — le livrable transverse `demo/scenarios` manquait des DEUX fiches co-porteuses
**Classe** : complétude ≠ exactitude ([[fiche-accuracy-audit-closed]]) — même classe que
le FIX précédent (CRM omettait `financement_bancaire`). Méthode : diff
`05_deliverables_mvp/*/` (modules à générateur + tests + `out/`) vs les tables de
livrables des 13 fiches `03_agents/*/AGENT.md`.
**Défaut réel trouvé.** Le module **`05_deliverables_mvp/demo/scenarios/`** — livrable
bel et bien produit (générateur `demo_scenario_gen.py` · **39 tests** · `out/{run_sheet,MANIFEST}` ·
README · déjà gaté par `check_readme_claims` sur son propre README + job CI
`demo-scenario-tests`) — n'était recensé dans **AUCUNE** des 13 fiches agents (grep
`demo|scenario` sur `03_agents/*/AGENT.md` = 0 hit). C'est un livrable **transverse
sans agent propre** : son README le cadre « Sprint 7 (CRM + Faisabilité) » et la roadmap
L68 l'assigne explicitement à **CRM + Faisabilité**. Les DEUX co-porteurs l'omettaient.
**Correctif — 2 fiches, une seule source gatée (anti-duplication #5).**
- **Fiche CRM** (`03_agents/crm/AGENT.md`) : nouvelle sous-section « Livrable transverse ·
Sprint 7 — scénarios démo », avec table 1-ligne **auto-gatée** (mirroir du précédent
`financement_bancaire`). La ligne pointe `…/demo/scenarios/README.md` et finit `| 39 |`
→ captée par le `row_re` de `check_readme_claims` (label `\w+/` = `scenarios/`, chemin
résolu `demo/scenarios``plan.suites`) → cellule Tests **recomputée** depuis
`regression_plan.json`. Framée honnêtement : **pas un livrable CRM propre** mais un
méta-générateur qui **compose** les livrables amont, co-porté, **ne partage aucune
source** avec le trio ni le financement.
- **Fiche Faisabilité** (`03_agents/faisabilite/AGENT.md`) : **cross-référence en prose**
(pas de chiffre redupliqué · #5) vers la fiche CRM + le README du module, mentionnant
que `bancable` alimente le scénario `S-P07-BANQUIER`.
**Auto-gates confirmés (3 axes indépendants, la ligne CRM franchit chacun).**
1. `Fiche 03_agents/crm/AGENT.md · demo/scenarios — Tests 39 == source (39)` (recompute
`regression_plan.json`).
2. `Entrée CLI · demo_scenario_gen.py — verbes build|validate == subparsers`.
3. `Traçabilité roadmap · demo/scenarios — citation l.68 == roadmap`.
Job CI `demo-scenario-tests` == ci.yml. `check_docs` : cross-refs `../crm/AGENT.md`
résolus OK.
**Portée honnête / anti-churn.** **2 fichiers** touchés (2 fiches) + ce log. **0 gate
ajouté** (surface déjà couverte par le `row_re` générique des cellules Tests ·
[[verify-uncovered-before-gating]] · [[doc-numeric-claims-gate]]) — la nouvelle ligne
*hérite* du gate existant. **0 chiffre inventé** (#6 · 39 dérivé de la source unique).
Le trio CRM + « Total CRM 81 tests » + le financement laissés **INTACTS** (demo hors-trio,
source distincte). **0 production éditée** (#5), **0 commande VPS** (#8), **aucun
`git clean`**. `./run_ci.sh`**33 PASS · 0 FAIL · 0 SKIP**. <!-- ci-allow : mention de l'interdit, jamais exécuté -->