7.2 KiB
Acte — Mise en ligne M6b (F1.1, F1.2 et N1.1 disent le quorum par cran)
Classe : déploie
Projet : libreDecision Date : 2026-11-03
État : EN PRÉPARATION sur bb4bdf5 (bb4bdf58c114fb88ac4e154a7ffe0b06ff359b3e) — 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 : en cours.
Intention
Mettre en ligne le lot T : les trois articles du seed qui décrivaient encore l'ancien plancher C (F1.1 « Formule du seuil WoT », F1.2 « Paramètres par défaut », N1.1 « Niveaux d'inertie ») disent le quorum par cran (ADR 0013), en fr, en et es.
Décision d'orch (dev-63, 03/11 à 07 h 36) : T part en M6b sans attendre la relecture d'Yvv, avec les
quatre défauts de l'intégrateur (Q13). Raison : le vote simulé est ouvert depuis M6 ; un vote, même
simulé, sur un de ces articles avant la mise en ligne figerait pour de bon le texte faux (l'amendement le
refuserait). Avec T en ligne, un vote figerait au pire un défaut de formulation, qu'un nouvel amendement
gardé corrigera tant qu'aucun vote n'a touché l'article. Les quatre questions vont à Yvv avec
docs/chantiers/acte-certification/textes-quorum-seed.md.
Défauts appliqués (Q13) : F1.2 n'annonce pas l'intention de remonter l'inertie ; « Propositions seed » dans le texte voté ; l'exemple de N1.1 (7 224 membres, 120 votants) gardé comme illustration ; le groupe d'essai non nommé.
Ce qui part
Version bb4bdf5, qui contient la version en ligne 94ddb17. Code touché :
crates/ld-server/src/seed_amend.rs (l'amendement), crates/ld-server/src/wot.rs (REFRESH rendu
public pour un test), seeds/acte-engagement-certification.json (bases neuves), des tests ; le reste est
documentation. Configuration (docker/, .woodpecker/, .env, data/) : rien (vérifié le 03/11 à
07 h 37).
Ce que l'acte écrit dans la base de production (donnée runtime)
- Aucune migration.
- Amendement de seed gardé
2026-11-03-f1-1-quorum,-f1-2-quorum,-n1-1-quorum, décidé une fois par document, dans une transaction, seulement si personne n'a touché l'article : 0 vote (simulé compris), 0 ligne de bulletin, aucune coquille, traduction de membre ni objection, texte d'avant identique à l'empreinte attendue ; pour F1.2 et N1.1, la révision 2 admise seulement si c'est l'amendement de M5, et lui seul.proposals: titre et texte fr, révision + 1 (F1.1 → 2 ; F1.2 et N1.1 → 3) ;revisions: une ligneamendment(l'ancien texte gardé, diff) ;translations: en et es remplacés ;seed_amendments: la décision ;outbox: une ligne par article dans Monnaie libre, qui attend (publication suspendue) ; rien pour l'essai. Refus possibles, le texte d'avant reste :not_a_seed,voted_into_force,confirmed,votes,ballots,corrected,translation_edited,signalled,revised,text_differs.
- Les amendements de M5 sur F1.2 et N1.1 sont marqués dépassés : ils ne décident plus rien.
- Aucun vote, aucune autre proposition, aucun autre article n'est touché ; la publication reste suspendue.
Répétition
Faite le 03/11 de 07 h 43 à 07 h 44, avec le serveur de bb4bdf5 (binaire de la boucle), sur une copie
de la copie de production prise par orch à 07 h 36 min 53 (santé 94ddb175), publication vers un dépôt nu
local (m6/repetition.sh ; journal m6/repetition-m6b.log, scratchpad de l'intégrateur).
| Avant | Après | |
|---|---|---|
| F1.1 (deux groupes) | ouverte, seed, révision 1, 0 vote, 0 bulletin | révision 2 |
| F1.2, N1.1 (deux groupes) | ouvertes, seed, révision 2, 0 vote, 0 bulletin | révision 3 |
| Révisions | 107 | 113 |
| Traductions | 144 | 144 (en, es des trois articles remplacés) |
seed_amendments |
10 | 16 |
| File de publication (Monnaie libre) | 4 en attente, 13 faites | 7 en attente, 13 faites |
| Commits vers le dépôt des textes (local) | — | 0 (« publication suspended ») |
Tout le reste (m6/counts.sh : migrations 1–11, propositions, unités en vigueur, I1/E1/E2, inertia_changes, amendements de M6, votes, bulletins, signalements, identités) |
identique à la ligne près |
integrity_check ok, foreign_key_check vide. Journal : six « seed amendment applied »
(2026-11-03-f1-1-quorum, -f1-2-quorum, -n1-1-quorum × essai, Monnaie libre), « publication
suspended », aucune ligne ERROR ni WARN. Un second démarrage ne rejoue rien (comptes identiques).
Effet attendu
- Dans les deux groupes, F1.1, F1.2 et N1.1 montrent les nouveaux textes, en fr, en et es.
- Rien d'autre ne change ; le dépôt des textes reste à
9e0f45a.
Irréversibilité : partielle. Le code se remet en arrière ; les nouveaux textes restent (l'ancien est dans l'historique de chaque proposition).
Avant — prémisses vivantes
- La production sert
94ddb17: santé"build":"94ddb175";prod/main→94ddb17. - Sur une copie fraîche,
m6/m6b-premisse.sh <db>(scratchpad de l'intégrateur, lecture seule) : 6 lignes, toutesopen, origineseed, révision 1 pour F1.1 et 2 pour F1.2 et N1.1, votes, bulletins, coquilles et objections à 0 ; migration 11. Un article touché est refusé par l'amendement avec sa raison, et l'acte reste valable pour les autres. Lu par orch sur la copie de 07 h 36 min 53 (santé94ddb175) : l'attendu exact ; 0 vote et 0 ligne de bulletin en tout. À relire sur la copie fraîche juste avant la poussée. - La relecture indépendante de
bb4bdf5, inscrite « ok » dans~/harness/etat/relectures.json. git diff 94ddb17 bb4bdf5 -- docker/ .woodpecker/ .env data/→ vide (vérifié à 07 h 37).- Boucle verte sur le code de
bb4bdf5(arbre de33f149b, documentation seule en plus) le 03/11 de 07 h 36 à 07 h 43 : fmt, clippy-D warnings, 294 tests Rust, svelte-check 0 / 0, 56 vitest, build, e2e 36 / 36. Image de production construite le 03/11 à 07 h 48, sortie 0 (tests Rust rejoués dedans, tous « ok » ; l'étape web reprise du cache, le web n'ayant pas changé depuis94ddb17) ; image de contrôle retirée à 07 h 48.
Commande exacte
cd /home/yvv/Documents/PROD/DEV/libreDecision
git push prod bb4bdf58c114fb88ac4e154a7ffe0b06ff359b3e:main
Vérifications après
- Santé vue de l'extérieur →
"build":"bb4bdf58". - Journaux : six « seed amendment applied » (F1.1, F1.2, N1.1 × essai, Monnaie libre), « publication suspended », aucune ligne ERROR ni WARN.
- Redémarrage à froid : aucun amendement rejoué.
- Sur une copie fraîche : les trois articles à la nouvelle révision dans les deux groupes ; le reste
identique à la ligne près à la copie d'avant (comptes de
m6/counts.sh) ;integrity_checkok. - Le dépôt des textes reste à
9e0f45a.
Retour
- Le code :
docker tag libredecision-app:previous libredecision-app:latest, puiscd /opt/libredecision-app && docker compose up -d --force-recreate.previoussera94ddb17, qui attend aussi le premier texte pour publier : pas de coupure de la publication à faire. - Les textes : pas de retour automatique ; l'ancien texte reste dans l'historique de chaque proposition, un nouvel amendement gardé pourrait le remettre.
Exécution
(à remplir par orch)