7.3 KiB
Acte — Mise en ligne M3a (inertie à cinq crans, échelle calée sur la participation, réglages)
Classe : déploie
Projet : libreDecision Date : 2026-10-30
État : PRÉPARÉ (relecture de a576b68 : ok ; relecture du correctif 71819f9 en cours)
Intention
Mettre en ligne le point L10 de la revue d'Yvv du 30/10 :
- l'inertie à cinq crans : 3 par défaut, 4 pour Unicité du compte et Réciprocité ;
- l'échelle calée sur la participation médiane du groupe (choix d'Yvv au formulaire) ;
- l'inertie de l'inertie qui hérite du cran de l'article ;
- les réglages de la formule, à portée de main.
Ce sont les règles sur lesquelles le vote (M2, lot B) va compter : mieux vaut qu'elles soient en place avant que les premiers votes arrivent. Le module d'ordre des sections (L11) et le titre du doc en module viendront avec le lot D.
Ce qui part
Version : 71819f9, qui contient la version en production 8727315. Commits emportés
(git log --oneline 8727315..71819f9) :
- lot C :
d762301(moteur, données, serveur),db64405(interface),a57a1ff(ADR 0007, chantier, contrôles),341df4d(mesure manquée au démarrage),3bc60a1(contrôles) ; - la fusion
a576b68; - le correctif de relecture
71819f9(les propositions retirées sortent de la médiane ; les réglages montrent la vraie participation) ; - des documents : l'acte M1 exécuté, HANDOFF, tableau, note
vote-g1-chaine.md.
Aucune configuration ni aucun secret ne change (prémisse 4).
Ce que l'acte écrit dans la base de production (donnée runtime)
- La migration
0005.- Elle ajoute
units.inertia_legacyetproposals.inertia_target_legacy, et y recopie l'ancien mot de chaque ligne. - Elle réécrit
units.inertiaetproposals.inertia_targeten crans :low→ 2,standard→ 3,high→ 4,max→ 5. Rien n'est perdu : le mot reste à côté. - Elle crée les tables
inertia_changesetinertia_amendments. - Les
adoptionspassées ne sont pas touchées (testé).
- Elle ajoute
- Les amendements « 2026-10-30-e1-inertie-4 » et « …-e2-inertie-4 ».
- Ils font passer E1 et E2 du cran 3 au cran 4, dans Monnaie libre et dans le groupe d'essai.
- Ils ne s'appliquent que si l'article n'a jamais changé d'inertie par un vote, et si son cran est encore celui du seed. Une proposition d'inertie ouverte ne les arrête pas.
- Chaque décision est consignée dans
inertia_amendments, avec une ligne dansinertia_changes: l'article affiche « Passée de 3 à 4 le … : réglage de départ du texte ». - Ils mettent une republication en file, pour Monnaie libre seulement. Le
document.jsonpublié porte désormais l'inertie en nombre.
- La mesure de participation de chaque groupe est gardée dans
settings(participation:<groupe>). Sans votes, c'est la référence 2C/W, soit 100 votants pour Monnaie libre. - Répétition faite le 30/10 à 18 h 23, avec le serveur de
a576b68, sur une copie fraîche de la base de production :- 62 articles au cran 3 et 4 au cran 4 (E1 et E2 des deux groupes), tous avec le mot
standardgardé à côté ; - les deux propositions d'Yvv du 29/10 restent ouvertes, cible 5, mot
maxgardé ; - 0 adoption réécrite ;
- la file contient « inertie de départ relevée : E1, 3 → 4 » et « … E2, 3 → 4 ».
- 62 articles au cran 3 et 4 au cran 4 (E1 et E2 des deux groupes), tous avec le mot
Ce que voient les visiteurs
- L'inertie en crans, de 1 à 5, avec un nom court (très basse, basse, moyenne, haute, très haute).
- Les réglages de la formule : W, C, B, la participation habituelle, et le tableau des cinq crans.
- Les seuils bougent un peu. Au cran 3, avec la référence de Monnaie libre, il faut 103 voix
pour à 120 votants (au lieu de 105 en
standard), et 1 265 à 2 000 votants (au lieu de 1 246). Le détail est dans l'ADR 0007. - Tes deux propositions d'inertie :
- « Raison d'être → 5 » se vote au cran 3 : 103 voix pour à 120 votants, au lieu de 115 quand on votait au cran du dessus ;
- « Unicité → 5 » se vote au cran 4 : 108 voix pour.
Avant — prémisses vivantes
-
La production sert
8727315:curl -s https://decision.librodrome.org/api/health→"build":"87273156". -
git fetch prod && git fetch origin && git rev-parse --short prod/main && git rev-parse --short origin/main→8727315deux fois. -
Les relectures
a576b68 : oket71819f9 : oksont inscrites dans~/harness/etat/relectures.json, et aucune autre relecture de ce code n'est en cours. -
git diff --stat 8727315 71819f9 -- docker/app-compose.yml .woodpecker/ .env data/→ vide. -
La boucle est verte sur
71819f9: fait le 30/10 vers 19 h (118 tests Rust, svelte-check 0 avertissement, 23 vitest, e2e 21 / 21). L'image de production dea576b68se construit (sortie 0). -
Une copie fraîche de la base de production rend :
SELECT inertia, COUNT(*) FROM units GROUP BY 1→standard|66;SELECT COUNT(*) FROM adoptions WHERE kind = 'inertia'→0;- deux propositions
inertiaouvertes (I1 et E1, ciblemax, 0 vote).
Toute autre valeur arrête l'acte, le temps de revoir la garde.
Commandes exactes
cd /home/yvv/Documents/PROD/DEV/libreDecision
git push prod 71819f9:main
git push origin 71819f9:main
git push origin chantier/acte-certification
Effet attendu
Les règles d'inertie à cinq crans, l'échelle et les réglages sont en ligne. E1 et E2 sont au
cran 4. Le dépôt des textes reçoit un document.json qui porte les crans.
Irréversibilité : partielle. Le code se remet en arrière. Ce qui reste :
- les crans écrits en base, avec le mot d'origine à côté ;
- E1 et E2 au cran 4 ;
- le commit publié dans le dépôt des textes.
Vérifications après
curl -s https://decision.librodrome.org/api/health→"build":"71819f90".ssh sonic 'docker logs lpk-libredecision-app 2>&1 | grep -E "inertia amendment|participation measured|published"'→ quatre « inertia amendment applied » (E1, E2 × essai, monnaie-libre), les mesures, une publication.- À l'écran (Yvv) : Monnaie libre → Acte d'engagement → « Réglages de la formule ». On y lit la référence de 100 votants et le tableau des cinq crans. Unicité et Réciprocité sont au cran 4, la Raison d'être au cran 3.
Retour
-
Le code, au plus court, sur sonic :
docker tag libredecision-app:previous libredecision-app:latest, puiscd /opt/libredecision-app && docker compose up -d --force-recreate. L'image précédente est8727315. -
Rejoué par la relecture : base de
8727315, montée ena576b68, puis ramenée. Aucune perte, aucune écriture ni adoption à tort. Mais l'affichage se dégrade :- la clé brute « inertia.3 » ou « inertia.4 » sur chaque ligne d'article ;
- les propositions vers 5 se lisent « vers standard », et ne s'adoptent pas tant qu'on reste sur l'ancienne image ;
- l'ancienne image laisse créer des propositions d'inertie en double, ou sans effet.
On n'y reste donc pas : on revient vite sur une version corrigée.
-
Les crans en base : pas de retour automatique ; les mots d'origine restent dans les colonnes
*_legacy. -
E1 et E2 au cran 4 : pas de retour automatique. Il faudrait un amendement inverse, relu.
-
Le commit publié dans le dépôt des textes : on ne le retire pas sans réécrire l'historique de ce dépôt (« supprime »). On publierait par-dessus.