Files
decision/actes/2026-11-02-m5-retenue-textes-regles.md
T

107 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Acte — Mise en ligne M5 (une version retenue : « contre » et retrait ; les articles des règles réécrits ; la licence)
Classe : déploie
Projet : libreDecision Date : 2026-11-02
**État : PRÉPARÉ** sur `3f10a0e` — armé d'avance par Yvv (« Pousse. Déploie. », le 02/11, pour relire en
ligne) ; on exécute à l'« ok » de la relecture de `0919b46+3f10a0e`
## Intention
Mettre en ligne ce qu'Yvv veut relire à l'écran : « Pour que je fasse une review, faut que je vois en
ligne » (02/11). Trois choses partent :
- **le lot G** : sur une version retenue par une objection, on peut voter « contre » ou retirer son
vote, jamais ajouter un « pour » (Yvv, 01/11) ;
- **les articles des règles** : F1.2, N1, N1.1 et O1 réécrits selon les règles appliquées (Yvv,
02/11). Ce sont des propositions ouvertes à 0 vote ; l'amendement de seed gardé remplace leur texte
et leurs traductions dans les deux groupes. Yvv les relit en ligne ;
- **la licence** AGPL-3.0 (`LICENSE`, champs des manifestes).
Le vote par la chaîne reste éteint : `LD_VOTE_ACCOUNT` n'est pas posé.
## Ce qui part
Version : `3f10a0e`, qui contient la version en ligne `4d4adcc` ; 13 commits, 41 fichiers. Hors du
code (vérifié le 02/11 à 02 h 03) : rien dans `docker/`, `.woodpecker/`, `.env` ou `data/`, et aucun
fichier sensible.
## Ce que l'acte écrit dans la base de production (donnée runtime)
- **Aucune migration.**
- **Quatre amendements de seed gardés**, décidés une fois par document et journalisés dans
`seed_amendments` (8 lignes). Chacun remplace le texte de la proposition ouverte `1.0.0` du seed
(révision 1 → 2, une ligne d'historique `amendment`) et ses traductions en, es. Seulement si
personne n'y a touché : 0 vote, révision 1, aucune coquille, traduction ni objection, et le texte
du seed du 21/10 (empreinte).
- **La republication de Monnaie libre** : 4 lignes en file ; rien pour le groupe d'essai.
- **Aucun article en vigueur, aucun vote, aucune autre proposition n'est touché.**
**Répétition faite le 02/11 de 01 h 58 à 02 h 01**, avec le serveur de `3f10a0e`, sur une copie fraîche
de la base de production (santé `4d4adcc2`), sans publication configurée.
| | Avant | Après |
|---|---|---|
| Migrations | 1–8 | 1–8 |
| Propositions | 90 | 90 |
| Les quatre, dans chaque groupe | révision 1, 0 vote, textes du 21/10 | révision 2, nouveaux textes |
| Autres propositions à une révision autre que 1 | I1 ×2 (Raison d'être, M1) | les mêmes |
| Révisions | 92 | 100 |
| Traductions | 144 | 144 (8 réécrites) |
| `seed_amendments` | 2 | 10, toutes « applied » |
| File de publication | 7 | 11 (4 pour Monnaie libre : « proposition de départ réécrite : … ») |
| Votes, signalements, identités | 0, 0, 1 | 0, 0, 1 |
`integrity_check` ok, `foreign_key_check` vide. Un second démarrage ne rejoue rien (10 / 100 / 11).
## Avant — prémisses vivantes
1. La production sert `4d4adcc` : `curl -s https://decision.librodrome.org/api/health` → `"build":"4d4adcc2"`.
2. `git fetch prod && git rev-parse --short prod/main` → `4d4adcc`.
3. La relecture `0919b46+3f10a0e` est inscrite « ok » dans `~/harness/etat/relectures.json`, ainsi
que celles de `4d4adcc` (M4) ; aucune autre relecture de ce code n'est en cours.
4. `git diff 4d4adcc 3f10a0e -- docker/ .woodpecker/ .env data/` → vide.
5. Boucle verte sur `3f10a0e` le 02/11 vers 01 h 50 : 237 tests Rust, svelte-check sans
avertissement, 55 vitest, e2e 35 / 35. Image de production construite le 02/11 à 02 h 02, sortie 0,
avec les tests rejoués dedans.
6. Sur une copie fraîche de la base de production : les quatre propositions `1.0.0` du seed
(F1.2, N1, N1.1, O1) sont à la révision 1 et à 0 vote dans les deux groupes. Si l'une a bougé,
l'amendement la laisse telle quelle, la refuse avec sa raison au journal, et l'acte reste valable.
## Commande exacte
Selon la règle du canon du 02/11, un dossier « déploie » ne liste que la poussée qui met en ligne :
```sh
cd /home/yvv/Documents/PROD/DEV/libreDecision
git push prod 3f10a0e:main
```
## Effet attendu
- Dans les deux groupes, F1.2, N1, N1.1 et O1 montrent les nouveaux textes, en fr, en et es.
- Sur une version retenue par une objection, « Contre » et « Retirer mon vote » ; jamais « Pour ».
- Le dépôt des textes reçoit une publication de Monnaie libre.
Irréversibilité : **partielle**. Le code se remet en arrière. Ce qui reste :
- les nouveaux textes des quatre propositions, à la révision 2, l'ancien texte étant gardé dans
l'historique ;
- le commit publié.
## Vérifications après
- [ ] Santé → `"build":"3f10a0e…"`, les huit premiers caractères.
- [ ] `ssh sonic 'docker logs lpk-libredecision-app 2>&1 | grep -E "seed amendment|published|ERROR|WARN"'`
→ huit « seed amendment applied », une publication, aucune erreur.
- [ ] Redémarrage à froid (`docker compose restart`), puis santé vue de l'extérieur et journaux : aucun
amendement rejoué. L'image n'a ni `wget` ni `curl` : la santé se lit depuis le poste.
- [ ] Sur une copie fraîche : les comptes de la répétition, à la ligne près.
- [ ] À l'écran (Yvv) : Monnaie libre → Acte d'engagement → « Propositions en cours » : Paramètres par
défaut, Réglage de l'inertie, Niveaux d'inertie, Ordonnancement du document.
## Retour
- **Le code** : `docker tag libredecision-app:previous libredecision-app:latest`, puis
`cd /opt/libredecision-app && docker compose up -d --force-recreate`. `previous` sera alors `4d4adcc`,
qui lit les modules ; le risque d'un retour vers `8727315`, décrit dans l'acte M4, ne se pose plus.
- **Les quatre textes** : pas de retour automatique. L'ancien texte reste dans l'historique de chaque
proposition ; un nouvel amendement gardé pourrait le remettre.
- **Le commit publié** : on publierait par-dessus.