diff --git a/03_agents/qa/AGENT.md b/03_agents/qa/AGENT.md index a0d5bd6..f65b6c1 100644 --- a/03_agents/qa/AGENT.md +++ b/03_agents/qa/AGENT.md @@ -21,10 +21,10 @@ périmètre — un auditeur ne s'audite jamais. | Module | Sprint | Rôle | Entrée CLI | Job CI | Tests | |---|---|---|---|---|---| -| `audit_5d/` | 5 (roadmap L57) | Audit **5D** de conformité : 17 contrôles / 5 dimensions, lit les `out/` amont, coche UAF + normes ISA/IFRS | `audit_5d_gen.py build\|validate` | `qa-audit-5d-tests` | 37 | -| `audit_4big/` | 7 (roadmap L69) | **Gate qualité** : note 4Big de 100 % des livrables, verdict `FAIL` si un module < 95/100 ou couverture incomplète | `audit_4big_gen.py build\|validate` | `qa-audit-4big-tests` | 35 | -| `regression/` | 8 (roadmap L74) | **Matrice de régression** : agrège l'exécution de **toutes** les suites gated en un verdict unique + le compte agrégé faisant autorité | `regression_gen.py build\|validate\|run` | `qa-regression-tests` | 25 | -| `acceptance/` | 8 (roadmap L75 / L80-87) | **Recette / traçabilité** : mappe chaque promesse roadmap (8 livrables + 7 métriques) vers sa preuve, bijectif vs CI | `acceptance_gen.py build\|validate` | `qa-acceptance-tests` | 31 | +| [`audit_5d/`](../../05_deliverables_mvp/qa/audit_5d/README.md) | 5 (roadmap L57) | Audit **5D** de conformité : 17 contrôles / 5 dimensions, lit les `out/` amont, coche UAF + normes ISA/IFRS | `audit_5d_gen.py build\|validate` | `qa-audit-5d-tests` | 37 | +| [`audit_4big/`](../../05_deliverables_mvp/qa/audit_4big/README.md) | 7 (roadmap L69) | **Gate qualité** : note 4Big de 100 % des livrables, verdict `FAIL` si un module < 95/100 ou couverture incomplète | `audit_4big_gen.py build\|validate` | `qa-audit-4big-tests` | 35 | +| [`regression/`](../../05_deliverables_mvp/qa/regression/README.md) | 8 (roadmap L74) | **Matrice de régression** : agrège l'exécution de **toutes** les suites gated en un verdict unique + le compte agrégé faisant autorité | `regression_gen.py build\|validate\|run` | `qa-regression-tests` | 25 | +| [`acceptance/`](../../05_deliverables_mvp/qa/acceptance/README.md) | 8 (roadmap L75 / L80-87) | **Recette / traçabilité** : mappe chaque promesse roadmap (8 livrables + 7 métriques) vers sa preuve, bijectif vs CI | `acceptance_gen.py build\|validate` | `qa-acceptance-tests` | 31 | **Quatre axes distincts, non redondants** (CLAUDE.md #5 · éliminer les doublons) : `audit_4big` note la **qualité statique** · `regression` prouve l'**exécution** · diff --git a/05_activity_log/2026-07-30.md b/05_activity_log/2026-07-30.md index 267ede3..4eac38c 100644 --- a/05_activity_log/2026-07-30.md +++ b/05_activity_log/2026-07-30.md @@ -1328,3 +1328,55 @@ résolvent) · `ci/guard_constraints.sh` EXIT 0 · régression inchangée 534 te **Hors périmètre worker (VPS · #8)** : néant (changement doc-only en-repo). **Auto-score 4Big** : 96/100. + +--- + +## Session 20260730_202854 · Buffer S8 · Fiche agent QA cross-linke ses 4 livrables in-repo + +**Tâche** : **Sprint 8 · buffer L75 (corrections finales · doc)** — roadmap +fonctionnellement close (21/21 modules gated verts · 534 tests · guards verts). +Poursuite du chantier de cohérence des fiches agents (sessions 35-36 : `faisabilite` +puis `publiciste` ont reçu des liens cliquables vers leurs artefacts in-repo). + +**État vérifié en début de session** : +- `ci/check_docs.sh` EXIT 0 · `ci/guard_constraints.sh` EXIT 0 · `ci/validate_json.sh` EXIT 0. +- Régression exhaustive : **22 suites** exécutées une à une → **toutes OK** ; + matrice `qa/regression` → **21 suites gated · 534 méthodes · verdict PASS**. + +**Défaut réel identifié** : la table « Livrables QA réellement produits » de +`03_agents/qa/AGENT.md` listait ses 4 modules (`audit_5d/`, `audit_4big/`, +`regression/`, `acceptance/`) en **code-spans nus, non cliquables** — alors que le +pattern établi par `faisabilite` (session ≤36) et `publiciste` (session 36) est un +**lien markdown cliquable** `[`module/`](../../05_deliverables_mvp/…/README.md)`. +Mesure objective : `grep -c "](../../05_deliverables_mvp"` → `faisabilite`=3, +`publiciste`=4, mais `qa`=**0** (idem crm/devops/erpnext_backend/frontend_console/ +onapi_legal/seo — chantier restant, une fiche par commit). Un lecteur de la fiche QA +n'avait aucun chemin cliquable vers l'artefact réalisant chaque gate. + +**Fichier modifié** (doc pure · 0 code) — `03_agents/qa/AGENT.md` : les 4 cellules +`Module` de la table deviennent des liens vers le `README.md` in-repo de chaque module. +Cibles **vérifiées existantes** (`test -f`) avant édition : +`05_deliverables_mvp/qa/{audit_5d,audit_4big,regression,acceptance}/README.md`. + +**Anti-invention (#6)** : les 4 compteurs de tests de la table (37/35/25/31) ont été +**revérifiés** contre le disque (`grep -c "def test_"` par module) → identiques. +Note d'honnêteté sur `regression`=**25** : `unittest discover` n'en exécute que **24**, +car la 25ᵉ occurrence (`test_regression.py:47` `def test_case_{i}` dans une **f-string**) +est un gabarit de test synthétique généré par le harnais, pas une méthode exécutable. +Le **25** de la fiche suit la convention de recensement **faisant autorité** de la +matrice de régression (comptage par regex `def test_`, qui inclut ce gabarit) et +reste donc cohérent avec le total **534** ; le désynchroniser à 24 casserait la +bijection. Aucun chiffre n'a été fabriqué ni modifié. + +**Vérifs post-édition** : `ci/check_docs.sh` EXIT 0 (**0 lien interne cassé** — les 4 +nouvelles cibles résolvent) · `ci/guard_constraints.sh` EXIT 0 · régression inchangée +(doc-only, 0 code). `qa/AGENT.md` : links `](../../05_deliverables_mvp` 0 → **4**. + +**Hors périmètre worker (VPS · #8)** : néant (changement doc-only en-repo). + +**Reste du chantier fiches** (sessions futures, une par commit) : `crm`, `devops`, +`erpnext_backend`, `frontend_console`, `onapi_legal`, `seo` — encore 0 lien cliquable +vers leurs livrables in-repo propres. (`bim`/`ifc_speckle`/`rendu`/`mobile` = VPS-only, +sans livrable in-repo propre → hors chantier, légitimement 0.) + +**Auto-score 4Big** : 96/100.