# DÉCISION CANONIQUE — refetik

> **Autorité** : décision Mehdi Gharbi, 2026-07-18.
> **Statut** : ACTIF. Source de vérité unique pour le périmètre ci-dessous.
> **Précédent** : même discipline que la décision TTS « Pipeline 1 Chirp3-HD canonique / Gemini-TTS abandonné » — une autorité écrite + l'alternative explicitement tuée.

## Règle
`refetik` (ce repo → https://ref.etikpharma.com) est l'**UNIQUE source canonique de la couche design & artefacts réutilisables** d'EtikPharma :

- **chartes graphiques** (tokens couleur/typo, logos, règles de mise en page) ;
- **templates / générateurs réutilisables** (modèles PDF/HTML, ex. le générateur de fiches apothicAIre) ;
- **petits registres / catalogues d'alias / pointeurs de convention** ;
- **prompt-packs** d'alignement pour Claude.

**Flux gravé :** on **LIT** depuis refetik ; on n'**ÉCRIT** un artefact réutilisable de cette couche **QUE** dans refetik ; un artefact produit ailleurs y est **versé avant clôture** (dossier + entrée `registry.json`). Toute copie ailleurs est soit **DÉRIVÉE** (générée depuis refetik), soit **TOMBSTONE** (`MOVED → refetik`, jamais un delete silencieux tant que des liens/réflexes peuvent y taper).

## Hors périmètre — restent canoniques chez eux (refetik les POINTE, ne les DUPLIQUE jamais)
- **Référentiels données pharma** (Supabase) : LPP, articles ameli, marché para, standards, labos génériques, prescripteurs.
- **Lexique dicodev** (app `lexiquedev` + `DATA.terms`).
- **Domi Knows / souffleur**, scrapers (`robot/`), corpus, apps HTML métier.
- **Composants & UI** (boutons, cartes, KPI, tableaux, champs, coquilles de page, standards de flotte) → **Claude Design**, depuis le 2026-07-31. Pointeur : `pointeurs/design-system-ui.md`.

### Amendement du 2026-07-31 — sortie des composants/UI
Décision Mehdi. La règle ci-dessus couvrait « chartes graphiques (tokens couleur/typo, logos, règles
de mise en page) » sans jamais nommer les **composants**. Ils sortent explicitement du périmètre :

- **refetik garde** les chartes (valeurs de marque, typo, couche mouvement) et les templates/générateurs PDF ;
- **Claude Design porte** les composants et l'UI.

**Motif** — un design system porté par Claude Design est **lu et appliqué par la génération** : le canon
vit là où les écrans se produisent, au lieu d'attendre qu'on pense à l'ouvrir. Mesure qui a tranché :
**21 fichiers** de `apps/` portaient encore le teal legacy de la marque v3 contre 10 en v4, alors qu'une
feuille de style se déclarait « partagée » par six applications — partage **déclaratif, jamais mécanique**.

**Vérifié le 2026-07-31**, premier écran généré : le modèle a lu les fiches du système, **nommé de
lui-même la famille** qu'il retenait (« Comptoir », la bonne pour un écran d'équipe), appliqué la
grammaire et pas seulement les teintes (chip actif pétrole vs navigation corail, en-têtes de tableau
pétrole, barre d'accent corail, KPI en display + label mono), et **repris une règle rédigée** — « un
tableau dense ne se réduit pas, il s'élague » — sur un cas non décrit.

⚠️ **Ce n'est pas une contrainte technique.** Le mécanisme est la LECTURE des fiches, pas un contrôle
automatique : le linter d'adhérence de l'outil (`_adherence.oxlintrc.json`) est vide et attend des
composants de code non fournis, et un fichier de jetons CSS déposé à la racine **n'est pas récolté**
(essayé et mesuré le 2026-07-31). Le canon est donc **suivi**, pas **opposable** — ne pas écrire
l'inverse sans avoir remesuré.

**Hiérarchie en cas de conflit** : sur une couleur de marque ou un jeton de mouvement,
`charte/etikpharma-maison.md` **fait foi**. Le design system UI en est un consommateur, pas un
remplaçant. Ce n'est donc pas un second canon sur le même objet, mais un canon sur un objet voisin.

> ⚠️ Ce fichier est **servi publiquement** (le site sert le repo tel quel, `publish = "."`).
> Identifiants de projet, noms de schémas/tables et détails d'infrastructure restent dans
> le repo privé `EtikPharma` — jamais ici. Repo privé ≠ site public.

Ces sources sont déjà canoniques et agent-accessibles (Supabase REST/MCP, CF Workers). refetik peut les **référencer** dans `registry.json`, jamais les recopier.

## Décommission (façon chirp3)
Une source migrée n'est éteinte qu'**après** import vérifié **et** liens repointés → on laisse un **tombstone** (`MOVED → refetik/...`). L'historique git reste.

## Conflits réconciliés
- ✅ **Règle `await`** (2026-07-18) : le skill `etikpharma-project-index` la réclamait encore alors que
  `EtikPharma/docs/CONVENTIONS.md` v1.1 l'avait supprimée. → skill claude.ai nettoyé (0 occurrence) ;
  `CONVENTIONS.md` v1.2 §9 déclare refetik canonique ; skill `refetik` publié. **Commandes brutes** partout.
  **Complété le 2026-07-18 (revue adversariale)** : la règle morte survivait encore dans une copie
  versionnée du skill (`EtikPharma/skill/skill project index/SKILL_etikpharma-project-index_v2.md`,
  9 occurrences dont la description) — tombstonée. Un conflit n'est réconcilié que quand **toutes**
  les copies le sont, pas seulement l'exemplaire publié.
