diff --git a/actes/2026-11-02-m5-retenue-textes-regles.md b/actes/2026-11-02-m5-retenue-textes-regles.md new file mode 100644 index 0000000..7cd5bd8 --- /dev/null +++ b/actes/2026-11-02-m5-retenue-textes-regles.md @@ -0,0 +1,106 @@ +# 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. diff --git a/docs/chantiers/acte-certification/tableau.md b/docs/chantiers/acte-certification/tableau.md index efadce0..2ccf69b 100644 --- a/docs/chantiers/acte-certification/tableau.md +++ b/docs/chantiers/acte-certification/tableau.md @@ -10,13 +10,15 @@ Orch seul sur le dépôt (sous-agents en copies de travail). **M1 (L1–L8) en l publiée (commit `35864eb` du dépôt des textes). Sur `chantier/acte-certification` : tous les lots fusionnés (B2, F, D), puis `4d4adcc` (mineurs de la relecture de F) ; boucle verte, e2e 35 / 35. **M4 en ligne** depuis le 01/11 à 23 h 06 (`4d4adcc`) : L9 à L13, le vote par la chaîne éteint. Les -poussées vers `origin` attendent « pousse ». En cours (02/11) : -- **lot G** : retirer son vote ou voter « contre » sur une version retenue (réponse d'Yvv du 01/11), - en copie de travail ; -- **réécriture des articles seed** F1.2, N1, N1.1, O1 selon les règles appliquées : brouillon en - rédaction (`textes-regles-seed.md`), puis relecture d'Yvv, puis un amendement gardé (acte - « déploie ») ; -- **licence** AGPL-3.0 posée (`76b8e9f`). +`origin` poussé le 02/11 (chantier `70aa9ba`, main `4d4adcc`). **M5 préparé** sur `3f10a0e` +(`actes/2026-11-02-m5-retenue-textes-regles.md`), armé d'avance par « Pousse. Déploie. » (02/11, pour +relire en ligne) : +- **lot G** fusionné (`0919b46`) : « contre » et retrait sur une version retenue, jamais « pour » ; +- **F1.2, N1, N1.1, O1** réécrits (amendement de seed sur une proposition ouverte) ; +- **licence** AGPL-3.0 (`76b8e9f`). + +Boucle verte, image construite, répétition faite (01 h 58 – 02 h 01). Relecture de +`0919b46+3f10a0e` en cours ; on met en ligne à son « ok ». Ce qu'Yvv doit fournir : - l'identifiant et le courriel de Chiara, pour l'acte « accorde » qui crée son compte sur la forge @@ -87,6 +89,7 @@ Défauts posés par orch, sans question (Yvv peut les corriger) : - M3a (L10) : **figé** sur `71819f9` (`actes/2026-10-30-m3-inertie-cinq-crans.md`), attend « déploie ». - M2 + M3a (L9 et L10) : **figé** sur `74f96be` (`actes/2026-10-31-m2-vote.md`), le vote par la chaîne éteint ; remplace M3a s'il est armé. - M4 (L9 à L13) : **exécuté** le 01/11/2026, 22 h 52 – 23 h 40 (`actes/2026-10-31-m4-vote-modules-objections.md`) ; M2 et M3a n'ont plus d'objet. +- M5 (lot G, articles des règles, licence) : **préparé** sur `3f10a0e` (`actes/2026-11-02-m5-retenue-textes-regles.md`), armé d'avance ; part à l'« ok » de la relecture. Restes mineurs de `71819f9` et du lot B : faits dans le lot D.