# Rapport de session · 2026-07-30 · session 24

## Tâche
**Sprint 8 · QA (buffer L75 · recette)** — Générateur de la **Matrice
d'acceptation / traçabilité MVP** : mappe chaque **promesse** de la roadmap
(8 livrables de sprint L33..L76 + 7 métriques succès MVP L81..L87) vers sa
**preuve** livrée (module gated du CI) OU un **hors-périmètre worker sourcé**.

Sprint 8 étant le dernier (déploiement VPS réel + monitoring hors périmètre
worker · #8), le volet réalisable en-repo restant est la **recette** : prouver
que le MVP promis est intégralement honoré et que ce qui reste est explicitement
hors périmètre. C'est la consolidation naturelle du « DELIVERABLE MVP » (L76) et
des métriques succès (L80-87).

## Gap comblé
Aucun artefact ne traçait les **promesses roadmap** vers les livrables. Les
preuves étaient éparpillées (gap analysis Sprint 1 + 23 rapports de session) sans
vue bijective « promesse → preuve », ni recensement des parties **hors périmètre
worker** (builds stores, indexation runtime, voix Amélie, déploiement VPS).

## Décision d'architecture
Harnais de **MÉTA-NIVEAU** orienté RECETTE, **axe distinct** des 4 autres méta
(non redondant · #5) :

| Harnais | Axe prouvé |
|---|---|
| `qa/audit_4big` | qualité **statique** par module (95+/100) |
| `qa/regression` | chaque suite **s'exécute** au vert |
| `devops/deploy_runbook` | **ordre** de déploiement VPS |
| **`qa/acceptance`** (nouveau) | **couverture des promesses** roadmap |

## Anti-invention (cœur · #6)
- **Périmètre PROUVÉ** : les modules-preuve sont **dérivés du CI**
  (`q4lib.registry.parse_ci`, réutilisé · zéro duplication · #5) et confrontés de
  façon **BIJECTIVE** — un module gated non tracé OU une preuve non gated →
  génération **refusée** ; la validation **recalcule** la couverture depuis le CI.
- **Cross-cohérence** : la fenêtre de sprint de chaque module est **lue** dans le
  registre de l'auditeur 4Big (`quality_spec.json`), jamais re-déclarée
  (anti-dérive) ; l'auditeur lui-même (SoD · absent de son registre) reçoit sa
  fenêtre via `extra_module_sprint`, **avec source**.
- **Partition exacte** par sprint : chaque livrable SX cite exactement les modules
  gated de fenêtre SX (ni trou ni chevauchement).
- **Zéro chiffre fabriqué** : les nombres des énoncés (`<1h`, `95/100`, `7
  dashboards`, `2 stores`) sont des **citations verbatim** de la roadmap ; la
  matrice ne prétend **aucune** mesure de performance.
- Tout **hors-périmètre** porte une **source** (#8 VPS · builds stores · runtime) ;
  **SoD** : la matrice ne se cite jamais elle-même.

## Fichiers créés — `05_deliverables_mvp/qa/acceptance/`
- `acceptance_spec.json` (8 livrables de sprint + 7 métriques MVP · `roadmap_line`
  pour chacun · hors-périmètre sourcé · **0 chiffre fabriqué**)
- `acclib/{__init__,deps,builder}.py` (`deps` réutilise `parse_ci` + validateur
  Publiciste + registre 4Big ; `builder` pur/déterministe)
- `acceptance_gen.py` (CLI `build`/`validate` · **10 familles d'invariants**)
- `acceptance.schema.json` (contrat draft-07)
- `out/{acceptance_matrix,MANIFEST}.json` (hand-off · verdict) ·
  `tests/test_acceptance.py` (**31 tests** dont 14 injections négatives) ·
  `README.md` · `.gitignore`

## Fichiers modifiés
- `.gitea/workflows/ci.yml` : job `qa-acceptance-tests` + ajout au `gate`.
- `qa/audit_4big/` : enregistrement du module (couverture bijective **20 → 21** ·
  PASS 21/21 à min 100) ; `out/` régénéré.
- `devops/deploy_runbook/` : `module_phase` +`qa/acceptance` (phase
  `verification-qa`) ; couverture bijective **20 → 21** ; `out/` régénéré.
- `qa/regression/out/` : plan régénéré (**20 → 21 suites** · découverte auto CI).

## Résultat
Matrice `verdict=true` — **15 promesses roadmap** (8 sprint + 7 métriques) ·
**21 modules gated tracés sans doublon** (bijectif) · **partition par sprint
exacte** (S2=7, S3=1, S4=5, S5=2, S6=2, S7=2, S8=2 ; S1 sur artefact) ·
**12 hors-périmètre sourcés**.

## Vérifs
- 31/31 tests module ; validations méta vertes (audit_4big 21/21 min 100 ·
  deploy 21/21 bijectif · regression 21 suites · acceptance bijectif+partition).
- Régression `run` exhaustive : **21/21 suites vertes · 534 tests passés · 0
  échec · 0 erreur** (503 → +31).
- Gate CI statique local vert (guard constraints · JSON · docs · YAML `ci.yml`).
- Build déterministe (régénérable bit-à-bit).

## Hors périmètre worker (VPS · #8)
Ce module **ne déploie rien** : il produit un document de recette en-repo.
L'exécution réelle (démo publique, application du run-book VPS, builds stores,
indexation, voix Amélie) revient à l'agent DevOps / la direction.

## Auto-score 4Big : 96/100
