Files

4.7 KiB

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=true15 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