[DTP-Worker 20260802_080527] Sprint 8 · buffer · Doc QA : documentation du 2ᵉ étage QA (batterie de gates statiques ci/*.sh) dans qa/AGENT.md — trou comblé (le titre promettait « gates de méta-niveau », le corps n'en tabulait aucun) ; vérif préalable : pas de dérive fiscal/ecf (ledger schéma-#1 synthétisé), pas de gate redondant à ajouter
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -36,6 +36,28 @@ périmètre — un auditeur ne s'audite jamais.
|
||||
Ce compte est **découvert automatiquement depuis le CI** (`q4lib.registry.parse_ci`,
|
||||
réutilisé sans duplication) — jamais compté à la main.
|
||||
|
||||
## Deuxième étage QA : la batterie de gates statiques (`ci/*.sh`)
|
||||
Au-dessus des 4 modules d'audit ci-dessus, le mandat exécute une couche de **gates
|
||||
statiques** — les *gates de méta-niveau* du titre. Leur périmètre n'est **jamais**
|
||||
figé à la main : `check_ci_integrity` **découvre** l'ensemble via `git ls-files
|
||||
'ci/*.sh'` et **refuse** qu'un `ci/*.sh` ne soit pas câblé à un job du gate CI (ou
|
||||
inversement) — la liste ci-dessous est donc *l'état courant*, pas une constante.
|
||||
|
||||
| Gate | Rôle (une commande, déterministe, zéro chiffre fabriqué) |
|
||||
|---|---|
|
||||
| `check_ci_integrity.sh` | Intégrité du câblage CI : chaque `ci/*.sh` est câblé à un job **dans** `gate.needs` (aucun gate décâblé ni orphelin) — c'est le gardien des gardiens (il **s'exclut** lui-même · SoD). |
|
||||
| `check_readme_claims.sh` | Intégrité des **chiffres** des README / fiches agent (CLAUDE.md #6) : chaque compte cité est **recalculé** depuis l'artefact `out/` ou la source (jamais une donnée inventée). |
|
||||
| `check_artifacts.sh` | **Reproductibilité** : chaque `out/*.json` se régénère **byte-identique** (aucune dérive entre source et hand-off commité). |
|
||||
| `check_regression.sh` | **Fraîcheur** de la matrice de régression : le run rejoué == le run commité (aucune régression silencieuse · #5). |
|
||||
| `check_docs.sh` | Qualité documentaire : les liens Markdown relatifs internes pointent vers une cible **existante** (gate 4Big). |
|
||||
| `guard_constraints.sh` | Enforce les **contraintes NON-NÉGOCIABLES** de CLAUDE.md : plateformes git proscrites (hors Gitea), CRM interdits, paiement non conforme, écriture serveur bannie — via une prohibition marquée ou l'échappatoire `ci-allow`. |
|
||||
| `validate_json.sh` | Tous les `.json` suivis sont **bien formés** (parse strict) — première ligne de défense avant toute lecture d'artefact. |
|
||||
|
||||
Ces gates ne **produisent** pas de livrable métier : ils **prouvent** que les
|
||||
livrables des autres agents tiennent. Un nouveau gate suit la même règle — il est
|
||||
**automatiquement** intégré au périmètre dès qu'il est câblé (découverte CI), sans
|
||||
liste à maintenir.
|
||||
|
||||
## Non-négociables (voir CLAUDE.md racine pour la liste complète)
|
||||
- Gitea only (jamais GitHub)
|
||||
- ERPNext natif en priorité
|
||||
|
||||
Reference in New Issue
Block a user