7.8 KiB
Acte — Mise en ligne M7b (les mineurs du lecteur, lot U2)
Classe : déploie
Projet : libreDecision Date : 2026-11-03
État : EN PRÉPARATION sur 6f6197c (6f6197cc231837df55d6b3e1986f61be5d708a1f) — 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 (lancée le 03/11 à 11 h 51).
Intention
Mettre en ligne le lot U2 : les mineurs d'interface des relectures de M7 (b2e597b) et de M6c
(84f015a), défaut retenu par orch le 03/11 à 09 h 45 (U2 après T2).
- Cibles d'au moins 44 px sur téléphone : « Tout déplier », « Autres versions », « Fixer ce quorum », et tous les gestes du vote déplié et du réordonnancement.
- Les trois lectures (« En vigueur », « Si les bien cotées passent », « Si tout passe ») passent à la ligne sur téléphone au lieu de cacher « Si tout passe ».
- « Proposer cet ordre » éteint dit pourquoi : « C'est l'ordre en vigueur : déplace au moins un article. »
- Une information à un seul endroit dans le vote déplié : l'inertie dite une fois (ses crans dans « Inertie ») ; la ligne d'une Proposition seed s'efface sous son vote déplié ; l'autre version d'un article n'est plus redite dans « Autres versions ».
- L'en-tête compte ce que montre la liste : « 0 article en vigueur · 3 Propositions seed · 32 propositions en cours ».
- Un changement d'inertie proposé sur un ordre ou sur le titre a sa pastille sur la ligne du module.
settings.readingdit « au-delà du quorum » (fr, en, es) ; l'anglais en un seul vocabulaire (« for », « against », « favour ») ; le commentaire decrates/ld-engine/src/threshold.rsécrit juste, et un test.
Ce qui part
Version 6f6197c, qui contient la version en ligne 84f015a. L'interface, plus un commentaire et un
test dans crates/ld-engine ; le reste est documentation (CONTROLES.md, UX-lecteur.md, CLAUDE.md,
actes, tableau, HANDOFF). git diff 84f015a 6f6197c -- crates/ld-server crates/trustin-access seeds docker .woodpecker .env data → vide (vu par l'intégrateur à 11 h 39 et par orch à 11 h 40) : le serveur est
celui qui est en ligne.
Ce que l'acte écrit dans la base de production (donnée runtime)
Rien. Aucune migration, aucun amendement, aucun code serveur nouveau. Au démarrage, comme à chaque
démarrage depuis M6, la file de publication suspendue reporte ses lignes en attente (next_at).
Répétition
Faite le 03/11 de 11 h 43 à 11 h 44, avec le serveur de 6f6197c (binaire de la boucle, copié en
m7b/ld-server-6f6197c), sur une copie de la copie de production prise par orch à 11 h 40 min 27 (santé
84f015ad), publication vers un dépôt nu local (m7b/repetition.sh ; journal m7b/repetition-m7b.log,
scratchpad de l'intégrateur). Deux démarrages.
m7b/counts.shavant et après le second démarrage : identiques.- La base entière comparée (
.dump) : seules changent les 10 lignes de la file en attente, par leurnext_at. - Journal : « publication suspended », aucun amendement, aucune ligne ERROR ni WARN ; 0 commit vers le dépôt des textes.
Recette écran
Faite le 03/11 de 11 h 45 à 11 h 50, sur d'autres copies de la copie de 11 h 40, interface de
6f6197c, connexion de développement (identités dev: dans ces copies seulement), bureau 1360 × 900 et
téléphone (Pixel 7), fr-FR, vue membre et vue administrateur. Scripts m7b/recette.mjs et
m7b/probe.mjs ; rapport m7b/shots/rapport.json ; captures dans
/tmp/claude-1001/-home-yvv-Documents-PROD-DEV-libreDecision/d0a7108b-7f2f-484a-bcb0-de339238199d/scratchpad/m7b/shots/,
regardées.
| Point | Mesuré sur les données de production | Captures |
|---|---|---|
| 1 | Téléphone : « Tout déplier » 44 px ; dans le vote déplié, Pour, Contre, « Réglages de la formule », « Coquilles… » 44 px ; « Proposer cet ordre » 44 px ; administrateur : « Fixer ce quorum » 44 px, le champ 44 px. (Bureau : 36 à 39 px, la règle vaut pour le téléphone.) | telephone-1c-admin-quorum, telephone-4b-deux-versions, telephone-3-ordre-inchange |
| 2 | Téléphone : la rangée des lectures tient (370 px de contenu pour 370 visibles ; avant M7b, 412 pour 370), « Si tout passe » entier sur sa ligne ; la page ne déborde pas. | telephone-5-entete |
| 3 | « Proposer cet ordre » éteint, et la phrase « C'est l'ordre en vigueur : déplace au moins un article. » visible (bureau et téléphone). | *-3-ordre-inchange |
| 4 | Vote déplié de Raison d'être : « Inertie · ▮▮▯▯▯ 2 / 5 · basse » une fois (l'autre « 2 / 5 » est la ligne d'historique) ; la ligne « 0 pour · 0 contre · 9 oui sur 12 » n'est plus redite au-dessus. Rencontre physique (deux variantes) : le vote de la variante 1.0.0 ne redit pas l'autre (0 « Autres versions », 0 mention de 0.4.0). | *-4a-seed-deplie, *-4b-deux-versions |
| 5 | « 0 article en vigueur · 3 Propositions seed · 32 propositions en cours » (avant : « 35 propositions en cours », ordres compris). | *-5-entete |
| 6 | Aucun changement d'inertie de module ouvert en production : prouvé par C38 sur une base de test, pas vu sur ces données. | — |
Vu en passant, pas du lot U2, déjà en ligne, en liste d'attente :
- sur bureau, le bas du menu latéral (langues, ambiances, « Se déconnecter ») déborde au bord droit quand le nom affiché est long (« Recette U2 bur… » : la quatrième pastille et « Se déconnecter » coupés ; « Sonde bur… » : tout tient) ;
- sur téléphone, le sceau fixe chevauche « Réordonner » en bas à droite. Aussi : la carte du document sur la page du groupe compte toujours le total du serveur (35, ordres compris) ; changer ce compte toucherait le serveur (rapport de U2).
Effet attendu
- Le lecteur change pour tout le monde sur ces sept points ; les données, les votes, les textes et la publication ne changent pas.
- Le dépôt des textes reste à
9e0f45a.
Irréversibilité : aucune côté données ; le code se remet en arrière.
Avant — prémisses vivantes
- La production sert
84f015a: santé"build":"84f015ad";prod/main→84f015a. git diff 84f015a 6f6197c -- crates/ld-server crates/trustin-access seeds docker .woodpecker .env data→ vide.- La relecture indépendante de
6f6197c, inscrite « ok » dans~/harness/etat/relectures.json. - Boucle verte sur
6f6197c, le 03/11 de 11 h 39 à 11 h 43, du premier coup (journalm7b/loop.log) : fmt, clippy-D warnings, 302 tests Rust, svelte-check 0 / 0, 78 vitest, build, e2e 42 / 42 (11 h 40 à 11 h 43). Image de production construite de 11 h 43 à 11 h 45, sortie 0 (302 tests Rust « ok », svelte-check 0 / 0, 78 vitest, build) ; image de contrôle retirée à 11 h 50. - Sur sonic, aucun témoin
/opt/libredecision-app/deploying.
Commande exacte
cd /home/yvv/Documents/PROD/DEV/libreDecision
git push prod 6f6197cc231837df55d6b3e1986f61be5d708a1f:main
Vérifications après
- Santé vue de l'extérieur →
"build":"6f6197cc". - Journaux : « publication suspended … waiting=10 », aucune ligne ERROR ni WARN, aucun amendement.
- Le paquet JS servi, vu de l'extérieur, contient « déplace au moins un article » (la phrase de « Proposer cet ordre » éteint) et « au-delà du quorum ».
- Sur une copie fraîche : comptes de
counts.shidentiques à la copie d'avant ;integrity_checkok. - Le dépôt des textes reste à
9e0f45a.
Retour
docker tag libredecision-app:previous libredecision-app:latest, puis
cd /opt/libredecision-app && docker compose up -d --force-recreate. previous sera 84f015a, le même
serveur, qui attend aussi le premier texte pour publier : rien à couper, aucune donnée à reprendre.
Exécution
(à remplir par orch)