Pack template (gabarit)

Structure recommandée d'un pack:

packs/<slug>/
  PackServiceProvider.php      # enregistre ops, règles, validators
  rules.php                    # tableau de règles pour le moteur logique (PHP ou JSON)
  config.php                   # meta + settings par défaut (enabled, datasets…)
  src/
    Ops/*.php                  # OperationHandler (facultatif)
    Validators/*.php           # Validator (facultatif)
  assets/
    *.json                     # datasets (icônes/couleurs…)
  ui/
    badges.js                  # contributions badges (ESM, via registerSlotContribution)
    edit_tabs.js               # contributions onglets éditeur (ESM)

Rappels:
- Aucune logique métier dans l'UI, uniquement des slots déclaratifs.
- Préférer tag.add/remove pour manipuler l'état; ajouter des ops dédiées seulement si nécessaire.
- Les validations non structurelles doivent être pack-scopées (Validator), pas dans le noyau.

