brief-gemini: audit independant chantier accents (01/09/2026)
This commit is contained in:
@@ -0,0 +1,124 @@
|
|||||||
|
# Brief Gemini — Audit indépendant du chantier « désaccentuation systémique »
|
||||||
|
|
||||||
|
**Date** : 2026-09-01
|
||||||
|
**Demandeur** : Nabil
|
||||||
|
**Rôle attendu** : audit indépendant, pas relecture d'un rapport. Tu dois retester en direct
|
||||||
|
chaque point ci-dessous en lisant les fichiers réels et en exécutant les vérifications
|
||||||
|
toi-même, jamais en te fiant à ce brief pour conclure qu'un point est déjà bon.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contexte (résumé)
|
||||||
|
|
||||||
|
Claude a diagnostiqué et corrigé une cause racine : sur les 3 instances Hermes du NAS
|
||||||
|
(nyora, tt, perso), le fichier `SOUL.md` (le vrai prompt système, chargé à chaque session)
|
||||||
|
avait reçu le 18/07/2026 un bloc de règle de langue correctement accentué, ajouté **en tête**
|
||||||
|
du document — mais le corps préexistant du fichier (rédigé à l'origine par Nabil au clavier
|
||||||
|
QWERTY) n'avait jamais été réaccentué. Le volume de texte non accentué dans le corps
|
||||||
|
écrasait la règle énoncée une seule fois en tête.
|
||||||
|
|
||||||
|
Le même défaut a été retrouvé et corrigé dans : `RUNBOOK-TEMPLATE.md` (×3), `boot.md` et
|
||||||
|
`USER.md` (nyora), les 3 sous-agents nyora (`agent-veille.md`, `agent-contenu.md`,
|
||||||
|
`agent-commercial.md`), plusieurs fichiers `references/`, un profil Bot Mode
|
||||||
|
(`profiles/veilleur/SOUL.md`), et l'intégralité de `PROTOCOL-INFRA.md` (tronc + changelog
|
||||||
|
daté juillet-août) sur les 3 instances.
|
||||||
|
|
||||||
|
Côté DSH-VPS (pas de fichier `SOUL.md` équivalent — son identité vient de context-hub,
|
||||||
|
relue à chaque session) : un script de génération de document Word
|
||||||
|
(`/workspace/mp1/generate-docx-v3.mjs`) avait régressé sur les accents de sa page de garde
|
||||||
|
et de son sommaire par rapport à des versions antérieures (v1/v2) qui étaient correctes.
|
||||||
|
Corrigé, document régénéré. Une règle de langue permanente a été ajoutée dans
|
||||||
|
`context-hub`, scope `infra` (clé `langue_rule`), lue par Claude, Gemini et DSH à chaque
|
||||||
|
session via `GET /api/context`.
|
||||||
|
|
||||||
|
`hermes-nabil` (VPS) a été vérifié sain — aucune correction nécessaire.
|
||||||
|
|
||||||
|
Runbook complet : `bolbol/nas-runbooks/common/desaccentuation-systemique-soul-md-20260901.md`
|
||||||
|
|
||||||
|
## Pourquoi ce check
|
||||||
|
|
||||||
|
Nabil veut une garantie que ce n'est plus jamais un problème récurrent. Ton rôle est de
|
||||||
|
vérifier deux choses distinctes :
|
||||||
|
1. **Que les correctifs déjà appliqués tiennent** (pas de régression, pas d'oubli localisé).
|
||||||
|
2. **Qu'il n'existe pas d'autre foyer de la même maladie** ailleurs dans la stack — le motif
|
||||||
|
générique est : *une règle de style/langue ajoutée en tête d'un document ou d'un prompt
|
||||||
|
système, jamais appliquée au corps existant*, ou *un générateur de document avec des
|
||||||
|
chaînes françaises codées en dur, jamais relues lors d'une réécriture*.
|
||||||
|
|
||||||
|
## Méthodologie de scan (accents)
|
||||||
|
|
||||||
|
Pour tout fichier `.md`/`.mjs`/`.py`/`.js` candidat, calcule le ratio de caractères
|
||||||
|
accentués pour 1000 caractères :
|
||||||
|
```python
|
||||||
|
ACCENTED = set("éèêëàâäùûüôöîïçœæÉÈÊËÀÂÄÙÛÜÔÖÎÏÇŒÆ")
|
||||||
|
ratio = sum(1 for c in content if c in ACCENTED) / len(content) * 1000
|
||||||
|
```
|
||||||
|
Un ratio en dessous de ~4-5/1000 sur un fichier de prose française de plus de 200
|
||||||
|
caractères est suspect. Un français correctement rédigé tourne plutôt autour de 15-25/1000.
|
||||||
|
|
||||||
|
**Exclusions à respecter absolument** (sinon tu vas noyer le signal sous du bruit) :
|
||||||
|
- `node_modules/`, `.venv/`, `venv/`, `site-packages/`, `.pnpm-store/`, `lazy-packages/`
|
||||||
|
- Tout paquet de skill tiers en anglais (ex. `skills/agents/`, `skills/ai-seo/`,
|
||||||
|
`skills/autonomous-ai-agents/`, `skills/creative/ascii-art/` sur les instances NAS —
|
||||||
|
ce sont des skills vendor, pas du contenu de Nabil)
|
||||||
|
- Les logs de sortie cron (`/opt/data/cron/output/*.md`) — ce sont des artefacts de runs
|
||||||
|
passés, pas des instructions vivantes ; à signaler seulement s'ils révèlent un job cassé
|
||||||
|
produisant toujours la même sortie (taille identique répétée), pas pour l'accentuation
|
||||||
|
- Les fichiers `.bak_accents_*` (sauvegardes déjà connues)
|
||||||
|
- Les données brutes (codes, identifiants, noms d'entreprises, gouvernorats TT sans accent
|
||||||
|
par convention — Gabes, Kebili, Medenine, Tataouine, Tozeur)
|
||||||
|
|
||||||
|
## Périmètre précis à vérifier
|
||||||
|
|
||||||
|
### 1. Re-vérification des correctifs Claude (échantillonnage, pas juste croire que c'est bon)
|
||||||
|
- `SOUL.md` sur hermes-agent-nyora, hermes-agent-tt, hermes-agent-perso : lire le fichier
|
||||||
|
entier, confirmer visuellement qu'aucun paragraphe n'est resté désaccentué
|
||||||
|
- `RUNBOOK-TEMPLATE.md` ×3
|
||||||
|
- `PROTOCOL-INFRA.md` ×3 : vérifier notamment qu'il n'y a plus d'occurrence du texte
|
||||||
|
littéral `\x27` (`grep -c '\x27' PROTOCOL-INFRA.md` doit renvoyer 0)
|
||||||
|
- `context-hub` scope `infra` : `curl http://100.86.197.88:3093/api/rules/infra` et
|
||||||
|
confirmer que `langue_rule` est présent et lisible avec ses accents
|
||||||
|
|
||||||
|
### 2. Recherche de nouveaux foyers — NAS (3 instances hermes-agent-*)
|
||||||
|
Balayer `/opt/data/` (top-level + `agents/`, `skills/` hors vendor, `references/`,
|
||||||
|
`profiles/*/`, `memories/`) sur les 3 instances avec le scan ci-dessus. Toute trouvaille
|
||||||
|
sous le seuil doit être lue en entier avant conclusion (un ratio bas peut aussi être un
|
||||||
|
fichier légitimement technique/anglais).
|
||||||
|
|
||||||
|
### 3. DSH-VPS
|
||||||
|
- Relire `generate-docx-v3.mjs` (déjà corrigé) et confirmer qu'aucune autre chaîne codée
|
||||||
|
en dur n'a été manquée
|
||||||
|
- Vérifier s'il existe **d'autres** scripts de génération de document dans
|
||||||
|
`/workspace/` (pas seulement `mp1/`) — chercher tout `.mjs`/`.py` qui construit un
|
||||||
|
document Word/PDF/PPTX avec du texte français, et appliquer le même scan
|
||||||
|
- Vérifier `/home/dsh-agent/.dsh/memory/notes.md` et tout fichier sous `skills/`
|
||||||
|
|
||||||
|
### 4. Au-delà de Hermes et DSH — autres générateurs de documents Nyora
|
||||||
|
- `nyora-doc-api` (port 3050, `formatting.py`) : ce service centralise la charte
|
||||||
|
Nyora pour tous les documents générés (XLSX/DOCX/PPTX/PDF) — vérifier qu'aucun libellé,
|
||||||
|
en-tête, pied de page ou métadonnée codé en dur n'est désaccentué. C'est un point à
|
||||||
|
fort effet de levier : un défaut ici se propage à tous les documents produits par ce
|
||||||
|
service, comme `RUNBOOK-TEMPLATE.md` se propageait à tous les runbooks.
|
||||||
|
- `redaction-pro`, `family-help`, `nyora-veille`, `rla-api`, `gsparc-mezzouna` : vérifier
|
||||||
|
s'il existe des templates ou chaînes de titre/en-tête codées en dur (même recherche
|
||||||
|
ciblée, pas un audit complet de ces apps si rien ne saute aux yeux rapidement)
|
||||||
|
|
||||||
|
## Si tu trouves un problème
|
||||||
|
|
||||||
|
Applique le même protocole que Claude, sans exception :
|
||||||
|
1. Sauvegarde avant toute écriture (`cp fichier fichier.bak_accents_gemini_20260901`)
|
||||||
|
2. Corrige uniquement le texte français concerné — jamais les données, jamais le code
|
||||||
|
fonctionnel, jamais les identifiants ou URLs
|
||||||
|
3. Vérifie après écriture (relire le fichier, confirmer visuellement)
|
||||||
|
4. Documente dans le runbook existant ou un nouveau runbook si le périmètre est distinct
|
||||||
|
|
||||||
|
## Format de rapport attendu
|
||||||
|
|
||||||
|
Un runbook Gitea (`bolbol/nas-runbooks/common/audit-gemini-accents-20260901.md`), suivant
|
||||||
|
la convention établie : ce qui a été vérifié, ce qui était déjà bon (avec preuve — extrait
|
||||||
|
ou commande de vérification, pas juste "OK"), ce qui a été trouvé et corrigé (avec avant/
|
||||||
|
après), et ce qui reste incertain ou hors de ta portée. Mets à jour `_INDEX.md`.
|
||||||
|
|
||||||
|
**Important** : Claude relira ce rapport puis retestera en direct un échantillon des
|
||||||
|
points listés — pas de clôture du chantier sur la seule foi du rapport. Sois donc précis
|
||||||
|
et vérifiable plutôt qu'exhaustif et vague.
|
||||||
Reference in New Issue
Block a user