La médiane de participation ne compte plus les propositions retirées (invisibles, votes non repris). Quand l'échelle ramène la participation dans ses bornes, les réglages disent la médiane mesurée (ou deux fois C) et, à part, la valeur sur laquelle les seuils se calculent. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
8.1 KiB
0007 — Inertie à cinq crans, calée sur la participation du groupe
Complète 0002 : la règle « l'inertie se vote au cran au-dessus » y est remplacée par l'héritage décrit ici. Décision d'Yvv du 2026-10-30 (revue, L10).
Contexte. Quatre niveaux (low, standard, high, max) fixaient M et G une fois pour
toutes. Yvv, 2026-10-30 : « L'indice d'inertie doit avoir 5 niveaux. Tu mets par défaut au
milieu (3) pour toutes les propositions, (4) pour les 2 engagements structurels » ; « par
défaut l'inertie de l'indice d'inertie lui-même hérite de l'inertie de l'article » ; « une
échelle cohérente qui s'adapte aux nombres de certifiés et à la participation médiane aux
votes du groupe ». Au formulaire, il a choisi l'échelle calée sur la participation :
chaque cran exige une part fixe de « pour » quand le groupe vote comme d'habitude, puis se
relâche vers la majorité M quand plus de monde vote.
Décision
La formule reste celle de la Ğ1, adoptée si « pour » ≥ ⌈R⌉ :
R = C + B^W + (M + (1 − M)·(1 − (T/W)^G)) · max(0, T − C)
Seuls M et G dépendent du cran k. M_k est la majorité à pleine participation ; s_k la part de « pour » exigée au-delà de C à la participation habituelle p̃ ; G_k s'en déduit :
s_k = M_k + (1 − M_k)·(1 − p̃^G_k) ⇔ G_k = ln(1 − (s_k − M_k)/(1 − M_k)) / ln(p̃)
| Cran | Nom | M_k | s_k |
|---|---|---|---|
| 1 | très basse | 50 % | 60 % |
| 2 | basse | 50 % | 67 % |
| 3 | moyenne (par défaut) | 55 % | 75 % |
| 4 | haute (E1, E2 ; le titre du doc, lot D) | 60 % | 83 % |
| 5 | très haute | 66 % | 90 % |
La participation habituelle p̃ d'un groupe (crates/ld-server/src/participation.rs) :
- l'échantillon : les propositions du groupe (tous ses documents, toutes sortes, brouillons et propositions retirées exceptés) qui portent au moins un vote sur leur révision actuelle, le dernier exprimé depuis moins de 365 jours ;
- T de chacune est compté au moment de la mesure : c'est le T que voit la formule, le vote étant permanent ;
- T̃ = la médiane de ces T (moyenne des deux du milieu pour un nombre pair) ; p̃ = T̃ / W, avec le W du moment : quand la toile grandit, l'échelle demande toujours s_k au même nombre habituel de votants ;
- il faut au moins 5 propositions votées ; avant, la référence p0 = 2C/W s'applique (Monnaie libre : 100 votants sur 7 224, 1,38 %) — deux fois le plancher, une participation que le groupe doit de toute façon atteindre pour que C laisse place à la majorité.
Les bornes. p̃ (mesurée ou de référence) est ramenée dans [1 %, 50 %]. Ainsi 0 < p̃ < 1, ln(p̃) est négatif et fini ; comme M_k < s_k < 1 pour chaque cran, 0 < 1 − (s_k − M_k)/(1 − M_k) < 1 et G_k est fini et positif (de 0,05 à 1,77). Alors :
- le seuil croît avec le cran : la part exigée vaut 1 − (1 − M_k)·(T/W)^G_k, croissante en M_k et en G_k, et M_k, G_k croissent avec k (à pleine participation, les crans 1 et 2 se rejoignent à M = 50 %) ;
- la part exigée décroît vers M quand la participation monte, et vaut M à T = W ;
- à p̃, la part au-delà de C vaut s_k ;
- C reste un plancher : à T ≤ C, R = C + B^W ; une seule voix ne fait jamais passer un texte dans Monnaie libre ;
- le groupe d'essai (W = 2, C = 1) : la référence vaut 100 %, ramenée à 50 % ; G reste fini ; il faut les deux voix, à tout cran.
La borne basse limite aussi l'effet de propositions à une voix multipliées pour faire baisser
la médiane (une médiane basse adoucit les seuils au-dessus d'elle) : à 1 % près, l'effet est
borné, et il faudrait plus de propositions de ce genre que de vraies. Les propositions retirées
sortent de l'échantillon (relecture de a576b68, 2026-10-30) : sinon, créer cinq propositions, y
voter puis les retirer tirerait la médiane vers le bas sans laisser de trace visible, et leurs
votes ne pourraient plus être repris.
Le recalcul : une fois par jour. La mesure est gardée dans settings
(participation:<groupe> : médiane, taille de l'échantillon, date) ; elle est reprise au
démarrage puis par le balayage (toutes les 5 minutes) dès qu'elle a 24 heures. Un seuil qui
bougerait à chaque vote exprimé ailleurs dans le groupe ne se lirait pas ; une fois par jour,
il reste stable dans la journée et suit pourtant la vie du groupe. W, lui, change à son rythme
(la toile, toutes les 6 heures), et p̃ = T̃ / W le suit aussitôt.
L'inertie de l'inertie hérite du cran de l'article. Une proposition de changement
d'inertie se vote au cran actuel de l'article (compose::voting_level), comme son texte —
plus au cran au-dessus. Le cran se change en proposant l'un des cinq crans.
Un entier reste un entier. Le calcul flottant de ln et de la puissance peut porter un
milliardième de voix : un seuil qui tombe juste sur un entier (90 % de 70 = 63) ne doit pas
monter d'une voix pour autant. La part inertielle est ramenée à l'entier quand elle en est à
moins de 10⁻⁹ (threshold::settle) ; cas réel : 101 membres qui votent tous, M = 55 %, C = 1,
il faut 56 voix, et non 57.
Les nombres
W = 7 224, C = 50 ; voix pour exigées (tests ld-engine/src/inertia.rs) :
| Médiane | T | cran 1 | cran 2 | cran 3 | cran 4 | cran 5 |
|---|---|---|---|---|---|---|
| 120 votants | 120 | 92 | 97 | 103 | 109 | 113 |
| 120 votants | 500 | 306 | 329 | 362 | 397 | 432 |
| 120 votants | 2 000 | 1 091 | 1 145 | 1 271 | 1 404 | 1 549 |
| 360 votants | 120 | 95 | 101 | 106 | 112 | 116 |
| 360 votants | 360 | 236 | 258 | 283 | 308 | 329 |
| 360 votants | 500 | 316 | 345 | 381 | 416 | 449 |
| 360 votants | 2 000 | 1 114 | 1 184 | 1 318 | 1 460 | 1 608 |
Le cas de référence de la formule (vote forgeron v2.0.0 : W 7 224, 120 votants, M 50 %, G 0,2, C 0 → 94 voix) reste le test de la formule elle-même, lettres données ; ce ne sont plus les lettres d'aucun cran.
Les données
- Migration
0005: les quatre mots deviennent des crans (low → 2, standard → 3, high → 4, max → 5 ; le cran 1 est nouveau) dansunits.inertiaetproposals.inertia_target. Chaque mot est d'abord gardé tel quel (inertia_legacy,inertia_target_legacy) ; lesparamsdesadoptionspassées ne sont pas touchés (ils portent les M et G de leur jugement). Le serveur lit toujours les quatre mots. Les adoptions nouvelles gardent en plus le cran, s_k et p̃ (sa source, l'échantillon, la médiane). - Le seed : 3 partout, 4 pour E1 et E2.
- Dans une base existante, E1 et E2 passent de 3 à 4 par un amendement d'inertie
(
crates/ld-server/src/inertia_amend.rs), dans la lignée des amendements de seed : décidé une fois par document, seulement si aucun vote n'a changé l'inertie de l'article (pas d'adoption d'inertie, cran encore celui du seed). Une proposition d'inertie ouverte ne l'arrête pas : elle reste ouverte et se vote au nouveau cran. Chaque décision est gardée (inertia_amendments), écrite dans les journaux, se lit sur l'article (inertia_changes: « passée de 3 à 4 : réglage de départ du texte ») et le document est republié.
Coût
- Les seuils de Monnaie libre changent. Avec W = 7 224, C = 50 et la référence (100 votants),
le cran 3 demande 103 voix à 120 votants (
standard: 105), 360 à 500 (369), 1 265 à 2 000 (1 246), 3 996 quand tout le monde vote (3 637, M passant de 50 à 55 %) : un peu moins jusqu'à un millier de votants, plus au-delà. Le cran 4 demande 108 à 120 votants (high: 115), 395 à 500 (439), autant à pleine participation (M 60 %). Rien n'est en vigueur par un vote aujourd'hui ; les seuils déjà affichés bougent. - Le seuil d'une proposition dépend désormais des autres votes du groupe, par la médiane : une fois par jour, un texte peut passer ou ne plus passer sans nouveau vote sur lui (comme quand W change). Chaque entrée en vigueur garde la médiane qui l'a jugée.
- Le document publié (
document.json) porte l'inertie en nombre (1 à 5), et non plus en mot. - Le texte N1.1 du seed (« Niveaux d'inertie », quatre niveaux) est une proposition de la communauté : il n'est pas modifié et décrit désormais autre chose que la règle en place.