forked from yvv/decision
Brouillon de l'acte M6 : décisions Q11 et Q12, l'étape 0 (retrait d'I1 → 5 et E1 → 5 par l'écran, vérifié sur 3f10a0e en local)
Documentation seule. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
# Brouillon — acte M6 (Propositions seed, quorum, tampon des votes, lecteur, accueil, textes du quorum)
|
||||
|
||||
> **Brouillon, pas figé.** Tenu par l'intégrateur libredecision-d4. Il passe sous `actes/` quand il est
|
||||
> figé sur un sha, avec sa relecture indépendante inscrite. Orch (dev-63) l'exécute sous son mandat
|
||||
> (« déploie » et « pousse », du 03/11 au 08/11).
|
||||
|
||||
## Intention
|
||||
|
||||
Mettre en ligne la revue d'Yvv du 02/11 et ses décisions du 02/11 et du 03/11 :
|
||||
- **H** : l'accueil sous la voûte (fusionné, `a3c0a76`) ;
|
||||
- **S** : les Propositions seed, la publication suspendue sans texte en vigueur, le quorum par cran, la
|
||||
licence `AGPL-3.0-or-later` (fusionné, `349c8ed`) ;
|
||||
- **V** : le tampon des votes, le vote simulé partout tant que la chaîne est fermée (à fusionner) ;
|
||||
- **T** : les articles du seed qui décrivent le quorum (à faire) ;
|
||||
- **U** : le lecteur, la ligne « N oui pour passer · N non bloquent », le réglage du quorum (à faire).
|
||||
|
||||
## Décisions d'Yvv que l'acte applique (registre)
|
||||
|
||||
- Propositions seed au cran 2 ; aucun article en vigueur au départ (02/11).
|
||||
- Quorum par cran 12 · 12 · 50 · 50 · 50 dans Monnaie libre, 1 à l'essai ; l'auteur le change avant le
|
||||
premier vote (02/11) ; sous le quorum, les votants manquants comptent comme « non » (03/11).
|
||||
- Un vote simulé compte, puis s'efface à l'ouverture de la chaîne par un acte « supprime » (02/11).
|
||||
- **Q11** (03/11, « Pas avant des votes prouvés ») : un texte entré en vigueur par des votes simulés est
|
||||
en vigueur sur le site, mais ne se publie pas ; la publication attend un texte passé par les seuls
|
||||
votes prouvés. Dans Monnaie libre, rien n'est publié avant l'ouverture de la chaîne.
|
||||
- **Q12** (03/11, « Oui, retire-les ») : retirer les deux propositions d'inertie d'Yvv du 29/10, I1 → 5 et
|
||||
E1 → 5, **avant** que le nouveau serveur démarre (étape 0 ci-dessous).
|
||||
|
||||
## Étape 0 — avant la poussée : retirer I1 → 5 et E1 → 5 sur la production actuelle
|
||||
|
||||
**Pourquoi avant** : l'amendement des Propositions seed (`seed_proposal_amend.rs`) tourne au démarrage
|
||||
et n'est décidé qu'une fois par document (l. 319-334, une ligne dans `seed_proposal_amendments`). Si
|
||||
une proposition d'inertie d'un membre est encore ouverte, il refuse le cran (`inertia_proposal`) pour
|
||||
de bon : I1 resterait au cran 3 et E1 au cran 4. Une proposition retirée sans vote ne compte plus (sa
|
||||
requête ne retient que `status IN ('open','applied')` ou une proposition votée).
|
||||
|
||||
**La voie : le geste d'Yvv à l'écran**, sur la version en ligne `3f10a0e`. Vérifiée le 03/11 entre
|
||||
05 h 50 et 05 h 56 sur un serveur local de `3f10a0e` (base neuve du seed, proposition I1 → 5 créée
|
||||
comme en production ; captures dans le scratchpad de libredecision-d4, `shots/3-row.png`,
|
||||
`6-withdraw-visible.png`, `7-after.png`). Pas d'écriture SQL en production.
|
||||
|
||||
1. Yvv, connecté, ouvre `/g/monnaie-libre/docs/acte-engagement-certification`.
|
||||
2. Il descend au bloc « Propositions en cours » et clique le filtre « Les miennes » : il ne reste
|
||||
que ses deux propositions d'inertie.
|
||||
3. Sous l'intertitre « INTRODUCTION » (I1) : la ligne « inertie vers 5 / 5 · très haute »,
|
||||
« 0 pour · 0 contre », pastille « ta proposition ». Il clique la ligne.
|
||||
4. Le vote se déplie sous la ligne (l'adresse prend `?vote=<id>`). Il clique « Coquilles,
|
||||
traductions, objections, historique ».
|
||||
5. Le panneau de droite s'ouvre sur « Détails » : « inertie vers 5 / 5 · très haute · proposé par
|
||||
Yvv ». Il clique « Retirer ma proposition ».
|
||||
6. Message « Proposition retirée. » ; la ligne disparaît des propositions en cours (en base :
|
||||
`status = 'withdrawn'`, `left_at` posé ; la route relance un balayage, sans effet à 0 vote).
|
||||
7. Même chose pour E1, sous l'intertitre « ENGAGEMENTS FONDAMENTAUX » (déduit de la liste groupée
|
||||
par section ; non vu en local).
|
||||
|
||||
**Vérification**, sur une copie fraîche de la base de production :
|
||||
`SELECT unit_id, status FROM proposals WHERE kind = 'inertia'` → 2 `withdrawn`, 0 `open`.
|
||||
|
||||
**Répétition** : sur une copie fraîche, le retrait par la route avec le serveur `3f10a0e`, puis le
|
||||
démarrage du serveur M6 sur cette copie → I1, E1, E2 au cran 2, et `seed_proposal_amendments` dit
|
||||
`level_outcome = 'applied'` pour les trois.
|
||||
|
||||
Si le retrait n'est pas fait, l'acte reste valable : I1 et E1 démarrent aux crans 3 et 4, E2 au cran 2,
|
||||
et le journal dit `inertia_proposal`.
|
||||
|
||||
## Ce que l'acte écrit dans la base de production (à compléter)
|
||||
|
||||
- Migrations `0009` (Propositions seed), `0010` (tampon des votes, lot V), `0011` (quorums), additives.
|
||||
- Amendement **Propositions seed** (`2026-11-02-i1/e1/e2-proposition-seed`), par document et par
|
||||
article : la version passe de en vigueur à ouverte et marquée ; `units.in_force_id` à NULL ; une ligne
|
||||
`revisions` de type `seed_proposal` ; le cran à 2 avec une ligne `inertia_changes` (si accepté) ; une
|
||||
ligne `seed_proposal_amendments` ; dans Monnaie libre une ligne `outbox`, qui attend (publication
|
||||
suspendue).
|
||||
- Amendement **quorums** (`2026-11-03-quorums-par-cran`) : `documents.quorums` là où il est NULL ; une
|
||||
ligne `quorum_amendments` ; une ligne `outbox` dans Monnaie libre.
|
||||
- Lot V : ce que `0010` et la première mise en route écrivent (à reprendre de son rapport).
|
||||
- Lot T : l'amendement des textes du quorum (à reprendre de son rapport).
|
||||
|
||||
## Prémisses à vérifier (à compléter)
|
||||
|
||||
- Sur une copie fraîche : les propositions qui ont déjà assez de voix pour leur nouveau seuil (9 au
|
||||
cran 2, 39 au cran 3) entreraient au premier balayage. Attendu : 0 vote en production (M5 : 0 vote,
|
||||
1 identité).
|
||||
- La santé et `prod/main` sur `3f10a0e`.
|
||||
- La relecture indépendante du sha figé, inscrite « ok » dans `~/harness/etat/relectures.json`.
|
||||
- `git diff 3f10a0e <sha> -- docker/ .woodpecker/ .env data/` : à lire.
|
||||
|
||||
## Retour (à compléter)
|
||||
|
||||
- Le code : `libredecision-app:previous` (`3f10a0e`). Le serveur tolère les migrations qu'il ne connaît
|
||||
pas (`set_ignore_missing(true)`, `lib.rs:100`), mais les données auront changé : I1, E1, E2 ne sont
|
||||
plus en vigueur, et `3f10a0e` les montrerait comme propositions ouvertes, sans la marque.
|
||||
Reference in New Issue
Block a user