a30ff937f0
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>
99 lines
2.5 KiB
JSON
99 lines
2.5 KiB
JSON
[
|
|
{
|
|
"order": 1,
|
|
"id": "fixtures-generate",
|
|
"titre": "Générer les fixtures Role + Custom DocPerm",
|
|
"responsable": "worker",
|
|
"statut": "livré",
|
|
"commande": "python3 fixtures_gen/rbac_fixtures_gen.py build",
|
|
"produces": [
|
|
"role.json",
|
|
"custom_docperm.json"
|
|
],
|
|
"depends_on": [],
|
|
"confirmations": [],
|
|
"doc": "../fixtures_gen/README.md"
|
|
},
|
|
{
|
|
"order": 2,
|
|
"id": "custom-doctypes-create",
|
|
"titre": "Créer les DocTypes DTP custom manquants (après confirmation)",
|
|
"responsable": "vps",
|
|
"statut": "à faire VPS",
|
|
"commande": null,
|
|
"produces": [],
|
|
"depends_on": [
|
|
"fixtures-generate"
|
|
],
|
|
"confirmations": [
|
|
"custom_doctypes"
|
|
],
|
|
"doc": "../RBAC_50_ROLES_SPEC.md"
|
|
},
|
|
{
|
|
"order": 3,
|
|
"id": "fixtures-migrate",
|
|
"titre": "Déposer role.json + custom_docperm.json dans fixtures/ puis bench migrate",
|
|
"responsable": "vps",
|
|
"statut": "à faire VPS",
|
|
"commande": null,
|
|
"produces": [],
|
|
"depends_on": [
|
|
"fixtures-generate",
|
|
"custom-doctypes-create"
|
|
],
|
|
"confirmations": [],
|
|
"doc": "../fixtures_gen/README.md"
|
|
},
|
|
{
|
|
"order": 4,
|
|
"id": "userperm-apply",
|
|
"titre": "Matérialiser les User Permission row-level par utilisateur",
|
|
"responsable": "worker+vps",
|
|
"statut": "plan livré · matérialisation VPS",
|
|
"commande": "python3 userperm_gen/userperm_gen.py build",
|
|
"produces": [
|
|
"user_permission_plan.json"
|
|
],
|
|
"depends_on": [
|
|
"fixtures-migrate"
|
|
],
|
|
"confirmations": [
|
|
"companies",
|
|
"roles_scope_equipe"
|
|
],
|
|
"doc": "../userperm_gen/README.md"
|
|
},
|
|
{
|
|
"order": 5,
|
|
"id": "roleprofile-apply",
|
|
"titre": "Importer les Role Profile (après les Role) puis affecter User.role_profile_name",
|
|
"responsable": "worker+vps",
|
|
"statut": "bundle livré · affectation VPS",
|
|
"commande": "python3 roleprofile_gen/roleprofile_gen.py build",
|
|
"produces": [
|
|
"role_profile.json"
|
|
],
|
|
"depends_on": [
|
|
"fixtures-migrate"
|
|
],
|
|
"confirmations": [],
|
|
"doc": "../roleprofile_gen/README.md"
|
|
},
|
|
{
|
|
"order": 6,
|
|
"id": "verify-http-qa",
|
|
"titre": "Vérification HTTP post-déploiement + audit QA 4Big",
|
|
"responsable": "vps",
|
|
"statut": "à faire VPS",
|
|
"commande": null,
|
|
"produces": [],
|
|
"depends_on": [
|
|
"userperm-apply",
|
|
"roleprofile-apply"
|
|
],
|
|
"confirmations": [],
|
|
"doc": "../RBAC_50_ROLES_SPEC.md"
|
|
}
|
|
]
|