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>
453 lines
10 KiB
JSON
453 lines
10 KiB
JSON
[
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Achat Acheteur",
|
|
"role_name": "OTO Achat Acheteur",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Achat Directeur",
|
|
"role_name": "OTO Achat Directeur",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Achat Fournisseurs",
|
|
"role_name": "OTO Achat Fournisseurs",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Achat Magasinier",
|
|
"role_name": "OTO Achat Magasinier",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Achat Réception",
|
|
"role_name": "OTO Achat Réception",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Compta Audit UAF",
|
|
"role_name": "OTO Compta Audit UAF",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Compta Clients AR",
|
|
"role_name": "OTO Compta Clients AR",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Compta Contrôle Gestion",
|
|
"role_name": "OTO Compta Contrôle Gestion",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Compta Fiscaliste eCF",
|
|
"role_name": "OTO Compta Fiscaliste eCF",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Compta Fournisseurs AP",
|
|
"role_name": "OTO Compta Fournisseurs AP",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Compta Général",
|
|
"role_name": "OTO Compta Général",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Compta Paie",
|
|
"role_name": "OTO Compta Paie",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Compta Trésorier",
|
|
"role_name": "OTO Compta Trésorier",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Conseil Administration",
|
|
"role_name": "OTO Conseil Administration",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Construction Architecte",
|
|
"role_name": "OTO Construction Architecte",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Construction BIM",
|
|
"role_name": "OTO Construction BIM",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Construction Chef Projet",
|
|
"role_name": "OTO Construction Chef Projet",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Construction Directeur",
|
|
"role_name": "OTO Construction Directeur",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Construction Ingénieur",
|
|
"role_name": "OTO Construction Ingénieur",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Construction QAQC",
|
|
"role_name": "OTO Construction QAQC",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Construction Sous-traitants",
|
|
"role_name": "OTO Construction Sous-traitants",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Direction Commerciale",
|
|
"role_name": "OTO Direction Commerciale",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Direction Financière",
|
|
"role_name": "OTO Direction Financière",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Direction Générale",
|
|
"role_name": "OTO Direction Générale",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Direction Opérations",
|
|
"role_name": "OTO Direction Opérations",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Direction Président",
|
|
"role_name": "OTO Direction Président",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Faisabilité Analyste",
|
|
"role_name": "OTO Faisabilité Analyste",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Faisabilité IFC Speckle",
|
|
"role_name": "OTO Faisabilité IFC Speckle",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Faisabilité Rendu 3D",
|
|
"role_name": "OTO Faisabilité Rendu 3D",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Faisabilité Économiste",
|
|
"role_name": "OTO Faisabilité Économiste",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Legal Directeur",
|
|
"role_name": "OTO Legal Directeur",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Legal ONAPI",
|
|
"role_name": "OTO Legal ONAPI",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Marketing Directeur",
|
|
"role_name": "OTO Marketing Directeur",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Marketing Publiciste",
|
|
"role_name": "OTO Marketing Publiciste",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Marketing SEO",
|
|
"role_name": "OTO Marketing SEO",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Marketing Social",
|
|
"role_name": "OTO Marketing Social",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Plateforme BI",
|
|
"role_name": "OTO Plateforme BI",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Plateforme DevOps",
|
|
"role_name": "OTO Plateforme DevOps",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Plateforme Mobile",
|
|
"role_name": "OTO Plateforme Mobile",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Plateforme OTOIA",
|
|
"role_name": "OTO Plateforme OTOIA",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Plateforme QA",
|
|
"role_name": "OTO Plateforme QA",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Plateforme RBAC Admin",
|
|
"role_name": "OTO Plateforme RBAC Admin",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Ventes Après-Vente",
|
|
"role_name": "OTO Ventes Après-Vente",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Ventes CONFOTUR",
|
|
"role_name": "OTO Ventes CONFOTUR",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Ventes Chef Équipe",
|
|
"role_name": "OTO Ventes Chef Équipe",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Ventes Conseiller",
|
|
"role_name": "OTO Ventes Conseiller",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Ventes Contrats",
|
|
"role_name": "OTO Ventes Contrats",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Ventes Courtier Externe",
|
|
"role_name": "OTO Ventes Courtier Externe",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Ventes Directeur",
|
|
"role_name": "OTO Ventes Directeur",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
},
|
|
{
|
|
"doctype": "Role",
|
|
"name": "OTO Ventes Réservations",
|
|
"role_name": "OTO Ventes Réservations",
|
|
"desk_access": 1,
|
|
"disabled": 0,
|
|
"two_factor_auth": 0,
|
|
"restrict_to_domain": null
|
|
}
|
|
]
|