forked from yvv/decision
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>
139 lines
8.1 KiB
Markdown
139 lines
8.1 KiB
Markdown
# 0007 — Inertie à cinq crans, calée sur la participation du groupe
|
||
|
||
> Complète [0002](0002-vote-permanent.md) : 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) dans `units.inertia` et `proposals.inertia_target`. Chaque
|
||
mot est d'abord gardé tel quel (`inertia_legacy`, `inertia_target_legacy`) ; les `params`
|
||
des `adoptions` passé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.
|