From 8ac9d835e309746d562f47944c6c9999f4a33c6f Mon Sep 17 00:00:00 2001 From: Yvv Date: Wed, 4 Nov 2026 00:15:33 +0100 Subject: [PATCH] =?UTF-8?q?Dossier=20M9=20fig=C3=A9=20le=2004/11=20=C3=A0?= =?UTF-8?q?=2000=20h=2015=20sur=20fadfff5=20(relecture=20=C2=AB=20fadfff5?= =?UTF-8?q?=20:=20ok=20=C2=BB,=20r=C3=A9p=C3=A9tition,=20boucle=20et=20ima?= =?UTF-8?q?ge=20sur=20fadfff5)=20;=20tableau=20et=20HANDOFF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- HANDOFF.md | 4 +- actes/2026-11-03-m9-amorce-hors-vote.md | 95 +++++++++++++------- docs/chantiers/acte-certification/tableau.md | 15 +++- 3 files changed, 75 insertions(+), 39 deletions(-) diff --git a/HANDOFF.md b/HANDOFF.md index 6f09d7d..e67ce29 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -1,6 +1,6 @@ # HANDOFF — libreDecision -> Dernière mise à jour : 2026-11-03 à 22 h 41, intégrateur libredecision-d4 (orch : dev-63, session +> Dernière mise à jour : 2026-11-04 à 00 h 16, intégrateur libredecision-d4 (orch : dev-63, session > racine /DEV, mandat « déploie » et « pousse » du 03/11 au 08/11). État vivant : le tableau > `docs/chantiers/acte-certification/tableau.md`. @@ -47,7 +47,7 @@ « Responsabilité civique » ajouté entre E1 et E2, les sections formule, inertie et ordonnancement sortent du document (rien effacé, ADR 0014). Relecture d'Yvv : `docs/chantiers/acte-certification/textes-amorce.md`. **U3** (fusionné à 22 h 40) : titres, séparation, « Info ouverture doc de réf. », informations - dans les panneaux, « Proposition d'amorce », texte pour qui n'est pas invité ; U3b fusionné (23 h 00, `d66823b`, le tableau des crans lisible sur bureau). Un seul acte **M9** sur `d66823b`, préparé (`actes/2026-11-03-m9-amorce-hors-vote.md`), relecture neuve en cours + dans les panneaux, « Proposition d'amorce », texte pour qui n'est pas invité ; U3b fusionné (23 h 00, `d66823b`, le tableau des crans lisible sur bureau). U3c fusionné (23 h 49, `fadfff5`, la phrase de la majorité M vraie pour tout W). Un seul acte **M9**, **figé le 04/11 à 00 h 15 sur `fadfff5`** (`actes/2026-11-03-m9-amorce-hors-vote.md`), relecture « fadfff5 : ok », ACTE envoyé à orch (T4 et U3 ensemble). Défauts et questions à Yvv : au tableau. - H, S, V, T, U, T2, U2, T3, T3b et T3c sont en ligne. Listes d'attente (relectures de M6, M6c, M7, M7b, M8) : au tableau, section Actes. Le plus visible : le vote d'un changement d'inertie de module ne dit pas le cran visé. diff --git a/actes/2026-11-03-m9-amorce-hors-vote.md b/actes/2026-11-03-m9-amorce-hors-vote.md index 3397a54..c8908e5 100644 --- a/actes/2026-11-03-m9-amorce-hors-vote.md +++ b/actes/2026-11-03-m9-amorce-hors-vote.md @@ -1,10 +1,11 @@ -# Acte — Mise en ligne M9 (l'Acte d'engagement d'Yvv et les informations de fonctionnement hors vote, lots T4, U3 et U3b) +# Acte — Mise en ligne M9 (l'Acte d'engagement d'Yvv et les informations de fonctionnement hors vote, lots T4, U3, U3b et U3c) Classe : déploie Projet : libreDecision Date : 2026-11-03 -**État : PRÉPARÉ, non figé** — sur `d66823b` (`d66823b2f626b4833b9422c0bbf418fa698cfcd9`, lot U3b fusionné à -23 h 00) ; en attente de la boucle, de l'image et de la relecture indépendante de `d66823b` — préparé par l'intégrateur libredecision-d4 ; exécuté par orch (dev-63) sous son -mandat (« déploie » et « pousse », du 03/11 au 08/11). Mot : **« déploie »** (rien n'est effacé ; voir +**État : FIGÉ** sur `fadfff5` (`fadfff55649140a8e240644c3a958ed256a291fd`, lot U3c fusionné le 03/11 à +23 h 49) le 04/11 à 00 h 15 — préparé par l'intégrateur libredecision-d4 ; exécuté par orch (dev-63) sous son +mandat (« déploie » et « pousse », du 03/11 au 08/11). Relecture indépendante : « fadfff5 : ok » +(prémisse 3). Mot : **« déploie »** (rien n'est effacé ; voir « Ce que l'acte écrit »). ## Pour Yvv : ce que tu liras de changé @@ -78,7 +79,7 @@ dise. ## Ce qui part -Version `d66823b` (lots T4, U3, U3b), qui contient la version en ligne `de1b7eb`. +Version `fadfff5` (lots T4, U3, U3b, U3c), qui contient la version en ligne `de1b7eb`. - **Serveur** : migration `0012_retired.sql` (additive) ; `retire.rs` (le retrait) ; `article_amend.rs` (E12) ; `seed_amend.rs` (trois amendements, I1, E1, E2) ; les lectures, votes, propositions, objections, coquilles, traductions, comptes et la publication ignorent une unité retirée ; `docs.rs` : `seedFeatured`. @@ -86,7 +87,8 @@ Version `d66823b` (lots T4, U3, U3b), qui contient la version en ligne `de1b7eb` sections formule, inertie, ordonnancement. - **Interface** (`web/`) : le chapitre, la séparation, les titres, les informations dans le vote et les panneaux, « Proposition d'amorce », le texte pour qui n'est pas invité, le réordonnancement sur plusieurs - lignes, le tableau des crans lisible sur bureau. + lignes, le tableau des crans lisible sur bureau ; « La formule du seuil » dit « quand tout le monde vote, + la part exigée est la majorité M » (U3c, vrai pour tout W). - Configuration (`docker/`, `.woodpecker/`, `.env`, `data/`) : rien (prémisse 4). ## Ce que l'acte écrit dans la base de production (donnée runtime) @@ -96,14 +98,16 @@ Au premier démarrage, dans une transaction par amendement et par document, une de journal `retirement_amendments`, `article_amendments`. Aucune colonne retirée, aucune ligne effacée. - **`2026-11-03-i1-amorce`, `-e1-amorce`, `-e2-amorce`** (amendements de seed gardés, `Version::SeedProposal`) : texte fr, révision + 1 (I1 → 3, E1 et E2 → 2), une ligne `revisions` `amendment`, en et es remplacés, la - décision dans `seed_amendments`, une ligne de file (Monnaie libre). Empreintes : I1 `a7095d70…` → + décision dans `seed_amendments`, une ligne de file (Monnaie libre, raison « Proposition d'amorce + réécrite : … »). Empreintes : I1 `a7095d70…` → `32eb36b4…`, E1 `bdca2713…` → `df31d0ec…`, E2 `bde76a30…` → `a7dd4690…`. Refusé à la moindre trace d'une personne (vote, simulé compris ; bulletin ; coquille ; traduction de membre ; objection ; texte différent de l'empreinte) : le texte d'avant reste. - **`2026-11-03-e12-responsabilite-civique`** (`article_amend.rs`) : une unité E12 (section `fondamental`, position 4,5, entre E1 et E2 tant que l'ordre de la section n'a pas de vote, sinon en fin de section), sa Proposition d'amorce ouverte (cran 2, `seed_featured`), sa révision initiale, en et es - (empreinte `3fa5a8e5…`), la décision dans `article_amendments`, une ligne de file (Monnaie libre). + (empreinte `3fa5a8e5…`), la décision dans `article_amendments`, une ligne de file (Monnaie libre, « Proposition d'amorce + ajoutée : E12 … »). - **`2026-11-03-fonctionnement-hors-vote`** (`retire.rs`) : `UPDATE units SET retired_at, retired_reason` sur dix unités par document (F1, F1.1, F1.2, F1.3, N1, N1.1, O1, `ordre.formule`, `ordre.inertie`, `ordre.ordonnancement`), **tous ou aucun**, seulement si aucune trace d'une personne n'existe sur elles @@ -113,17 +117,21 @@ Au premier démarrage, dans une transaction par amendement et par document, une lignes de file restent. - La file de publication : les lignes en attente sont reportées (`next_at`) ; la publication reste suspendue (aucun texte en vigueur). Le groupe d'essai ne publie jamais. -- **Rien d'autre** : aucun vote, aucune identité, aucun réglage, aucun autre article. +- **Rien d'autre** : aucun vote, aucune identité, aucun autre article. (Les cinq réglages de participation + sont remesurés par la tâche quotidienne si la dernière mesure a plus de 24 h, avec ou sans M9 : mêmes + valeurs tant qu'aucune proposition n'a été votée.) ## Répétition -**Faite le 03/11 de 22 h 45 min 39 à 22 h 47 min 46, réseau coupé** (`unshare -rn`, boucle locale seule : -`m9/repetition-isolee.sh`, scratchpad de l'intégrateur), avec le serveur construit sur `5730d78` (même code -serveur et même seed que `d66823b` : prémisse 4), copié en `m9/ld-server-a47aed0`, sur une copie de la copie -de production prise par orch de 22 h 41 min 52 à 22 h 42 min 10 (production sur `de1b7eb5` ; empreintes -vérifiées : `05058b76…`, `fd4c9fda…`, WAL vide), publication vers un dépôt nu local. Journal -`m9/repetition-1.log` ; comparaison ligne à ligne de chaque table par `m9/compare.py` (lecture seule, par -`rowid`). +**Faite sur `fadfff5` le 03/11 de 23 h 50 min 24 à 23 h 52 min 32, réseau coupé** (`unshare -rn`, boucle +locale seule : `m9/repetition-isolee.sh`, scratchpad de l'intégrateur), avec le serveur construit sur +`fadfff5` (`m9/ld-server-fadfff5`), sur une copie de la copie de production prise par orch de 22 h 41 min 52 +à 22 h 42 min 10 (production sur `de1b7eb5` ; empreintes vérifiées : `05058b76…`, `fd4c9fda…`, WAL vide), +publication vers un dépôt nu local. Journal `m9/repetition-fadfff5.log` ; comparaison ligne à ligne de +chaque table par `m9/compare.py` (lecture seule, par `rowid`). Une première répétition sur `d66823b` +(22 h 45 min 39 à 22 h 47 min 46, `m9/repetition-d66823b.log`, états gardés dans `m9/snap-d66823b/`) a donné +les mêmes comptes ; la relecture de `fadfff5` a comparé les deux, heures et identifiants neutralisés : seules +diffèrent les raisons des quatre lignes de file (« Proposition d'amorce »). | Table | Avant | Après | Ce qui change | |---|---|---|---| @@ -136,7 +144,8 @@ vérifiées : `05058b76…`, `fd4c9fda…`, WAL vide), publication vers un dép | `article_amendments` | — | 2 | table nouvelle, 2 décisions `applied` (`between`, 4,5) | | `retirement_amendments` | — | 2 | table nouvelle, 2 décisions `applied` | | `outbox` | 25 (12 en attente) | 30 (17 en attente) | + 5 (Monnaie libre) ; les 12 en attente reportées (`next_at`) | -| Les 22 autres tables (votes 0, bulletins 0, identités 1, réglages, quorums, inertie, invitations, groupes, sessions…) | | | identiques | +| `settings` | 7 | 7 | les 5 mesures de participation refaites (dernière le 02/11 à 22 h 09 UTC, plus de 24 h) : mêmes valeurs (médiane nulle, 0 proposition), seule l'heure change ; ce n'est pas M9 (absent de la répétition de `d66823b`, faite moins de 24 h après) | +| Les 21 autres tables (votes 0, bulletins 0, identités 1, quorums, inertie, invitations, groupes, sessions…) | | | identiques | **Aucune ligne supprimée, dans aucune table.** `integrity_check` ok, `foreign_key_check` vide. Dans chaque groupe, l'ordre de « fondamental » lu : T1, E1, E12, E2. Journal : six « seed amendment applied », deux @@ -155,7 +164,7 @@ E1, E12, E2 au cran 2, Propositions d'amorce (`seedProposal`, `seedFeatured`) ; une copie de l'état d'après : démarre, santé ok ; il n'écrit rien d'autre que le report de la file ; il montre, dans chaque groupe, **34 unités** : les sept articles F1 à O1 et les huit ordres de section reviennent, avec les nouveaux textes d'I1, E1, E2 et E12 entre E1 et E2 (ce sont des données). **Un nouveau -passage** au serveur de `d66823b` ensuite ne rejoue rien (seul le report de la file) : les dix unités restent +passage** au serveur de `fadfff5` ensuite ne rejoue rien (seul le report de la file) : les dix unités restent retirées, puisque leur marque est restée. ## Effet attendu @@ -189,6 +198,22 @@ proposition) ; la migration 0012 reste (ignorée par `de1b7eb`, `set_ignore_miss 03/11 à 22 h 50** sur sa copie de la copie d'orch de 22 h 41 : l'attendu exact. Une trace fait refuser l'amendement concerné avec sa raison, et rien ne bouge pour lui. 3. La relecture indépendante, inscrite « ok » dans `~/harness/etat/relectures.json`. + - **`fadfff5` : ok.** Sous-agent neuf, sans le contexte de l'intégrateur, sur le delta `d66823b..fadfff5` + (accord d'orch, en réponse à la question de l'intégrateur du 03/11 vers 23 h 27), lancé le 03/11 à 23 h 50 sur la consigne `m9/relis-m9b.md`, + inscrit le 04/11 à 00 h 14 (transcript + `~/.claude/projects/-home-yvv-Documents-PROD-DEV-libreDecision/d0a7108b-7f2f-484a-bcb0-de339238199d/subagents/agent-ad733bc6ca86cb5de.jsonl`, + dernière ligne « fadfff5 : ok »). Aucun bloquant, aucun « à reprendre ». Ce qu'elle a vérifié : + - le delta ne fait que `formula.reading` (fr, en, es) et les quatre raisons ; aucune empreinte, garde, + seed ni migration ; + - la nouvelle phrase vraie sur 201 484 750 cas (tous les W de 1 à 20 000, 179 692 tirés jusqu'à + 10 000 000, les cinq crans, les quorums de la borne basse à W) ; l'ancienne fausse sur 17 couples + (W, cran), tous à W ≤ 15 ; en et es disent la même chose ; mutations vues rouges ; + - la répétition rejouée par elle, réseau coupé, sur une copie de la copie d'orch, comparée table par + table à celle de `d66823b` : seules les quatre raisons diffèrent (et la mesure quotidienne de + participation, contrôlée en relançant `d66823b` sur la même copie) ; + - boucle : 338 tests Rust, 116 vitest, e2e 48 / 48. + Mineurs, liste d'attente : hors de la toile, l'écran ne dit pas que B^W peut demander une voix de plus + dans un petit groupe ; « la part de « pour » demandée » puis « la part exigée » dans la même phrase. - **`d66823b` : à reprendre** (sous-agent neuf, sans le contexte de l'intégrateur, lancé le 03/11 à 23 h 00 sur la consigne `m9/relis-m9.md` du scratchpad de l'intégrateur, inscrit à 23 h 25 ; transcript `~/.claude/projects/-home-yvv-Documents-PROD-DEV-libreDecision/d0a7108b-7f2f-484a-bcb0-de339238199d/subagents/agent-a81f5c0481c04ce9b.jsonl`). @@ -215,17 +240,19 @@ proposition) ; la migration 0012 reste (ignorée par `de1b7eb`, `set_ignore_miss - `vote.others.rule` ne dit pas qu'une version retenue par une objection n'entre pas en vigueur ; - après un retour, une trace laissée sur F1 à O1 n'empêche pas le repassage de les tenir retirées (limite connue de l'ADR 0014). -4. `git diff de1b7eb d66823b -- docker/ .woodpecker/ .env data/` → vide ; sous - `crates/ld-server/migrations/`, le seul ajout `0012_retired.sql` ; `git diff 5730d78 d66823b -- crates/ - seeds/` → vide (la répétition vaut pour `d66823b`). **Vu par l'intégrateur le 03/11 à 23 h 01.** -5. Boucle verte sur `d66823b`, le 03/11 de 23 h 00 à 23 h 07 (journal `m9/loop.log`), du premier coup : - fmt, clippy `-D warnings`, 336 tests Rust, svelte-check 0 / 0 (652 fichiers), 113 vitest, build, e2e - 48 / 48 (46 contrôles C1 à C44, M1, M2 ; 23 h 02 à 23 h 07). Image de production construite le 03/11 de - 23 h 07 à 23 h 11 (copie principale sur `0e26624`, même code que `d66823b` : le dossier, le tableau et le - HANDOFF seuls en plus), sortie 0 : étage serveur rejoué (fmt, clippy, 336 tests Rust, 0 échec, build - release) ; étage web rejoué (svelte-check 0 erreur 0 avertissement, vitest, build) ; image de contrôle - retirée à 23 h 11 (journal `m9/docker.log`). - **Recette écran sur la copie de production** (l'état d'après M9 de la répétition, serveur de `d66823b`, +4. `git diff de1b7eb fadfff5 -- docker/ .woodpecker/ .env data/` → vide ; sous + `crates/ld-server/migrations/`, le seul ajout `0012_retired.sql` ; `git diff d66823b fadfff5 -- crates/ + seeds/` → les quatre raisons et des tests seulement. **Vu par l'intégrateur le 04/11 à 00 h 13.** +5. Boucle verte sur `fadfff5`, le 03/11 de 23 h 52 à 23 h 58 (copie principale sur `a43a098`, même code + que `fadfff5` : le tableau seul en plus ; journal `m9/loop.log`), du premier coup : fmt, clippy + `-D warnings`, 338 tests Rust, svelte-check 0 / 0 (652 fichiers), 116 vitest, build, e2e 48 / 48 (46 + contrôles C1 à C44, M1, M2 ; 23 h 54 à 23 h 58). Image de production construite du 03/11 à 23 h 58 au + 04/11 à 00 h 12 (copie principale sur `a43a098`), sortie 0 : étage serveur rejoué (fmt, clippy, 338 tests + Rust, 0 échec, build release) ; étage web rejoué (svelte-check, vitest, build) ; image de contrôle retirée + à 00 h 12 (journal `m9/docker.log`). Sur `d66823b` avant elle : boucle 23 h 00 - 23 h 07, image 23 h 07 - + 23 h 11, toutes deux vertes. + **Recette écran sur la copie de production**, faite sur `d66823b` (U3c ne change à l'écran que la fin de + `formula.reading`, épinglée par `rules.test.ts`) (l'état d'après M9 de la répétition, serveur de `d66823b`, chaîne coupée, connexion de développement sur cette copie seulement ; 32 captures, `m9/recette/shots/`, bureau 1360 et Pixel 7, pierre et nuit) : l'accueil sans session dit le texte pour qui n'est pas invité ; en tête du document, « Info ouverture doc de réf. » avec le paragraphe d'Yvv, les @@ -240,20 +267,22 @@ proposition) ; la migration 0012 reste (ignorée par `de1b7eb`, `set_ignore_miss ```sh cd /home/yvv/Documents/PROD/DEV/libreDecision -git push prod d66823b2f626b4833b9422c0bbf418fa698cfcd9:main +git push prod fadfff55649140a8e240644c3a958ed256a291fd:main ``` Puis la branche du chantier (orch, même mandat) : `git push origin chantier/acte-certification`. ## Vérifications après -- [ ] Santé vue de l'extérieur → `"build":"d66823b2"`. +- [ ] Santé vue de l'extérieur → `"build":"fadfff55"`. - [ ] Journaux : six « seed amendment applied » (`2026-11-03-i1-amorce`, `-e1-amorce`, `-e2-amorce` × essai, Monnaie libre), deux « article added … Between(4.5) », deux « units out of the document », « publication suspended … waiting=17 », aucune ligne ERROR ni WARN. - [ ] Redémarrage à froid : aucun amendement rejoué. - [ ] Sur une copie fraîche : `m9/compare.py ` donne exactement la table de - la répétition, « AUCUNE LIGNE SUPPRIMÉE » ; `integrity_check` ok. + la répétition (à la mesure quotidienne de `settings` près), « AUCUNE LIGNE SUPPRIMÉE » ; + `integrity_check` ok ; les cinq nouvelles lignes de file disent « Proposition d'amorce … » et + « informations de fonctionnement sorties du document ». - [ ] Vue de l'extérieur, `https://decision.librodrome.org/` sans session : le texte pour qui n'est pas invité. - [ ] Le dépôt des textes reste à `9e0f45a`. @@ -262,7 +291,7 @@ Puis la branche du chantier (orch, même mandat) : `git push origin chantier/act - **Le code** : `docker tag libredecision-app:previous libredecision-app:latest`, puis `cd /opt/libredecision-app && docker compose up -d --force-recreate`. `previous` sera `de1b7eb`, qui ignore la migration 0012 et la colonne : les sept articles et les trois ordres réapparaissent, rien d'effacé - (rejoué en répétition). Un nouveau passage à `d66823b` ne rejoue rien. + (rejoué en répétition). Un nouveau passage à `fadfff5` ne rejoue rien. - **Les textes** : pas de retour automatique. L'ancien texte français reste dans l'historique de chaque proposition (`revisions`) ; les traductions en et es d'I1, E1, E2 sont remplacées sur place : les anciennes ne restent que dans git (le seed de `de1b7eb`, identiques 12 sur 12, vérifié par la relecture). diff --git a/docs/chantiers/acte-certification/tableau.md b/docs/chantiers/acte-certification/tableau.md index 0d8bef6..0db553c 100644 --- a/docs/chantiers/acte-certification/tableau.md +++ b/docs/chantiers/acte-certification/tableau.md @@ -166,9 +166,11 @@ M9 ; **relecture de `d66823b` : à reprendre** (inscrite à 23 h 25 ; aucun bloq `formula.reading`, « quand tout le monde vote, la majorité M suffit », fausse pour W ≤ 15) → **lot U3c fusionné** à 23 h 49 (`fadfff5` ; boucle du lot verte sur `266a443` : 338 tests, 116 vitest, e2e 48 / 48 ; la phrase « quand tout le monde vote, la part exigée est la majorité M », vraie pour tout W, grille `ld-engine` de W = 1 -à 10 000 000 ; les raisons de la file en « Proposition d'amorce ») ; **M9 sur `fadfff5`** : répétition, -boucle et image en cours ; relecture neuve du delta `d66823b..fadfff5` lancée à 23 h 50 (accord d'orch, avec -la répétition comparée table par table à celle de `d66823b`) ; dossier +à 10 000 000 ; les raisons de la file en « Proposition d'amorce ») ; **M9 sur `fadfff5`** : répétition +réseau coupé (23 h 50 - 23 h 52 ; aucune ligne supprimée ; retour sur `de1b7eb` rejoué), boucle verte (23 h 52 +- 23 h 58 : 338 tests, 116 vitest, e2e 48 / 48), image (23 h 58 - 00 h 12) ; **relecture du delta +`d66823b..fadfff5` : ok** (inscrite le 04/11 à 00 h 14) ; **dossier figé le 04/11 à 00 h 15**, ACTE M9 envoyé à +orch ; dossier `actes/2026-11-03-m9-amorce-hors-vote.md` (préparé, non figé). Mise en ligne prévue : un seul acte **M9** pour T4 et U3 (T4 seul retirerait les informations avant que l'interface ne les dise) — accord d'orch à 21 h 58, à trois conditions pour figer : une relecture neuve de tout `27995b9..` (le @@ -302,7 +304,12 @@ Liste d'attente (relectures de M8 ; aucun ne rend une phrase fausse ; après la - l'interface (`settings.*`) dit encore « comme d'habitude ». - M9 (lots T4, U3, U3b, U3c : l'Acte d'engagement d'Yvv, les informations de fonctionnement hors vote) : - **préparé, non figé** (`actes/2026-11-03-m9-amorce-hors-vote.md`). + **figé** le 04/11 à 00 h 15 sur `fadfff5` (`actes/2026-11-03-m9-amorce-hors-vote.md`) ; relectures + « d66823b : à reprendre » (03/11, 23 h 25) puis « fadfff5 : ok » (04/11, 00 h 14) ; répétition réseau coupé + sur la copie de production d'orch de 22 h 41 ; ACTE M9 envoyé à orch. +- Mineurs de la relecture de `fadfff5` (liste d'attente) : hors de la toile, l'écran ne dit pas que B^W peut + demander une voix de plus dans un petit groupe ; « la part de « pour » demandée » puis « la part exigée » + dans la même phrase de `formula.reading`. Liste d'attente (relecture de `d66823b`, M9 ; aucun ne touche la production d'aujourd'hui) : - la garde de réécriture d'I1, E1, E2 ne lit que la Proposition d'amorce (un quorum fixé, un texte rival, un