Lot T2 : le fichier de relecture d'Yvv (les trois phrases avant et après, leurs chiffres par le moteur, la garde, l'interface, deux points à trancher), ADR 0013 et CLAUDE.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Yvv
2026-11-03 10:16:57 +01:00
co-authored by Claude Opus 5.5
parent dc0c477f88
commit f27ee088f6
3 changed files with 166 additions and 13 deletions
+4 -1
View File
@@ -135,4 +135,7 @@ publié : `quorums`.
pour ») décrivent encore C : orch les réécrira au prochain tour de textes, avec la relecture
d'Yvv (ce lot ne touche pas aux textes du seed). *(Fait par le lot T : F1.1, F1.2 et N1.1 disent
le quorum par cran, en ligne depuis M6b, le 03/11, `bb4bdf5` ; relecture d'Yvv :
`docs/chantiers/acte-certification/textes-quorum-seed.md`.)*
`docs/chantiers/acte-certification/textes-quorum-seed.md`. Trois de leurs phrases reprises par
le lot T2, amendement `2026-11-03-…-phrases` qui suit celui de M6b : la part du cran, la plus
haute au quorum, baisse quand la participation monte ; le quorum se fixe tant que l'article ne
garde la trace d'aucun vote ; il n'est pas un nombre minimal de votants.)*
@@ -7,6 +7,135 @@
> « L'auteur, avant le 1er vote » ; les Propositions seed au cran 2 (ADR 0011). Les nouveaux textes sont
> collés dans `seeds/acte-engagement-certification.json` et dans un amendement gardé, sur la branche
> `lot/t-textes` : **rien n'est en ligne**.
>
> **Mis à jour le 2026-11-03 par le lot T2** (branche `lot/t2-phrases`), après la relecture
> indépendante de M6b : ces textes sont en ligne depuis M6b (03/11, 08 h 02), et trois de leurs
> phrases disaient plus que les règles. Elles sont reprises ci-dessous, avant et après
> (« Lot T2 »). Les blocs de texte de ce fichier sont ceux du seed d'aujourd'hui, phrases
> reprises comprises. Rien du lot T2 n'est en ligne.
## Lot T2 : trois phrases reprises (après la relecture de M6b)
La relecture indépendante de M6b (`bb4bdf5`) a laissé trois phrases qui disent plus que les
règles. Le lot T2 les réécrit, dans le seed (une base neuve naît avec elles) et par un
**amendement gardé** (`2026-11-03-f1-1-phrases`, `-f1-2-phrases`, `-n1-1-phrases`) qui suit celui
de M6b. Rien d'autre ne change dans ces textes ; les titres restent. Un test le vérifie phrase par
phrase (`the_amendments_of_lot_t2_go_from_the_texts_of_m6b_to_the_seed_of_today`), et que les
anciens mots ont disparu des trois langues (`the_three_phrases_of_the_review_of_m6b_are_written_true`).
### F1.1 — Formule du seuil WoT
- **Avant** : « Au-delà, il faut la part de « pour » que demande le cran d'inertie de l'article,
parmi tous les votants : presque l'unanimité quand peu de gens votent, la majorité M quand tout
le monde vote. »
- **Après** : « Au-delà, il faut la part de « pour » que demande le cran d'inertie de l'article,
parmi tous les votants : cette part est la plus haute au quorum et baisse quand la participation
monte, jusqu'à la majorité M quand tout le monde vote. »
- **Pourquoi** : la part se demande à T' = max(T, Q) votants ; sous le quorum, c'est celle du
quorum, et au-delà elle ne fait que baisser. Elle n'atteint jamais l'unanimité parce que peu de
gens votent : c'est le quorum qui tient le texte. En production (W 5 707, participation de
référence 100 votants), au quorum : **64,4 · 73,5 · 77,4 · 85,3 · 91,9 %** du cran 1 au cran 5 ;
au cran 2, **9 « pour » sur 12** (73,5 % de 12, soit 8,8, arrondi au-dessus). La relecture disait
74 % au cran 2 : le moteur donne 73,5 %. Calculé par `the_control_figures_of_the_quorum`
(`crates/ld-engine/src/inertia.rs`), qui vérifie aussi, à chaque cran, que la part reste celle
du quorum en dessous, ne remonte jamais au-delà et vaut M quand tout le monde vote ; le test
des textes refait la même vérification sur une grille (W, quorum, cran).
### F1.2 — Paramètres par défaut
- **Avant** : « L'auteur de la première version d'un article, un administrateur pour les textes
de départ, peut en fixer un autre tant que personne n'a voté sur l'article ; ensuite, il ne
change plus. »
- **Après** : « L'auteur de la première version d'un article, un administrateur pour les textes
de départ, peut en fixer un autre tant que l'article ne garde la trace d'aucun vote. »
- **Pourquoi** : « ensuite, il ne change plus » est faux dans deux cas. Après l'acte « supprime »,
les votes simulés effacés ne laissent pas de trace, et le quorum se règle de nouveau
(`quorum::voted_units`, `simulation::discard`). Dans le groupe d'essai, un vote direct retiré
ne laisse pas de trace non plus (`votes` ne garde que le dernier choix). Les deux cas sont
prouvés par les tests (`a_vote_exists_for_every_state_of_the_buffer`,
`the_author_of_an_article_sets_its_quorum_before_the_first_vote` : le quorum se fixe de
nouveau, 200 ; un vote prouvé par la chaîne, même retiré, le tient toujours, 409).
- **La formulation par défaut d'orch**, « tant qu'aucun vote n'est compté sur l'article », n'est
pas celle-ci : elle serait fausse dans l'autre sens. Un vote retiré sur la chaîne, ou en
simulation avant « supprime », n'est plus compté, mais il laisse sa trace et le quorum reste
figé ; de même une version entrée en vigueur dont les votes sont retirés. « Garder la trace »
est le mot de l'ADR 0012 pour cette règle. À trancher (point 8).
### N1.1 — Niveaux d'inertie (première phrase)
- **Avant** : « À chaque cran, le groupe demande un quorum de votants, puis une part de « pour »
parmi eux (voir « Formule du seuil WoT »). Sous le quorum, les votants qui manquent comptent
comme « non ». La part dépend du cran et du nombre de votants, comparé à la participation
habituelle du groupe : plus il y a de votants, plus elle baisse, jusqu'à la majorité M quand
tout le monde vote. »
- **Après** : « À chaque cran, le groupe demande une part de « pour » parmi les votants (voir
« Formule du seuil WoT »). Chaque cran a aussi son quorum, qui n'est pas un nombre minimal de
votants : sous le quorum, les votants qui manquent comptent comme « non ». La part dépend du
cran et du nombre de votants, comparé à la participation habituelle du groupe : au-delà du
quorum, plus il y a de votants, plus elle baisse, jusqu'à la majorité M quand tout le monde
vote. »
- **Pourquoi** : « demande un quorum de votants » laisse croire à un minimum. Moins de votants
que le quorum font passer un texte s'ils votent tous « pour » : en production, **8 sur 12, 9 sur
12, 39 sur 50, 43 sur 50, 46 sur 50**, du cran 1 au cran 5 (le moteur, dans
`the_three_phrases_of_the_review_of_m6b_are_written_true`). « Au-delà du quorum » est ajouté à
la troisième phrase : sous le quorum, la part ne baisse pas, elle reste celle du quorum.
### L'interface, dans le même sens
- Sous « Inertie » (`inertia.explain`) : « Plus l'inertie est haute, plus il faut de voix pour
changer ce texte quand peu de gens votent. » devient « Plus l'inertie est haute, plus il faut
de voix pour changer ce texte. Sous le quorum, les votants qui manquent comptent comme « non » ;
au-delà, la part de « pour » demandée baisse quand la participation monte. »
- Sous la formule (`formula.reading`), la même phrase fausse : « À faible participation, il faut
presque l'unanimité ; quand tout le monde vote, la majorité M suffit. Sous le quorum Q, les
votants qui manquent comptent comme « non ». » devient « Sous le quorum Q, les votants qui
manquent comptent comme « non ». Au-delà, la part de « pour » demandée, la plus haute au quorum,
baisse quand la participation monte ; quand tout le monde vote, la majorité M suffit. »
- Le refus d'un quorum (`quorum.error.voted`) : « Quelqu'un a déjà voté sur cet article : son
quorum ne change plus. » devient « … son quorum ne change pas. »
- Le vote déplié affichait « 0 contredont 1 simulé » : l'espace revient (« 0 contre dont
1 simulé »). Dix autres espaces se perdaient de la même façon, en tête d'un bloc Svelte : dans
les détails d'une version (« proposé par Chiara· sur invitation ») et dans le nom du menu lu par
un lecteur d'écran (« Menu· Messages, 1 non lu »). Un test lit tous les composants
(`web/tests/unit/spaces.test.ts`).
- Laissés tels quels, parce qu'ils disent ta décision (« L'auteur, avant le 1er vote ») :
« l'auteur d'un article peut en fixer un autre avant le premier vote » (`settings.quorum.note`),
« Seule la personne qui a écrit l'article fixe son quorum, avant le premier vote »
(`quorum.error.forbidden`), « Tu fixes le quorum de cet article tant que personne n'a voté »
(`quorum.explain`). Ils ont la même imprécision que F1.2 (point 8).
### La garde, en production
Dans les deux groupes, F1.1 est à sa révision 2 (écrite par l'amendement de M6b), F1.2 et N1.1 à
leur révision 3 (M5, puis M6b). La garde de révision est étendue : elle admet la révision écrite
par les amendements que celui-ci suit, appliqués dans leur ordre, **le dernier étant celui de M6b,
et eux seuls** (l'historique « texte initial » puis autant de « texte de départ remplacé »), le
texte étant celui que M6b a posé (empreinte). Une base née le 02/11 avec les textes de M5 (F1.2 et
N1.1 à leur révision 2, écrite par M6b seul) est admise de même. Le reste de la garde ne change
pas : origine du seed, jamais entré en vigueur ni confirmé ; aucune trace de vote (vote du
serveur, prouvé ou simulé ; ligne de bulletin en attente ou prouvée, quel qu'en soit le sort) ;
aucune coquille, traduction de membre ni objection. Les amendements de M6b sont **dépassés** : ils
ne décident plus rien, leurs décisions du 03/11 restent.
Appliqué, dans une transaction, par document : le texte (fr) remplacé, la révision + 1 (F1.1 : 3 ;
F1.2 et N1.1 : 4) ; une ligne « texte de départ remplacé » dans l'historique, sans auteur ; en et es
remplacés ; la décision dans `seed_amendments` ; dans Monnaie libre, une ligne par article dans la
file de publication, qui attend le premier texte en vigueur. Refusé, le texte de M6b reste, avec
sa raison (`votes`, `ballots`, `corrected`, `translation_edited`, `signalled`, `revised`,
`text_differs`…), consignée une fois pour toutes.
Testé (`crates/ld-server/tests/seed_quorum_texts.rs`) sur une base faite comme la production
après M6b — née avec les textes du 21/10, démarrée par le seed de M5, puis par celui de M6, puis
par celui de M6b (les textes de M6b gardés dans `tests/fixtures/seed-quorum-m6b.json`) :
appliqué une fois dans les deux groupes, six révisions et trois lignes de file de plus, rien
d'autre ; au second démarrage, rien n'est rejoué. Refusé avec sa raison là où un vote simulé est
compté (`votes`), là où un bulletin attend (`ballots`), là où un vote direct tient dans le groupe
d'essai (`votes`) ; le refus tient même une fois le vote parti. **Deux limites, écrites** (le
commentaire de `seed_amend.rs`) : dans le groupe d'essai, un vote direct retiré ne laisse pas de
trace, et l'amendement s'applique (testé) ; de même un vote simulé que l'acte « supprime » aurait
effacé avant la mise en ligne de T2 (l'amendement décide une fois, au premier démarrage).
En production aujourd'hui : 0 vote, 0 bulletin, une seule identité (dit par orch).
## Avant de lire
@@ -29,7 +158,7 @@
WoT », « Paramètres par défaut », « Niveaux d'inertie »), jamais par le code ; apostrophes droites ;
« » espacés en français, “ ” en anglais britannique (*favour*), «» serrés en espagnol ; formules en
code, avec × et −, jamais d'astérisque.
- **Longueur** (signes) : fr : F1.1 1081 · F1.2 2055 · N1.1 2372 ; en : F1.1 1058 · F1.2 1977 · N1.1 2246 ; es : F1.1 1083 · F1.2 2035 · N1.1 2454. Limite d'une proposition : 4 000 (`crates/ld-server/src/proposals.rs:32`) ;
- **Longueur** (signes, après le lot T2 ; avant : fr 1081 · 2055 · 2372, en 1058 · 1977 · 2246, es 1083 · 2035 · 2454) : fr : F1.1 1122 · F1.2 2035 · N1.1 2449 ; en : F1.1 1093 · F1.2 1950 · N1.1 2315 ; es : F1.1 1126 · F1.2 2020 · N1.1 2526. Limite d'une proposition : 4 000 (`crates/ld-server/src/proposals.rs:32`) ;
au-delà de 700, l'assistant dit « texte long » (`crates/ld-engine/src/assist.rs:25`), comme pour les
textes actuels de F1.2 et N1.1.
- **Le ton** est celui de F1.2, N1 et O1 tels que M5 les a posés : le groupe, la personne, jamais le
@@ -87,7 +216,7 @@ toutes : l'acte « supprime » de la fin de la simulation ne le fera pas rejouer
Titre : **Formule du seuil WoT**
```markdown
Le seuil est le nombre de voix pour qu'il faut à une version pour entrer en vigueur. Sous le quorum Q, les votants qui manquent comptent comme « non » : le seuil se calcule comme si Q personnes avaient voté. Au-delà, il faut la part de « pour » que demande le cran d'inertie de l'article, parmi tous les votants : presque l'unanimité quand peu de gens votent, la majorité M quand tout le monde vote.
Le seuil est le nombre de voix pour qu'il faut à une version pour entrer en vigueur. Sous le quorum Q, les votants qui manquent comptent comme « non » : le seuil se calcule comme si Q personnes avaient voté. Au-delà, il faut la part de « pour » que demande le cran d'inertie de l'article, parmi tous les votants : cette part est la plus haute au quorum et baisse quand la participation monte, jusqu'à la majorité M quand tout le monde vote.
`T' = max(T, Q)`
`Seuil = B^W + (M + (1 − M) × (1 − (T'/W)^G)) × T'`
@@ -109,7 +238,7 @@ Leurs valeurs sont dans « Paramètres par défaut » et « Niveaux d'inertie »
Titre : **WoT threshold formula**
```markdown
The threshold is the number of votes in favour a version needs to come into force. Below the quorum Q, the voters who are missing count as votes against: the threshold is worked out as if Q people had voted. Beyond it, it takes the share of votes in favour that the article's level of inertia asks for, among all the voters: near-unanimity when few people vote, the majority M when everyone votes.
The threshold is the number of votes in favour a version needs to come into force. Below the quorum Q, the voters who are missing count as votes against: the threshold is worked out as if Q people had voted. Beyond it, it takes the share of votes in favour that the article's level of inertia asks for, among all the voters: that share is highest at the quorum and falls as turnout rises, down to the majority M when everyone votes.
`T' = max(T, Q)`
`Threshold = B^W + (M + (1 − M) × (1 − (T'/W)^G)) × T'`
@@ -131,7 +260,7 @@ Their values are in “Default parameters” and “Inertia levels”.
Titre : **Fórmula del umbral WoT**
```markdown
El umbral es el número de votos a favor que necesita una versión para entrar en vigor. Por debajo del quórum Q, los votantes que faltan cuentan como «no»: el umbral se calcula como si hubieran votado Q personas. Más allá, hace falta la proporción de votos a favor que pide el nivel de inercia del artículo, entre todos los votantes: casi la unanimidad cuando vota poca gente, la mayoría M cuando vota todo el mundo.
El umbral es el número de votos a favor que necesita una versión para entrar en vigor. Por debajo del quórum Q, los votantes que faltan cuentan como «no»: el umbral se calcula como si hubieran votado Q personas. Más allá, hace falta la proporción de votos a favor que pide el nivel de inercia del artículo, entre todos los votantes: esa proporción es la más alta en el quórum y baja cuando sube la participación, hasta la mayoría M cuando vota todo el mundo.
`T' = max(T, Q)`
`Umbral = B^W + (M + (1 − M) × (1 − (T'/W)^G)) × T'`
@@ -173,7 +302,7 @@ Les valeurs des lettres de la formule (voir « Formule du seuil WoT ») et la fa
- **W** : le nombre de membres de la toile de confiance Ğ1, relu sur la chaîne toutes les 6 heures.
- **T** : les votes exprimés sur la version, pour et contre.
- **Q**, le quorum : sous ce nombre de votants, ceux qui manquent comptent comme « non ». Chaque article prend celui de son cran : 12, 12, 50, 50 et 50 dans Monnaie libre, du cran 1 au cran 5. L'auteur de la première version d'un article, un administrateur pour les textes de départ, peut en fixer un autre tant que personne n'a voté sur l'article ; ensuite, il ne change plus. Dans Monnaie libre, jamais moins de 2 : une seule voix ne fait jamais passer un texte.
- **Q**, le quorum : sous ce nombre de votants, ceux qui manquent comptent comme « non ». Chaque article prend celui de son cran : 12, 12, 50, 50 et 50 dans Monnaie libre, du cran 1 au cran 5. L'auteur de la première version d'un article, un administrateur pour les textes de départ, peut en fixer un autre tant que l'article ne garde la trace d'aucun vote. Dans Monnaie libre, jamais moins de 2 : une seule voix ne fait jamais passer un texte.
- **B = 0,1** : dans la toile de confiance, `B^W` est si petit qu'il ne compte pas.
- **M** et **G** : donnés par le cran d'inertie de l'article (voir « Niveaux d'inertie »). G n'est pas fixé à la main : il se déduit de la participation habituelle du groupe.
@@ -200,7 +329,7 @@ The values of the letters of the formula (see “WoT threshold formula”) and h
- **W**: the number of members of the Ğ1 web of trust, read again from the chain every 6 hours.
- **T**: the votes cast on the version, for and against.
- **Q**, the quorum: below this number of voters, those who are missing count as votes against. Each article takes the one of its level: 12, 12, 50, 50 and 50 in Monnaie libre, from level 1 to level 5. The author of the first version of an article, an administrator for the starting texts, can set another one as long as nobody has voted on the article; after that, it no longer changes. In Monnaie libre, never less than 2: a single vote never passes a text.
- **Q**, the quorum: below this number of voters, those who are missing count as votes against. Each article takes the one of its level: 12, 12, 50, 50 and 50 in Monnaie libre, from level 1 to level 5. The author of the first version of an article, an administrator for the starting texts, can set another one as long as the article keeps no trace of any vote. In Monnaie libre, never less than 2: a single vote never passes a text.
- **B = 0.1**: in the web of trust, `B^W` is so small that it does not count.
- **M** and **G**: given by the article's level of inertia (see “Inertia levels”). G is not set by hand: it follows from the group's usual turnout.
@@ -227,7 +356,7 @@ Los valores de las letras de la fórmula (ver «Fórmula del umbral WoT») y có
- **W**: el número de miembros de la red de confianza Ğ1, leído de nuevo en la cadena cada 6 horas.
- **T**: los votos emitidos sobre la versión, a favor y en contra.
- **Q**, el quórum: por debajo de este número de votantes, los que faltan cuentan como «no». Cada artículo toma el de su nivel: 12, 12, 50, 50 y 50 en Monnaie libre, del nivel 1 al nivel 5. El autor de la primera versión de un artículo, un administrador para los textos de partida, puede fijar otro mientras nadie haya votado sobre el artículo; después, ya no cambia. En Monnaie libre, nunca menos de 2: un solo voto nunca hace pasar un texto.
- **Q**, el quórum: por debajo de este número de votantes, los que faltan cuentan como «no». Cada artículo toma el de su nivel: 12, 12, 50, 50 y 50 en Monnaie libre, del nivel 1 al nivel 5. El autor de la primera versión de un artículo, un administrador para los textos de partida, puede fijar otro mientras el artículo no guarde rastro de ningún voto. En Monnaie libre, nunca menos de 2: un solo voto nunca hace pasar un texto.
- **B = 0,1**: en la red de confianza, `B^W` es tan pequeño que no cuenta.
- **M** y **G**: los da el nivel de inercia del artículo (ver «Niveles de inercia»). G no se fija a mano: se deduce de la participación habitual del grupo.
@@ -250,7 +379,7 @@ Los valores de las letras de la fórmula (ver «Fórmula del umbral WoT») y có
Titre : **Niveaux d'inertie**
```markdown
À chaque cran, le groupe demande un quorum de votants, puis une part de « pour » parmi eux (voir « Formule du seuil WoT »). Sous le quorum, les votants qui manquent comptent comme « non ». La part dépend du cran et du nombre de votants, comparé à la participation habituelle du groupe : plus il y a de votants, plus elle baisse, jusqu'à la majorité M quand tout le monde vote.
À chaque cran, le groupe demande une part de « pour » parmi les votants (voir « Formule du seuil WoT »). Chaque cran a aussi son quorum, qui n'est pas un nombre minimal de votants : sous le quorum, les votants qui manquent comptent comme « non ». La part dépend du cran et du nombre de votants, comparé à la participation habituelle du groupe : au-delà du quorum, plus il y a de votants, plus elle baisse, jusqu'à la majorité M quand tout le monde vote.
`Part exigée = M + (1 − M) × (1 − (T'/W)^G)`, où T' est le nombre de votants, ou le quorum s'il en manque.
@@ -274,7 +403,7 @@ Exemple : avec 7 224 membres et une participation habituelle de 120 votants, qua
Titre : **Inertia levels**
```markdown
At each level, the group asks for a quorum of voters, then for a share of votes in favour among them (see “WoT threshold formula”). Below the quorum, the voters who are missing count as votes against. The share depends on the level and on the number of voters, compared with the group's usual turnout: the more voters, the lower it gets, down to the majority M when everyone votes.
At each level, the group asks for a share of votes in favour among the voters (see “WoT threshold formula”). Each level also has its quorum, which is not a minimum number of voters: below the quorum, the voters who are missing count as votes against. The share depends on the level and on the number of voters, compared with the group's usual turnout: beyond the quorum, the more voters, the lower it gets, down to the majority M when everyone votes.
`Share asked = M + (1 − M) × (1 − (T'/W)^G)`, where T' is the number of voters, or the quorum if some are missing.
@@ -298,7 +427,7 @@ Example: with 7,224 members and a usual turnout of 120 voters, when 120 people v
Titre : **Niveles de inercia**
```markdown
En cada nivel, el grupo pide un quórum de votantes, y luego una proporción de votos a favor entre ellos (ver «Fórmula del umbral WoT»). Por debajo del quórum, los votantes que faltan cuentan como «no». La proporción depende del nivel y del número de votantes, comparado con la participación habitual del grupo: cuantos más votantes, más baja, hasta la mayoría M cuando vota todo el mundo.
En cada nivel, el grupo pide una proporción de votos a favor entre los votantes (ver «Fórmula del umbral WoT»). Cada nivel tiene además su quórum, que no es un número mínimo de votantes: por debajo del quórum, los votantes que faltan cuentan como «no». La proporción depende del nivel y del número de votantes, comparado con la participación habitual del grupo: más allá del quórum, cuantos más votantes, más baja, hasta la mayoría M cuando vota todo el mundo.
`Proporción exigida = M + (1 − M) × (1 − (T'/W)^G)`, donde T' es el número de votantes, o el quórum si faltan.
@@ -356,10 +485,29 @@ inertie, le cran de départ de Raison d'être, Unicité du compte et Réciprocit
7. **Ce qui deviendra caduc une fois en ligne**, non touché par ce lot : `docs/adr/0013-quorum.md:133-135`
(« Le texte F1.1 du seed […] et N1.1 […] décrivent encore C ») et
`docs/adr/0011-propositions-seed.md:89-90` (F1.2 et N1.1 disent encore Unicité et Réciprocité au
cran 4).
cran 4). *(Fait le 03/11 après M6b, commit `6aeb690`.)*
8. **Lot T2, F1.2 : « garder la trace » ou « compté »**. « tant que l'article ne garde la trace
d'aucun vote » est exact dans tous les cas de `quorum::voted_units` ; « tant qu'aucun vote
n'est compté sur l'article » (défaut d'orch) se lit mieux mais se trompe pour un vote retiré
sur la chaîne (plus compté, le quorum reste figé). Les trois phrases de l'interface sur le
quorum de l'auteur (« avant le premier vote », « tant que personne n'a voté ») gardent ta
formule : à aligner si tu le veux.
9. **Lot T2, F1.1 et N1.1** : sans chiffre, pour ne pas dater le texte voté ; les chiffres de la
production (64,4 à 91,9 % ; 9 « pour » sur 12) sont ici, calculés par le moteur.
## Les chiffres et leur source
Lot T2 (ces chiffres sont dans ce fichier, pas dans les textes) :
| Chiffre | Source |
|---|---|
| 64,4 · 73,5 · 77,4 · 85,3 · 91,9 % au quorum, W 5 707, référence 100 votants | `threshold::required_ratio` sur `judged_voters(0, Q_k)` ; `the_control_figures_of_the_quorum` |
| 9 « pour » sur 12 au cran 2 | `threshold::yes_needed(0)` ; idem |
| 8/12, 9/12, 39/50, 43/50, 46/50 passent sans autre votant | `yes_needed(0)`, puis `passes` ; `the_three_phrases_of_the_review_of_m6b_are_written_true` |
| La part reste celle du quorum en dessous, ne remonte jamais au-delà, vaut M à W votants | les deux mêmes tests, à chaque cran (et sur une grille de W et de quorums) |
Lot T :
Chaque nombre est vérifié par `every_number_of_the_quorum_texts_is_the_engine_s`
(`crates/ld-server/tests/seed_quorum_texts.rs`), qui le calcule ainsi :