07/09 08:35 (joker1) — LE JUGE ÉTAIT BLOQUÉ, rĂ©parĂ© : « You've reached your Fable limit » Ă  04:20 → 4 rouges « NON MESURÉ » dans le rĂ©sumĂ© de Ben. Cause : /root/.claude-juge/settings.json portait encore claude-fable-5-1 alors que Ben a basculĂ© sur Opus 5 (backup settings.juge.bak_j1_opus_*). RĂ©parĂ© (juge.sh --test ✅), attribution rejouĂ©e : 7 rouges nommĂ©s (6 joker2, 1 operateur), 0,12 $. Correctif durable : attribuer_rouges.py replie sur la Tour quand le juge est muet, Ă©tiquetĂ© « REPLI Tour (juge indisponible : 
) » ; les deux muets ⇒ NON MESURÉ nommant les deux pannes (12/12). Leçon : un profil Ă©pinglĂ© sur un modĂšle devient muet le jour oĂč le forfait change — le modĂšle se mesure, il ne se grave pas.

07/09 14:25 (joker1) — LE VERDICT ATTENDU EST RENDU, ET IL EST VERT : juger_adresses_forgees.py (mon instrument du 04/09) rejouĂ© ce matin sur le registre d'aujourd'hui → 152 forgĂ©es sans objection · 0 dĂ©saccord certain · 0 Ă  trancher (0,04 s). Le 🟠 ⑩ du banc de joker2 dit une PROVENANCE (152 forgĂ©es contre 9 ancrĂ©es), pas une faussetĂ© : par valeur, elles tiennent. Trou vu et bouchĂ© : ce verdict n'Ă©tait rejouĂ© par RIEN (le banc de nuit ne voit que verifier_* et banc_*) — un verdict qui ne se rejoue pas pĂ©rime au premier organe ajoutĂ©. EnrĂŽlĂ© sous banc_temoin_adresses_forgees.py (rouge si un dĂ©saccord certain apparaĂźt). ProposĂ© Ă  joker2 par courrier : que ⑩ lise ce verdict au lieu de compter les provenances.

07/09 16:23 (joker1, AUDIT) — ⚠ TROUVÉ EN CHERCHANT POURQUOI LE VPS MANQUAIT DE MÉMOIRE : la sauvegarde GitHub du corps est morte depuis le 25/08. github/main = 8afe736 (25/08) contre HEAD = e9d400b (07/09) → 47 commits jamais sauvegardĂ©s ; /var/log/phenix-backup.log s'arrĂȘte au 25/08 23:17 (le cron n'Ă©crit qu'en cas de succĂšs) et masque ses erreurs avec 2>/dev/null → 13 jours d'Ă©chec MUET. CoĂ»t mesurĂ© : le packing du push horaire tient 3,3 Go de RSS (vu 2 fois aujourd'hui), le VPS est descendu Ă  670 Mo libres, 2 tĂąches de fond tuĂ©es. Cause probable : corps/_run/logs/events.jsonl.1 (277,5 Mo) est suivi par git, hors .gitignore. RIEN TOUCHÉ (zone neo1) : mesure + courrier Ă  neo1 et Ă  Ben avec 4 gestes possibles, le premier Ă©tant de faire parler le cron. Leçon d'audit : une sauvegarde qui n'Ă©crit QUE ses succĂšs ne prouve rien — c'est l'Ă©chec qu'il faut consigner.

07/09 17:19 (joker1, GO Ben « neo1 est rate-limitĂ©, tu peux prendre sa main ») — SAUVEGARDE DU CORPS RÉPARÉE. Cause nue : .gitignore disait corps/_run/logs/*.jsonl, ce qui NE COUVRE PAS events.jsonl.1 (rotation) → un log de 275 Mo est entrĂ© dans git → GH001, GitHub refuse tout fichier > 100 Mo (le HTTP 408 vu d'abord n'Ă©tait qu'un symptĂŽme du volume). 13 jours d'Ă©chec muet. 4 gestes rĂ©versibles (backups /root/backups/*_j1_20260907-170621) : ① .gitignore Ă©largi corps/_run/logs/* ② git rm --cached des 3 logs (fichiers gardĂ©s sur le disque), commit a8827db ⑱ pack.windowMemory 128m + threads 1 + postBuffer 500 Mo (le packing tenait 3,3 Go et tuait des tĂąches) ④ /usr/local/bin/phenix-backup Ă©crit dĂ©sormais ses ÉCHECS (prouvĂ© 17:18). PAS FAIT exprĂšs : réécrire l'historique des 47 commits (dĂ©cision de Ben). En sĂ©curitĂ© : branche locale sauvegarde-avant-j1-20260907 + sauvegarde-contenu-20260907 POUSSÉE sur GitHub (commit orphelin, 2 447 fichiers, Ă©tat du jour). Main rendue.

đŸšȘ 07/09 23:00 — Le registre du corps ne connaissait aucune porte (et avalait les conteneurs jetables)

Parti d'une question de joker2 (« uniproxy flotte sur la carte, un alias suffit »), fini sur deux défauts de fond.

① Le refus. MesurĂ© : acces.json dit « UNIPROXY (TUI Mac) », une app Xcode Ă  lancer ; le registre dit uniproxy-membrane, un mitmdump systemd sur ce VPS, actif depuis le 01/09. Ni la mĂȘme machine, ni le mĂȘme moteur. Pas d'alias. Une fausse fusion se voit moins qu'un trou et fait plus de dĂ©gĂąts.

② La vraie cause, sous la question. Le registre unique du corps technique ne portait aucune adresse accessible — 161 organes, moteur rempli 32 fois, ni url ni port ni IP ailleurs ; la carte non plus (122 nƓuds). La seule source qui tienne les vraies portes, acces.json, n'Ă©tait lue par personne. Carte et registre ne pouvaient donc se joindre que par le nom — d'oĂč les nƓuds flottants. CorrigĂ© : acces.json devient la 10ᔉ source, elle pose 9 adresses rĂ©elles avec leur preuve, n'invente aucun organe, et dĂ©clare dehors, motivĂ©es, les 6 qu'elle ne peut pas prouver (au lieu de les laisser invisibles).

⑱ La fuite trouvĂ©e en chemin. Les conteneurs Ă  nom jetable (minisweagent-<8 hexa> — 5 hashes diffĂ©rents en 20 minutes) entraient au registre avec une adresse forgĂ©e : le banc partagĂ© tombait Ă  13/17 · 1 rouge sur un simple rebĂąti. RĂšgle Ă©troite posĂ©e → retour Ă  0 rouge.

Le tĂ©moin : banc_temoin_portes_registre.py — 4/7 avant le correctif, 7/7 aprĂšs, contrĂŽle nĂ©gatif inclus, ramassĂ© seul par le banc de nuit. Il garde les deux pannes que la correction peut rĂ©introduire : la fausse fusion et la disparition silencieuse.

⚠ Pour Ben : acces.json, la source des vraies portes du corps, date du 21/07 — 48 jours, personne ne la tient Ă  jour.

🔱 08-09/09 — Quatre rĂ©cidives, une seule cause : mes sondes Ă©taient justes, mes GRANDEURS ne l'Ă©taient pas

(joker1 · Claude Opus 5 · tout rejoué le 09/09 à 17h06 avant d'écrire ceci)

LE DÉFAUT, quatre fois en trois jours, jamais dans la sonde — toujours dans un nombre qui MÉLANGE DEUX NATURES :

quand le nombre ce qu'il mélangeait ce que ça a failli coûter
02/09 le compte des districts un district sali (dĂ©faut) ⊕ un district de plus (croissance) une fausse alerte permanente
08/09 le cliquet surChair un dĂ©faut ⊕ une dĂ©cision (joker2 avait dĂ©placĂ© la valeur exprĂšs le 05/09) accuser un collĂšgue d'une dĂ©gradation qui Ă©tait son choix
08/09 le dĂ©nominateur d'attribuer_rouges un ratĂ© ⊕ un cas non jugeable — phi4 notĂ© « 4/9 » alors que la vĂ©ritĂ© ne couvrait que 4 des 9 rouges (vrai score : 4/4) ≈ 18 $/mois gardĂ©s pour rien
09/09 mon Ă©cart de mesure sur un .glb le bruit d'encodage ⊕ la perte de forme une recommandation inversĂ©e envoyĂ©e Ă  deux agents

La leçon, et elle vaut pour tout le projet : une sonde cassée se voit. Une grandeur mal composée, on lui obéit. Avant de croire un score : que contient son dénominateur, que mélange son numérateur ?

TROIS CONTRÔLES POSÉS (rĂšgle mĂšre : deuxiĂšme rĂ©cidive ⇒ un contrĂŽle qui s'exĂ©cute, pas un rĂ©cit de plus) :