Files
Claude Code DTP Worker a30ff937f0 [DTP-Worker] Sprint 8 · buffer L75 · Reproductibilité checkout propre : hand-off out/ des 4 générateurs RBAC était .gitignore-é (gate rouge en CI, vert local seulement) + durcissement check_artifacts (build produit ⇒ DOIT être suivi par git)
Défaut réel (même classe que le bug regression_run.json corrigé plus tôt) :
les 4 générateurs RBAC (fixtures_gen/userperm_gen/roleprofile_gen/apply_plan)
.gitignore-aient leur out/, alors qu'ils sont audités en archétype `generator`
(critère HANDOFF). En checkout PROPRE (git archive HEAD = ce que voit le runner
Gitea) leur out/ est absent → qa/audit_4big (dont le build relit le out/ de
CHAQUE module) les note 80<95 ⇒ INV7 ⇒ build refusé ⇒ check-artifacts ET
check-regression ROUGES. Ça ne passait qu'en local via les out/ non suivis
laissés par des build manuels.

Fix : committer le out/ des 4 générateurs (build byte-déterministe prouvé ;
apply_plan lit ses frères en process, pas via out/) → alignement sur les 15
autres générateurs ; audit 100/100 en checkout propre.

Durcissement : check_artifacts.sh exige désormais `git ls-files --error-unmatch`
sur chaque fichier produit → un out/ ignoré/non commité devient une erreur
LOCALE honnête au lieu d'une surprise en CI. Bite-proof : git rm --cached d'un
artefact (laissé sur disque) ⇒ exit 1 ; re-add ⇒ exit 0.

Régénéré : quality_report.json (dérive DOC = taille des 4 README édités).
Vérifs : 6 gates verts sur git archive propre ; 534/21 inchangé ; suites OK.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 01:42:14 +00:00

43 lines
964 B
JSON

{
"generated_from": "rbac_50_roles.json",
"source_version": "1.0.0",
"cible_rbac_roles": 50,
"counts": {
"roles": 50,
"custom_docperm": 116,
"doctypes_uniques": 45,
"user_permission_templates": 28,
"role_profiles": 6
},
"confirmations_vps": {
"custom_doctypes": [
"API Access",
"CONFOTUR Application",
"Faisabilité",
"Publiciste Log"
],
"companies": [
"AC Arias Cuevas",
"Consortium ECR DR",
"Helios RD",
"Ploutos",
"WA SRL"
],
"roles_scope_equipe": [
"OTO Construction Chef Projet",
"OTO Construction Ingénieur",
"OTO Construction Sous-traitants",
"OTO Ventes Chef Équipe"
]
},
"consistency": {
"sources_coherentes": true,
"source_version": "1.0.0",
"cible_rbac_roles": 50,
"roles_fixtures": 50,
"userperm_plan_entries": 50,
"roleprofile_roles_couverts": 50,
"couverture_bijective": true
}
}