Files
decision/docs/adr/0007-inertie-cinq-crans.md
T
YvvandClaude Opus 5.5 a57a1ff642 v3 : inertie à cinq crans — ADR 0007, chantier, contrôles
ADR 0007 : les cinq crans, M_k et s_k, G_k déduit à la participation
habituelle ; la médiane (propositions votées dans l'année, au moins 5,
T compté à la mesure), la référence 2C/W, les bornes [1 %, 50 %], le
recalcul une fois par jour, l'héritage de l'inertie de l'inertie,
l'arrondi stable, la migration et l'amendement de E1 et E2, ce que ça
coûte (seuils comparés à ceux d'avant). L'ADR 0002 le note ; index.

CHANTIER.md : la table des crans et « l'inertie se vote aussi » au cran
de l'article. CLAUDE.md : l'invariant devient « hérite du cran de
l'article ». CONTROLES.md : C4, M1, et C20 « réglages de la formule et
cinq crans ». README, note de source du seed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 17:24:48 +01:00

7.9 KiB
Raw Blame History

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 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.

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.