[DTP-Worker] Sprint 2 · Générateur Role Profile par portail (RBAC 50 rôles → 6 bundles assignables ERPNext v15)
- roleprofile_gen/ : profilelib (frappe Role Profile + Has Role natif v15, builder déterministe), roleprofile.schema.json, CLI build/validate refusant d'écrire si invariant cassé, 11 tests stdlib, README, .gitignore (out/). - 6 profils couvrant les 50 rôles de façon bijective (5 portails métier + console technique plateforme). Aucun DocType custom (que du natif). - Anti-invention #6 : rôles 100 % issus du contrat, nom de profil = convention déterministe dérivée de la clé portail. - CI : job rbac-roleprofile-tests ajouté au gate (.gitea/workflows/ci.yml). - Doc : SPEC §7 ét.5 + encart livré. Daily report session 8. - Régression : 83 tests verts (72 + 11). Gate CI local vert. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -136,7 +136,12 @@ cible côté serveur (`erpnext-backend-1`) :
|
||||
par utilisateur assigné (champ `user` = sentinelle) après confirmation des
|
||||
Companies (`MANIFEST.companies_a_confirmer`) et décision du mécanisme des
|
||||
rôles `equipe` (`MANIFEST.roles_scope_equipe_a_confirmer`).
|
||||
5. Vérification HTTP post-déploiement (workflow #3) + audit QA 4Big.
|
||||
5. Générer les **`Role Profile`** (bundles de rôles par portail) — **livré** :
|
||||
[`roleprofile_gen/`](roleprofile_gen/README.md) (`python3 roleprofile_gen.py
|
||||
build`). Importer `role_profile.json` **après** les fixtures `Role` (étape 3),
|
||||
puis affecter `User.role_profile_name` selon `MANIFEST.profiles` → tous les
|
||||
rôles d'un portail appliqués en un geste.
|
||||
6. Vérification HTTP post-déploiement (workflow #3) + audit QA 4Big.
|
||||
|
||||
> ✅ Le **générateur de fixtures** `rbac_50_roles.json → fixtures/` est **livré**
|
||||
> en-repo ([`fixtures_gen/`](fixtures_gen/README.md), même patron que le
|
||||
@@ -148,6 +153,12 @@ cible côté serveur (`erpnext-backend-1`) :
|
||||
> templates `Company` (portée `entite`), portées `own`/`groupe` sans restriction
|
||||
> fabriquée, portée `equipe` signalée (pas de dimension native → aucune
|
||||
> invention #6). 12 tests + job CI `rbac-userperm-tests`.
|
||||
>
|
||||
> ✅ Les **`Role Profile`** (bundles de rôles par portail) sont **livrés** en-repo
|
||||
> ([`roleprofile_gen/`](roleprofile_gen/README.md)) : **6 profils** (5 portails
|
||||
> métier + console technique `plateforme`) couvrant les **50 rôles de façon
|
||||
> bijective**, 100 % DocTypes natifs v15 (`Role Profile` + `Has Role`), aucun
|
||||
> DocType custom à confirmer. 11 tests + job CI `rbac-roleprofile-tests`.
|
||||
|
||||
## 8. Vérification (en-repo, sans toucher au VPS)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user