# WT2 — Permissions `transport.carriers.*` + sidebar (ticket 1.1 / ERP-153) > ```bash > git fetch origin > git worktree add ../sb-erp153-rbac -b feat/erp-153-rbac origin/develop > cd ../sb-erp153-rbac && claude > ``` > **Base** : `origin/develop` **après merge d'ERP-150** (le module `Transport` doit exister). Vérifie : `ls src/Module/Transport/`. --- ## Prompt à coller Projet Starseed (modular monolith DDD). Lis `CLAUDE.md`, `.claude/rules/architecture.md` et `.claude/rules/testing.md` avant de coder. **Mission** : poser le socle RBAC du module Transport et son entrée de menu. `TransportModule::permissions()` renvoie `[]` aujourd'hui. **Spec** : `spec-back.md § 5` + `spec-front.md § Accès`. **À livrer** : 1. `TransportModule::permissions()` déclare `transport.carriers.view`, `transport.carriers.manage`, `transport.carriers.archive`. `app:sync-permissions` les enregistre. 2. **Matrice § 5.2** : Admin (view+manage+archive), Bureau (view+manage), Commerciale (view), Compta + Usine (**aucune**). 3. **RÈGLE ABSOLUE n°8 — les 3 sources RBAC dans le MÊME commit** : - `config/sidebar.php` : section « Transport » + item `/carriers` + `permission: transport.carriers.view`, - `frontend/tests/e2e/_fixtures/personas.ts` : ajuster `permissions` + `expectedAdminLinks` des personas existants, - `src/Module/Core/Infrastructure/Console/SeedE2ECommand.php` : miroir back des mêmes personas. 4. Item sidebar masqué pour Compta/Usine ; visible Admin/Bureau/Commerciale. **Pièges** : - Ne touche QUE le RBAC/sidebar — pas d'entité, pas de migration. - Toute modif d'une seule des 3 sources sans les 2 autres = drift / test cassé. - Section « Transport » vs « Logistique » : prends « Transport » (cosmétique, alignable plus tard). **Tests à écrire/vérifier** : `app:sync-permissions` OK ; cohérence personas (pas de drift). Lance `make test`. **Scope STRICT** : RBAC + sidebar + 3 miroirs. Rien d'autre. **Fini quand** : `make test` vert + `make php-cs-fixer-allow-risky`. Commit (`--no-verify` si test vert), puis **ouvre la PR** : ```bash git push -u origin feat/erp-153-rbac tea pr create --base develop --head feat/erp-153-rbac \ --title "feat(transport) : permissions carriers + sidebar (ERP-153)" \ --description "RBAC transport.carriers.* + 3 sources RBAC alignées. Ticket ERP-153." ``` Puis labellise via l'API Gitea. Cible **develop**. Aucune mention IA.