forked from yvv/decision
Acte M4 figé sur 4d4adcc (relectures ok, retour arrière décrit) ; tableau : liste d'attente de la relecture
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
# Acte — Mise en ligne M4 (le vote, l'inertie à cinq crans, les modules d'ordre et de titre, les objections, les coquilles validées)
|
||||
Classe : déploie
|
||||
Projet : libreDecision Date : 2026-10-31
|
||||
**État : PRÉPARÉ** sur `4d4adcc` — la relecture de `033b331+4d4adcc` est en cours ; on fige à son « ok »
|
||||
**État : FIGÉ (2026-10-31, 10 h 47)** sur `4d4adcc` — relectures inscrites « ok » : `a576b68`, `71819f9`,
|
||||
`74f96be`, `9c8f4cc`, `cd7e683`, `924a40d`, `033b331`, `4d4adcc`
|
||||
|
||||
## Intention
|
||||
|
||||
@@ -36,8 +37,8 @@ Version : `4d4adcc`, qui contient la version en production `8727315`. Lots et re
|
||||
| B (vote) | `74f96be` | « ok » |
|
||||
| B2 (corrections du vote) | `7ffa4fd` | « à reprendre », repris en `9c8f4cc` |
|
||||
| F (objections, coquilles, messages) | `cd7e683` | « ok », avec `9c8f4cc` et `924a40d` |
|
||||
| D (modules) et sa fusion | `033b331` | **en cours**, avec `4d4adcc` |
|
||||
| Corrections M1–M4 de la relecture de F | `4d4adcc` | **en cours**, avec `033b331` |
|
||||
| D (modules) et sa fusion | `033b331` | « ok », avec `4d4adcc` |
|
||||
| Corrections M1–M4 de la relecture de F | `4d4adcc` | « ok », avec `033b331` |
|
||||
|
||||
Ce qui change hors du code (vérifié le 31/10 à 10 h 10) :
|
||||
- `docker/app-compose.yml` reçoit **trois lignes de commentaire** (où poser `LD_VOTE_ACCOUNT`), et
|
||||
@@ -104,10 +105,13 @@ Un second démarrage ne rejoue rien : mêmes comptes, journaux 4 / 2, file à 6.
|
||||
avertissement, 55 vitest, e2e 35 / 35). L'image de production se construit :
|
||||
`docker build -f docker/app.Dockerfile --target production .`, sortie 0 le 31/10 à 10 h 09 (tests
|
||||
rejoués dans l'image : Rust verts, 55 vitest).
|
||||
6. Sur une copie fraîche de la base de production :
|
||||
6. Sur une copie fraîche de la base de production, **juste avant la poussée** :
|
||||
- `SELECT group_concat(version) FROM _sqlx_migrations` → `1,2,3,4` (ou plus si M2 / M3a est en ligne) ;
|
||||
- `SELECT COUNT(*) FROM votes` → `0` ;
|
||||
- `SELECT COUNT(*) FROM signals` → `0`.
|
||||
- `SELECT COUNT(*) FROM signals` → `0`. Cette prémisse compte : deux signalements debout d'une même
|
||||
personne sur une même paire feraient échouer la migration 0008 (index `signals_one_standing`,
|
||||
relecture de `033b331+4d4adcc`). Le serveur ne démarrerait pas, et Woodpecker relancerait
|
||||
`8727315` sans aucun module, sans dégât.
|
||||
|
||||
## Commandes exactes
|
||||
|
||||
@@ -156,9 +160,22 @@ Irréversibilité : **partielle**. Le code se remet en arrière. Ce qui reste :
|
||||
|
||||
- **Le code**, au plus court, sur sonic : `docker tag libredecision-app:previous libredecision-app:latest`,
|
||||
puis `cd /opt/libredecision-app && docker compose up -d --force-recreate`.
|
||||
- **Une image plus ancienne sur la base migrée** : `open_db` tolère les migrations inconnues. Que
|
||||
`8727315` lise correctement les unités `kind <> 'article'`, c'est à vérifier par la relecture en
|
||||
cours ; le résultat sera écrit ici avant de figer.
|
||||
- **Revenir à `8727315` une fois les modules créés abîme l'affichage et la publication** (relecture
|
||||
de `033b331+4d4adcc`, prouvé sur une base faite par `8727315`). `open_db` tolère les migrations
|
||||
inconnues, mais l'image ancienne lit toute la table `units` :
|
||||
- le titre et les ordres apparaissent comme 9 faux articles par document (un titre au corps vide,
|
||||
des listes d'identifiants), comptés « en vigueur » et « à voter » ;
|
||||
- à son démarrage, elle republie Monnaie libre avec eux (`publish::resync`) ;
|
||||
- elle lit les crans « 3 » et « 4 » comme `standard`, ce qui est sans effet tant qu'il n'y a aucun vote.
|
||||
|
||||
Ce retour peut aussi venir seul : l'étape `retablir` de `.woodpecker/app.yml` relance
|
||||
`libredecision-app:previous` si la nouvelle version ne répond pas dans les 10 minutes.
|
||||
|
||||
**Conduite retenue par défaut** (Yvv peut la corriger) :
|
||||
- on ne revient pas à la main vers `8727315` : on corrige en avant, par un nouveau déploiement ;
|
||||
- si `retablir` joue, on laisse `8727315` servir le temps de corriger. La publication fausse ne
|
||||
perd rien : elle part dans le dépôt des textes provisoire, et le déploiement suivant republie le bon
|
||||
texte par-dessus. Le contexte : 1 identité et 0 vote en production.
|
||||
- **Les crans, les modules, les tables nouvelles** : pas de retour automatique. Ils sont additifs, ou
|
||||
gardent l'ancien mot à côté.
|
||||
- **Les commits publiés** dans le dépôt des textes : on ne les retire pas sans réécrire l'historique
|
||||
|
||||
Reference in New Issue
Block a user