⚠️ PROPOSITION SOUMISE À BEN — RIEN N'EST APPLIQUÉ. Texte à approuver, pas une doctrine en vigueur. Aucun code modifié pour l'écrire. Mesures du 03/08/2026 11:35. Copie disque : /root/phenix-corp/corps/_subtil/N20-REGLE-DECROISSANCE-PROPOSITION.md

0. Deux corrections à l'énoncé de la ligne, avant la règle

La carte s'intitule « décroissance & renforcement (Dernier rappel · Poids vital) ». Les deux champs qu'elle nomme ne peuvent pas porter la règle, et c'est mesuré :

① Poids vital n'est pas un compteur de vie — Ben a tranché le contraire le 17/07. Canon §7-X (« deux champs, pour toujours ») : poids_vital = poids curatoriel (1..5, posé à la gravure, changé seulement par une re-curation délibérée) · rappels = compteur mesuré (né à 0, incrémenté uniquement par un rappel réel, jamais backfillé). Faire décroître poids_vital laisserait le temps réécrire un jugement de curation. La règle ne le touche pas.

② Dernier rappel est un champ mort. 151 grains sur 480 le portent ; toutes ses valeurs datent de juin 2026, dont 106 au 11 juin — la date de naissance du vault. Le maximum est le 20 juin, il y a 44 jours. Ce n'est pas une horloge, c'est un vestige de template recopié à la gravure. Aucun code ne met ce champ à jour.

La seule horloge vivante est ailleurs : /root/neo/cerveau/_observe/rappels.jsonl, alimenté par recall et semrecall depuis le 29/07. C'est sur elle que la règle s'appuie.

1. Ce que la mesure dit aujourd'hui (avant toute règle)

Mesure Valeur Instrument
Corpus du cerveau 707 grains (2 vaults) calibration_f8_f9.py
Grains ayant au moins un rappel mesuré 0 / 707 idem
État de tout le corpus frais 707/707 idem
Seuils déjà écrits dans le noyau N=3 · decay ×0.98 · plancher 0.15 · salience ≥0.35 cerveau_script_01_noyau.py
Trajectoire d'oubli si F9 s'allumait médiane 68,6 cycles (min 14,2 · max 93,9) calibration_f8_f9.py
Observations de rappel réel 15, du 29/07 01:30 au 03/08 11:34 (≈ 2,8/jour) observe_rappels.py
Grains distincts touchés par un rappel 41 / 707 = 5,8 % idem

Le verdict de l'instrument, mot pour mot : « 🔴 RÉGIME DÉGÉNÉRÉ — 0 grain protégé à N actuel. F9 ferait décroître 100 % du corpus vers le plancher, sans exception. Calibrer maintenant = deviner. »

Ni la décroissance ni la maturation ne tournent en production. Le cron de 04:40 lance rafraichir_corpus.py, qui ne fait que reconstruire corpus, nœuds et arêtes. cerveau_script_08_synapses.py (qui contient la décroissance) n'est appelé que par un test. Rien, aujourd'hui, ne fait vieillir un souvenir.

Ce qui est déjà prêt et n'est pas à refaire : le capteur (observe_rappels.py, mode ZÉRO MUTATION, posé le 28/07 exactement pour préparer cette règle) · l'instrument de calibration (calibration_f8_f9.py) · la préservation des rappels au rafraîchissement nocturne (bija_to_grains.py l.220-228 : un compteur, une fois incrémenté, survit à la nuit). Rien n'est à bâtir pour cette règle. Il n'y a qu'à décider.

2. LA RÈGLE

2.1 — Trois champs, trois natures (le principe)

Champ Ce qu'il dit Qui le change Décroît ?
poids_vital 1..5 ce que je juge — curation une re-curation délibérée jamais
rappels 0..∞ ce que la vie mesure un rappel réel, +1 jamais (un compteur ne recule pas)
vivacite 0..1 ce que le temps fait recalculé à la demande oui — et c'est le seul

vivacite est dérivé et régénérable : jamais écrit dans le frontmatter d'un grain, recalculé à tout instant depuis rappels, poids_vital et la date du dernier rappel réel. C'est ce qui rend la règle sans risque : rien à migrer, rien à perdre, on peut la jeter d'un rm sur un cache. (Même statut que etat, que le canon du 17/07 déclare déjà « dérivé régénérable ».)

2.2 — Ce qui ne décroît JAMAIS

Un grain est INOUBLIABLE (vivacite = 1.0, à vie) s'il porte l'une de ces marques :