[DTP-Worker] Sprint 8 · buffer · Gate reproductibilité artefacts (ci/check_artifacts.sh) + fix dérive run_sheet demo 18→21

Nouveau gate CI bloquant : régénère chaque 05_deliverables_mvp/**/out/ depuis son
générateur `build` et exige l'égalité byte-for-byte avec le fichier commité
(découverte auto · stdlib pur · zéro pip). Attrape la dérive silencieuse d'un
artefact qui auto-résout une valeur depuis un autre module et devient périmé quand
la source grandit — dérive qu'aucune suite tests/ (fonctions, pas fichier commité)
n'attrapait.

Défaut détecté et corrigé par ce gate : demo/scenarios/out/run_sheet.json
embarquait ci_modules_count=18 (buildé Sprint 7) alors que qa/audit_4big en compte
désormais 21. Régénéré (diff 1 ligne). Consistance live re-vérifiée.

Wiring : job check-artifacts + needs du gate agrégé (.gitea/workflows/ci.yml) ·
doc (ci/README.md). Vérifs : test négatif du gate OK (dérive → EXIT 1), 4 gates
statiques EXIT 0, suites CI-parsing vertes (regression/acceptance/audit_4big/demo),
21/21 suites · 534 tests, compteurs dérivés stables.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Code DTP Worker
2026-07-30 23:38:15 +00:00
parent 535bc83e0d
commit e16c4f676d
6 changed files with 223 additions and 3 deletions
+18 -1
View File
@@ -43,6 +43,23 @@ jobs:
- name: Contrôle docs
run: bash ci/check_docs.sh
# --------------------------------------------------------------------------
# Reproductibilité des artefacts (Sprint 8 · DevOps CI/CD). Prouve que chaque
# `05_deliverables_mvp/**/out/*.json` versionné se régénère À L'IDENTIQUE
# depuis son générateur `build`. Attrape la dérive silencieuse d'un artefact
# qui auto-résout une valeur depuis un AUTRE module (ex. demo/scenarios lit
# qa/audit_4big/coverage) et devient périmé quand la source grandit — dérive
# qu'aucune suite `tests/` (qui teste des fonctions, pas le fichier commité)
# n'attrape. stdlib pur, zéro pip.
# --------------------------------------------------------------------------
check-artifacts:
name: Reproductibilité des artefacts out/ (build == commité)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Contrôle reproductibilité artefacts
run: bash ci/check_artifacts.sh
# --------------------------------------------------------------------------
# Publiciste (Sprint 2) : parser faisabilité → projets_master.json + generator.
# Tests unitaires stdlib pur (unittest) → aucune installation pip requise sur
@@ -428,7 +445,7 @@ jobs:
gate:
name: Gate qualité (agrégat)
runs-on: ubuntu-latest
needs: [constraints-guard, validate-json, check-docs, publiciste-tests, rbac-tests, faisabilite-gen-tests, rbac-fixtures-tests, rbac-userperm-tests, rbac-roleprofile-tests, rbac-applyplan-tests, bancable-tests, crm-workflow-vente-tests, crm-dossier-vente-tests, crm-commissions-tests, fiscal-ecf-tests, frontend-portails-tests, legal-confotur-tests, qa-audit-5d-tests, seo-tests, chat-otoia-tests, qa-audit-4big-tests, demo-scenario-tests, qa-regression-tests, devops-deploy-runbook-tests, qa-acceptance-tests]
needs: [constraints-guard, validate-json, check-docs, check-artifacts, publiciste-tests, rbac-tests, faisabilite-gen-tests, rbac-fixtures-tests, rbac-userperm-tests, rbac-roleprofile-tests, rbac-applyplan-tests, bancable-tests, crm-workflow-vente-tests, crm-dossier-vente-tests, crm-commissions-tests, fiscal-ecf-tests, frontend-portails-tests, legal-confotur-tests, qa-audit-5d-tests, seo-tests, chat-otoia-tests, qa-audit-4big-tests, demo-scenario-tests, qa-regression-tests, devops-deploy-runbook-tests, qa-acceptance-tests]
steps:
- name: Résultat
run: echo "✅ Gate qualité 4Big franchi — tous les checks verts."