forked from yvv/decision
Compare commits
5
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1e27dd999f | ||
|
|
b28f1573c9 | ||
|
|
8ac9d835e3 | ||
|
|
a43a0989c1 | ||
|
|
521ff27b05 |
+3
-3
@@ -1,6 +1,6 @@
|
||||
# HANDOFF — libreDecision
|
||||
|
||||
> Dernière mise à jour : 2026-11-03 à 22 h 41, intégrateur libredecision-d4 (orch : dev-63, session
|
||||
> Dernière mise à jour : 2026-11-04 à 00 h 42, intégrateur libredecision-d4 (orch : dev-63, session
|
||||
> racine /DEV, mandat « déploie » et « pousse » du 03/11 au 08/11). État vivant : le tableau
|
||||
> `docs/chantiers/acte-certification/tableau.md`.
|
||||
|
||||
@@ -43,11 +43,11 @@
|
||||
l'article ») et chaque phrase est vraie pour tout W et tout quorum ; F1.1 inchangé. Trois relectures :
|
||||
« 2ce2028 : à reprendre », « e7ab82f : à reprendre », « de1b7eb : ok ». En tête du dossier, pour Yvv,
|
||||
chaque phrase avant / après. Copies retirées (orch à 20 h 43, l'intégrateur à 20 h 45).
|
||||
- **Lots T4 et U3 fusionnés** (03/11, `590ccd7`, `a47aed0`) sur la demande d'Yvv de 20 h 38 : I1, E1, E2 réécrits, E12
|
||||
- **Lots T4, U3, U3b et U3c en ligne** (M9, 04/11 ; `590ccd7`, `a47aed0`) sur la demande d'Yvv de 20 h 38 : I1, E1, E2 réécrits, E12
|
||||
« Responsabilité civique » ajouté entre E1 et E2, les sections formule, inertie et ordonnancement sortent
|
||||
du document (rien effacé, ADR 0014). Relecture d'Yvv : `docs/chantiers/acte-certification/textes-amorce.md`.
|
||||
**U3** (fusionné à 22 h 40) : titres, séparation, « Info ouverture doc de réf. », informations
|
||||
dans les panneaux, « Proposition d'amorce », texte pour qui n'est pas invité ; U3b fusionné (23 h 00, `d66823b`, le tableau des crans lisible sur bureau). Un seul acte **M9** sur `d66823b`, préparé (`actes/2026-11-03-m9-amorce-hors-vote.md`), relecture neuve en cours
|
||||
dans les panneaux, « Proposition d'amorce », texte pour qui n'est pas invité ; U3b fusionné (23 h 00, `d66823b`, le tableau des crans lisible sur bureau). U3c fusionné (23 h 49, `fadfff5`, la phrase de la majorité M vraie pour tout W). **M9 en ligne** depuis le 04/11 à 00 h 34 (`fadfff5`, pipeline 43 ; acte exécuté par orch de 00 h 16 à 00 h 39, `actes/2026-11-03-m9-amorce-hors-vote.md`) : rien effacé, retour sur `de1b7eb` possible (image `previous`). Reste à Yvv : confirmer les choix (Q15, Q16 au tableau ; `textes-amorce.md`)
|
||||
(T4 et U3 ensemble). Défauts et questions à Yvv : au tableau.
|
||||
- H, S, V, T, U, T2, U2, T3, T3b et T3c sont en ligne. Listes d'attente (relectures de M6, M6c, M7, M7b, M8) : au tableau, section Actes. Le plus
|
||||
visible : le vote d'un changement d'inertie de module ne dit pas le cran visé.
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
# Acte — Mise en ligne M9 (l'Acte d'engagement d'Yvv et les informations de fonctionnement hors vote, lots T4, U3 et U3b)
|
||||
# Acte — Mise en ligne M9 (l'Acte d'engagement d'Yvv et les informations de fonctionnement hors vote, lots T4, U3, U3b et U3c)
|
||||
Classe : déploie
|
||||
Projet : libreDecision Date : 2026-11-03
|
||||
|
||||
**État : PRÉPARÉ, non figé** — sur `d66823b` (`d66823b2f626b4833b9422c0bbf418fa698cfcd9`, lot U3b fusionné à
|
||||
23 h 00) ; en attente de la boucle, de l'image et de la relecture indépendante de `d66823b` — 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). Mot : **« déploie »** (rien n'est effacé ; voir
|
||||
**État : EXÉCUTÉ** le 04/11 de 00 h 16 à 00 h 39 (voir « Exécution ») ; figé sur `fadfff5`
|
||||
(`fadfff55649140a8e240644c3a958ed256a291fd`, lot U3c fusionné le 03/11 à
|
||||
23 h 49) le 04/11 à 00 h 15 — 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 : « fadfff5 : ok »
|
||||
(prémisse 3). Mot : **« déploie »** (rien n'est effacé ; voir
|
||||
« Ce que l'acte écrit »).
|
||||
|
||||
## Pour Yvv : ce que tu liras de changé
|
||||
@@ -78,7 +80,7 @@ dise.
|
||||
|
||||
## Ce qui part
|
||||
|
||||
Version `d66823b` (lots T4, U3, U3b), qui contient la version en ligne `de1b7eb`.
|
||||
Version `fadfff5` (lots T4, U3, U3b, U3c), qui contient la version en ligne `de1b7eb`.
|
||||
- **Serveur** : migration `0012_retired.sql` (additive) ; `retire.rs` (le retrait) ; `article_amend.rs`
|
||||
(E12) ; `seed_amend.rs` (trois amendements, I1, E1, E2) ; les lectures, votes, propositions, objections,
|
||||
coquilles, traductions, comptes et la publication ignorent une unité retirée ; `docs.rs` : `seedFeatured`.
|
||||
@@ -86,7 +88,8 @@ Version `d66823b` (lots T4, U3, U3b), qui contient la version en ligne `de1b7eb`
|
||||
sections formule, inertie, ordonnancement.
|
||||
- **Interface** (`web/`) : le chapitre, la séparation, les titres, les informations dans le vote et les
|
||||
panneaux, « Proposition d'amorce », le texte pour qui n'est pas invité, le réordonnancement sur plusieurs
|
||||
lignes, le tableau des crans lisible sur bureau.
|
||||
lignes, le tableau des crans lisible sur bureau ; « La formule du seuil » dit « quand tout le monde vote,
|
||||
la part exigée est la majorité M » (U3c, vrai pour tout W).
|
||||
- Configuration (`docker/`, `.woodpecker/`, `.env`, `data/`) : rien (prémisse 4).
|
||||
|
||||
## Ce que l'acte écrit dans la base de production (donnée runtime)
|
||||
@@ -96,14 +99,16 @@ Au premier démarrage, dans une transaction par amendement et par document, une
|
||||
de journal `retirement_amendments`, `article_amendments`. Aucune colonne retirée, aucune ligne effacée.
|
||||
- **`2026-11-03-i1-amorce`, `-e1-amorce`, `-e2-amorce`** (amendements de seed gardés, `Version::SeedProposal`) :
|
||||
texte fr, révision + 1 (I1 → 3, E1 et E2 → 2), une ligne `revisions` `amendment`, en et es remplacés, la
|
||||
décision dans `seed_amendments`, une ligne de file (Monnaie libre). Empreintes : I1 `a7095d70…` →
|
||||
décision dans `seed_amendments`, une ligne de file (Monnaie libre, raison « Proposition d'amorce
|
||||
réécrite : … »). Empreintes : I1 `a7095d70…` →
|
||||
`32eb36b4…`, E1 `bdca2713…` → `df31d0ec…`, E2 `bde76a30…` → `a7dd4690…`. Refusé à la moindre trace d'une
|
||||
personne (vote, simulé compris ; bulletin ; coquille ; traduction de membre ; objection ; texte différent de
|
||||
l'empreinte) : le texte d'avant reste.
|
||||
- **`2026-11-03-e12-responsabilite-civique`** (`article_amend.rs`) : une unité E12 (section
|
||||
`fondamental`, position 4,5, entre E1 et E2 tant que l'ordre de la section n'a pas de vote, sinon en fin de
|
||||
section), sa Proposition d'amorce ouverte (cran 2, `seed_featured`), sa révision initiale, en et es
|
||||
(empreinte `3fa5a8e5…`), la décision dans `article_amendments`, une ligne de file (Monnaie libre).
|
||||
(empreinte `3fa5a8e5…`), la décision dans `article_amendments`, une ligne de file (Monnaie libre, « Proposition d'amorce
|
||||
ajoutée : E12 … »).
|
||||
- **`2026-11-03-fonctionnement-hors-vote`** (`retire.rs`) : `UPDATE units SET retired_at, retired_reason`
|
||||
sur dix unités par document (F1, F1.1, F1.2, F1.3, N1, N1.1, O1, `ordre.formule`, `ordre.inertie`,
|
||||
`ordre.ordonnancement`), **tous ou aucun**, seulement si aucune trace d'une personne n'existe sur elles
|
||||
@@ -113,17 +118,21 @@ Au premier démarrage, dans une transaction par amendement et par document, une
|
||||
lignes de file restent.
|
||||
- La file de publication : les lignes en attente sont reportées (`next_at`) ; la publication reste
|
||||
suspendue (aucun texte en vigueur). Le groupe d'essai ne publie jamais.
|
||||
- **Rien d'autre** : aucun vote, aucune identité, aucun réglage, aucun autre article.
|
||||
- **Rien d'autre** : aucun vote, aucune identité, aucun autre article. (Les cinq réglages de participation
|
||||
sont remesurés par la tâche quotidienne si la dernière mesure a plus de 24 h, avec ou sans M9 : mêmes
|
||||
valeurs tant qu'aucune proposition n'a été votée.)
|
||||
|
||||
## Répétition
|
||||
|
||||
**Faite le 03/11 de 22 h 45 min 39 à 22 h 47 min 46, réseau coupé** (`unshare -rn`, boucle locale seule :
|
||||
`m9/repetition-isolee.sh`, scratchpad de l'intégrateur), avec le serveur construit sur `5730d78` (même code
|
||||
serveur et même seed que `d66823b` : prémisse 4), copié en `m9/ld-server-a47aed0`, sur une copie de la copie
|
||||
de production prise par orch de 22 h 41 min 52 à 22 h 42 min 10 (production sur `de1b7eb5` ; empreintes
|
||||
vérifiées : `05058b76…`, `fd4c9fda…`, WAL vide), publication vers un dépôt nu local. Journal
|
||||
`m9/repetition-1.log` ; comparaison ligne à ligne de chaque table par `m9/compare.py` (lecture seule, par
|
||||
`rowid`).
|
||||
**Faite sur `fadfff5` le 03/11 de 23 h 50 min 24 à 23 h 52 min 32, réseau coupé** (`unshare -rn`, boucle
|
||||
locale seule : `m9/repetition-isolee.sh`, scratchpad de l'intégrateur), avec le serveur construit sur
|
||||
`fadfff5` (`m9/ld-server-fadfff5`), sur une copie de la copie de production prise par orch de 22 h 41 min 52
|
||||
à 22 h 42 min 10 (production sur `de1b7eb5` ; empreintes vérifiées : `05058b76…`, `fd4c9fda…`, WAL vide),
|
||||
publication vers un dépôt nu local. Journal `m9/repetition-fadfff5.log` ; comparaison ligne à ligne de
|
||||
chaque table par `m9/compare.py` (lecture seule, par `rowid`). Une première répétition sur `d66823b`
|
||||
(22 h 45 min 39 à 22 h 47 min 46, `m9/repetition-d66823b.log`, états gardés dans `m9/snap-d66823b/`) a donné
|
||||
les mêmes comptes ; la relecture de `fadfff5` a comparé les deux, heures et identifiants neutralisés : seules
|
||||
diffèrent les raisons des quatre lignes de file (« Proposition d'amorce »).
|
||||
|
||||
| Table | Avant | Après | Ce qui change |
|
||||
|---|---|---|---|
|
||||
@@ -136,7 +145,8 @@ vérifiées : `05058b76…`, `fd4c9fda…`, WAL vide), publication vers un dép
|
||||
| `article_amendments` | — | 2 | table nouvelle, 2 décisions `applied` (`between`, 4,5) |
|
||||
| `retirement_amendments` | — | 2 | table nouvelle, 2 décisions `applied` |
|
||||
| `outbox` | 25 (12 en attente) | 30 (17 en attente) | + 5 (Monnaie libre) ; les 12 en attente reportées (`next_at`) |
|
||||
| Les 22 autres tables (votes 0, bulletins 0, identités 1, réglages, quorums, inertie, invitations, groupes, sessions…) | | | identiques |
|
||||
| `settings` | 7 | 7 | les 5 mesures de participation refaites (dernière le 02/11 à 22 h 09 UTC, plus de 24 h) : mêmes valeurs (médiane nulle, 0 proposition), seule l'heure change ; ce n'est pas M9 (absent de la répétition de `d66823b`, faite moins de 24 h après) |
|
||||
| Les 21 autres tables (votes 0, bulletins 0, identités 1, quorums, inertie, invitations, groupes, sessions…) | | | identiques |
|
||||
|
||||
**Aucune ligne supprimée, dans aucune table.** `integrity_check` ok, `foreign_key_check` vide. Dans chaque
|
||||
groupe, l'ordre de « fondamental » lu : T1, E1, E12, E2. Journal : six « seed amendment applied », deux
|
||||
@@ -155,7 +165,7 @@ E1, E12, E2 au cran 2, Propositions d'amorce (`seedProposal`, `seedFeatured`) ;
|
||||
une copie de l'état d'après : démarre, santé ok ; il n'écrit rien d'autre que le report de la file ; il
|
||||
montre, dans chaque groupe, **34 unités** : les sept articles F1 à O1 et les huit ordres de section
|
||||
reviennent, avec les nouveaux textes d'I1, E1, E2 et E12 entre E1 et E2 (ce sont des données). **Un nouveau
|
||||
passage** au serveur de `d66823b` ensuite ne rejoue rien (seul le report de la file) : les dix unités restent
|
||||
passage** au serveur de `fadfff5` ensuite ne rejoue rien (seul le report de la file) : les dix unités restent
|
||||
retirées, puisque leur marque est restée.
|
||||
|
||||
## Effet attendu
|
||||
@@ -189,6 +199,22 @@ proposition) ; la migration 0012 reste (ignorée par `de1b7eb`, `set_ignore_miss
|
||||
03/11 à 22 h 50** sur sa copie de la copie d'orch de 22 h 41 : l'attendu exact. Une trace fait refuser
|
||||
l'amendement concerné avec sa raison, et rien ne bouge pour lui.
|
||||
3. La relecture indépendante, inscrite « ok » dans `~/harness/etat/relectures.json`.
|
||||
- **`fadfff5` : ok.** Sous-agent neuf, sans le contexte de l'intégrateur, sur le delta `d66823b..fadfff5`
|
||||
(accord d'orch, en réponse à la question de l'intégrateur du 03/11 vers 23 h 27), lancé le 03/11 à 23 h 50 sur la consigne `m9/relis-m9b.md`,
|
||||
inscrit le 04/11 à 00 h 14 (transcript
|
||||
`~/.claude/projects/-home-yvv-Documents-PROD-DEV-libreDecision/d0a7108b-7f2f-484a-bcb0-de339238199d/subagents/agent-ad733bc6ca86cb5de.jsonl`,
|
||||
dernière ligne « fadfff5 : ok »). Aucun bloquant, aucun « à reprendre ». Ce qu'elle a vérifié :
|
||||
- le delta ne fait que `formula.reading` (fr, en, es) et les quatre raisons ; aucune empreinte, garde,
|
||||
seed ni migration ;
|
||||
- la nouvelle phrase vraie sur 201 484 750 cas (tous les W de 1 à 20 000, 179 692 tirés jusqu'à
|
||||
10 000 000, les cinq crans, les quorums de la borne basse à W) ; l'ancienne fausse sur 17 couples
|
||||
(W, cran), tous à W ≤ 15 ; en et es disent la même chose ; mutations vues rouges ;
|
||||
- la répétition rejouée par elle, réseau coupé, sur une copie de la copie d'orch, comparée table par
|
||||
table à celle de `d66823b` : seules les quatre raisons diffèrent (et la mesure quotidienne de
|
||||
participation, contrôlée en relançant `d66823b` sur la même copie) ;
|
||||
- boucle : 338 tests Rust, 116 vitest, e2e 48 / 48.
|
||||
Mineurs, liste d'attente : hors de la toile, l'écran ne dit pas que B^W peut demander une voix de plus
|
||||
dans un petit groupe ; « la part de « pour » demandée » puis « la part exigée » dans la même phrase.
|
||||
- **`d66823b` : à reprendre** (sous-agent neuf, sans le contexte de l'intégrateur, lancé le 03/11 à
|
||||
23 h 00 sur la consigne `m9/relis-m9.md` du scratchpad de l'intégrateur, inscrit à 23 h 25 ; transcript
|
||||
`~/.claude/projects/-home-yvv-Documents-PROD-DEV-libreDecision/d0a7108b-7f2f-484a-bcb0-de339238199d/subagents/agent-a81f5c0481c04ce9b.jsonl`).
|
||||
@@ -215,17 +241,19 @@ proposition) ; la migration 0012 reste (ignorée par `de1b7eb`, `set_ignore_miss
|
||||
- `vote.others.rule` ne dit pas qu'une version retenue par une objection n'entre pas en vigueur ;
|
||||
- après un retour, une trace laissée sur F1 à O1 n'empêche pas le repassage de les tenir retirées
|
||||
(limite connue de l'ADR 0014).
|
||||
4. `git diff de1b7eb d66823b -- docker/ .woodpecker/ .env data/` → vide ; sous
|
||||
`crates/ld-server/migrations/`, le seul ajout `0012_retired.sql` ; `git diff 5730d78 d66823b -- crates/
|
||||
seeds/` → vide (la répétition vaut pour `d66823b`). **Vu par l'intégrateur le 03/11 à 23 h 01.**
|
||||
5. Boucle verte sur `d66823b`, le 03/11 de 23 h 00 à 23 h 07 (journal `m9/loop.log`), du premier coup :
|
||||
fmt, clippy `-D warnings`, 336 tests Rust, svelte-check 0 / 0 (652 fichiers), 113 vitest, build, e2e
|
||||
48 / 48 (46 contrôles C1 à C44, M1, M2 ; 23 h 02 à 23 h 07). Image de production construite le 03/11 de
|
||||
23 h 07 à 23 h 11 (copie principale sur `0e26624`, même code que `d66823b` : le dossier, le tableau et le
|
||||
HANDOFF seuls en plus), sortie 0 : étage serveur rejoué (fmt, clippy, 336 tests Rust, 0 échec, build
|
||||
release) ; étage web rejoué (svelte-check 0 erreur 0 avertissement, vitest, build) ; image de contrôle
|
||||
retirée à 23 h 11 (journal `m9/docker.log`).
|
||||
**Recette écran sur la copie de production** (l'état d'après M9 de la répétition, serveur de `d66823b`,
|
||||
4. `git diff de1b7eb fadfff5 -- docker/ .woodpecker/ .env data/` → vide ; sous
|
||||
`crates/ld-server/migrations/`, le seul ajout `0012_retired.sql` ; `git diff d66823b fadfff5 -- crates/
|
||||
seeds/` → les quatre raisons et des tests seulement. **Vu par l'intégrateur le 04/11 à 00 h 13.**
|
||||
5. Boucle verte sur `fadfff5`, le 03/11 de 23 h 52 à 23 h 58 (copie principale sur `a43a098`, même code
|
||||
que `fadfff5` : le tableau seul en plus ; journal `m9/loop.log`), du premier coup : fmt, clippy
|
||||
`-D warnings`, 338 tests Rust, svelte-check 0 / 0 (652 fichiers), 116 vitest, build, e2e 48 / 48 (46
|
||||
contrôles C1 à C44, M1, M2 ; 23 h 54 à 23 h 58). Image de production construite du 03/11 à 23 h 58 au
|
||||
04/11 à 00 h 12 (copie principale sur `a43a098`), sortie 0 : étage serveur rejoué (fmt, clippy, 338 tests
|
||||
Rust, 0 échec, build release) ; étage web rejoué (svelte-check, vitest, build) ; image de contrôle retirée
|
||||
à 00 h 12 (journal `m9/docker.log`). Sur `d66823b` avant elle : boucle 23 h 00 - 23 h 07, image 23 h 07 -
|
||||
23 h 11, toutes deux vertes.
|
||||
**Recette écran sur la copie de production**, faite sur `d66823b` (U3c ne change à l'écran que la fin de
|
||||
`formula.reading`, épinglée par `rules.test.ts`) (l'état d'après M9 de la répétition, serveur de `d66823b`,
|
||||
chaîne coupée, connexion de développement sur cette copie seulement ; 32 captures,
|
||||
`m9/recette/shots/`, bureau 1360 et Pixel 7, pierre et nuit) : l'accueil sans session dit le texte pour
|
||||
qui n'est pas invité ; en tête du document, « Info ouverture doc de réf. » avec le paragraphe d'Yvv, les
|
||||
@@ -240,20 +268,22 @@ proposition) ; la migration 0012 reste (ignorée par `de1b7eb`, `set_ignore_miss
|
||||
|
||||
```sh
|
||||
cd /home/yvv/Documents/PROD/DEV/libreDecision
|
||||
git push prod d66823b2f626b4833b9422c0bbf418fa698cfcd9:main
|
||||
git push prod fadfff55649140a8e240644c3a958ed256a291fd:main
|
||||
```
|
||||
|
||||
Puis la branche du chantier (orch, même mandat) : `git push origin chantier/acte-certification`.
|
||||
|
||||
## Vérifications après
|
||||
|
||||
- [ ] Santé vue de l'extérieur → `"build":"d66823b2"`.
|
||||
- [ ] Santé vue de l'extérieur → `"build":"fadfff55"`.
|
||||
- [ ] Journaux : six « seed amendment applied » (`2026-11-03-i1-amorce`, `-e1-amorce`, `-e2-amorce` × essai,
|
||||
Monnaie libre), deux « article added … Between(4.5) », deux « units out of the document »,
|
||||
« publication suspended … waiting=17 », aucune ligne ERROR ni WARN.
|
||||
- [ ] Redémarrage à froid : aucun amendement rejoué.
|
||||
- [ ] Sur une copie fraîche : `m9/compare.py <copie d'avant> <copie d'après>` donne exactement la table de
|
||||
la répétition, « AUCUNE LIGNE SUPPRIMÉE » ; `integrity_check` ok.
|
||||
la répétition (à la mesure quotidienne de `settings` près), « AUCUNE LIGNE SUPPRIMÉE » ;
|
||||
`integrity_check` ok ; les cinq nouvelles lignes de file disent « Proposition d'amorce … » et
|
||||
« informations de fonctionnement sorties du document ».
|
||||
- [ ] Vue de l'extérieur, `https://decision.librodrome.org/` sans session : le texte pour qui n'est pas invité.
|
||||
- [ ] Le dépôt des textes reste à `9e0f45a`.
|
||||
|
||||
@@ -262,7 +292,7 @@ Puis la branche du chantier (orch, même mandat) : `git push origin chantier/act
|
||||
- **Le code** : `docker tag libredecision-app:previous libredecision-app:latest`, puis
|
||||
`cd /opt/libredecision-app && docker compose up -d --force-recreate`. `previous` sera `de1b7eb`, qui ignore
|
||||
la migration 0012 et la colonne : les sept articles et les trois ordres réapparaissent, rien d'effacé
|
||||
(rejoué en répétition). Un nouveau passage à `d66823b` ne rejoue rien.
|
||||
(rejoué en répétition). Un nouveau passage à `fadfff5` ne rejoue rien.
|
||||
- **Les textes** : pas de retour automatique. L'ancien texte français reste dans l'historique de chaque
|
||||
proposition (`revisions`) ; les traductions en et es d'I1, E1, E2 sont remplacées sur place : les
|
||||
anciennes ne restent que dans git (le seed de `de1b7eb`, identiques 12 sur 12, vérifié par la relecture).
|
||||
@@ -270,4 +300,62 @@ Puis la branche du chantier (orch, même mandat) : `git push origin chantier/act
|
||||
|
||||
## Exécution
|
||||
|
||||
(à remplir par orch)
|
||||
Acte exécuté le 04/11/2026, 00h16-00h39, par orch (session dev-63, e66db8ca), sous mandat « déploie »
|
||||
(03/11 → 08/11, `~/harness/etat/mandats.json`).
|
||||
|
||||
- **Prémisses** (00 h 16 min 33 s) : santé `{"build":"de1b7eb5","ok":true}` ; `prod/main` → `de1b7eb`,
|
||||
ancêtre de `fadfff5` ; diff `de1b7eb..fadfff5` sur `docker/ .woodpecker/ .env data/` : 0 fichier ; sous
|
||||
`crates/ld-server/migrations/`, le seul ajout `0012_retired.sql` ; « fadfff5 : ok » inscrit (00 h 14), la
|
||||
seule relecture de ce code lancée par l'intégrateur, close ; aucun témoin `deploying` sur sonic.
|
||||
- **Copie d'avant** (00 h 16 min 42 s, `/tmp/ld-m9-avant`) : sortie de `m8/counts.sh` **identique à la ligne
|
||||
près** à celle de la copie de 22 h 41, base de la répétition ; `m9/traces.sh` : l'attendu de la prémisse 2
|
||||
(pour I1, E1, E2 et les dix unités, dans les deux groupes : 0 vote, bulletin, coquille, objection,
|
||||
traduction de membre et quorum fixé ; propositions de membre : seulement `inertia/withdrawn` sur I1 et E1
|
||||
dans Monnaie libre ; en vigueur : les trois ordres).
|
||||
- **Poussée** (00 h 17) : la commande du dossier, telle quelle → `de1b7eb..fadfff5 fadfff55… -> main`.
|
||||
- **Pipeline 43** : créé à 00 h 17 min 07 s ; image `latest` df3787b28ee9 construite à 00 h 23 min 19 s ;
|
||||
santé `"build":"fadfff55"` dès 00 h 24 min 02 s ; `success` à 00 h 34 min 49 s. `sbom-publish` en échec,
|
||||
comme au pipeline 42 (étape non bloquante, déjà en échec avant M9).
|
||||
- **Journal du premier démarrage** (23:23:46Z) : six « seed amendment applied » (`2026-11-03-i1-amorce`,
|
||||
`-e1-amorce`, `-e2-amorce`, essai et monnaie-libre), deux « article added
|
||||
amendment="2026-11-03-e12-responsabilite-civique" … placement=Between(4.5) », deux « units out of the
|
||||
document amendment="2026-11-03-fonctionnement-hors-vote" … retired=["F1", "F1.1", "F1.2", "F1.3", "N1",
|
||||
"N1.1", "O1", "ordre.formule", "ordre.inertie", "ordre.ordonnancement"] », « libreDecision listening …
|
||||
build=fadfff55 », « publication suspended … waiting=17 » ; aucune ligne ERROR ni WARN.
|
||||
- **Redémarrage à froid** (00 h 36 min 24 s) : « libreDecision listening … build=fadfff55 », puis
|
||||
« publication suspended … waiting=17 » ; aucun amendement rejoué, aucune ligne ERROR ni WARN. Santé ensuite
|
||||
`{"build":"fadfff55","ok":true}`.
|
||||
- **Copie d'après** (00 h 36 min 42 s, `/tmp/ld-m9-apres`) : `m9/compare.py <avant> <après>` donne la table
|
||||
de la répétition, ligne pour ligne : `_sqlx_migrations` 11 → 12 (+ 12 `retired`) ; `units` 84 → 86
|
||||
(+ E12 × 2, `fondamental`, position 4,5, cran 2 ; 20 unités marquées
|
||||
`2026-11-03-fonctionnement-hors-vote`, les 64 autres aux deux colonnes nouvelles vides) ; `proposals`
|
||||
91 → 93 (+ E12 × 2, `open`, `seed`, `seed_featured` ; I1, E1, E2 × 2 : `body`, `revision`, `updated_at`) ;
|
||||
`revisions` 123 → 131 (+ 6 `amendment`, + 2 `initial`) ; `translations` 144 → 148 (+ 4, 12 remplacées :
|
||||
`body`, `source_hash`, `updated_at`) ; `seed_amendments` 26 → 32 ; `article_amendments` et
|
||||
`retirement_amendments` nouvelles, 2 décisions `applied` chacune ; `outbox` 25 → 30 (`pending=17
|
||||
done=13`), les 12 en attente reportées (`next_at`) ; les 21 autres tables identiques.
|
||||
**« AUCUNE LIGNE SUPPRIMÉE »** ; `integrity_check` ok ; `foreign_key_check` vide. Les cinq nouvelles
|
||||
lignes de file : « Proposition d'amorce réécrite : I1, … », « … : E1, … », « … : E2, … », « Proposition
|
||||
d'amorce ajoutée : E12, … », « informations de fonctionnement sorties du document … ».
|
||||
- **Écart à la répétition, `settings`** : 2 lignes changées, l'heure seule — `wot_size` (5709 → 5709) et
|
||||
`wot_source` (`chain:https://rpc.duniter.org`, inchangé), relus au démarrage, le réseau répondant (la
|
||||
répétition, réseau coupé, gardait la dernière valeur : son seul WARN). Les 5 mesures de participation ne
|
||||
sont pas refaites : la production les a refaites le 03/11 à 22:12:52Z, moins de 24 h avant (la
|
||||
répétition, sur la copie de 22 h 41, les avait refaites). Rien d'autre.
|
||||
- **Vu de l'extérieur** (00 h 37 min 59 s, Chromium, locale `fr-FR`, sans session) :
|
||||
`https://decision.librodrome.org/` dit « Pour rentrer dans un groupe de décisions, il faut pour l'instant
|
||||
demander un lien d'invitation à Chiara ou à Yvv. Ce prototype n'est pas encore câblé sur la chaîne. » ;
|
||||
aucune requête hors de `decision.librodrome.org`.
|
||||
- **Dépôt des textes** : `main` → `9e0f45a9e8d4af356a0c42daa5f4fb9eb9e6dfb3`, inchangé.
|
||||
- **Retour** : `previous` = 78ca8a1d10e4 (construite le 03/11 à 20 h 31 min 25 s, `de1b7eb`) ; le conteneur
|
||||
tourne sur `latest` df3787b28ee9.
|
||||
- **Copies retirées** à 00 h 38 min 25 s : `/tmp/ld-m9-copie` (22 h 41, base des répétitions),
|
||||
`/tmp/ld-m9-avant`, `/tmp/ld-m9-apres`. Les copies de l'intégrateur (`m9/base`, `m9/rep`, `m9/recette`,
|
||||
`m9/snap-d66823b`) sont à retirer par lui, sur ce message.
|
||||
- **Branche locale** : `main` avancée `de1b7eb..fadfff5` à 00 h 38.
|
||||
- Écart au déroulé : aucun, hors l'écart de `settings` ci-dessus, qui n'est pas de M9.
|
||||
- Copies de l'intégrateur retirées le 04/11 à 00 h 41 (scratchpad de libredecision-d4) : `m9/base` (la
|
||||
copie de la copie d'orch de 22 h 41, donnée aux relecteurs), `m9/rep` (la base de la répétition de
|
||||
`fadfff5`, avec son dépôt nu local et ses états), `m9/recette` (la base et les captures de la recette sur
|
||||
l'état d'après M9) et `m9/snap-d66823b` (les états de la répétition de `d66823b`). Plus aucune base dans ce
|
||||
scratchpad.
|
||||
|
||||
@@ -163,8 +163,14 @@ réglages, sur bureau comme sur téléphone, en fr, en, es. **M9 sur `d66823b`**
|
||||
copie de production d'orch de 22 h 41 (22 h 45 - 22 h 47, réseau coupé ; aucune ligne supprimée ; retour
|
||||
sur `de1b7eb` rejoué) ; boucle verte (23 h 00 - 23 h 07), image (23 h 07 - 23 h 11), recette écran sur la copie de production après
|
||||
M9 ; **relecture de `d66823b` : à reprendre** (inscrite à 23 h 25 ; aucun bloquant ; une phrase de
|
||||
`formula.reading`, « quand tout le monde vote, la majorité M suffit », fausse pour W ≤ 15) → **lot U3c en
|
||||
cours** depuis 23 h 26 (la phrase ; les raisons de la file en « Proposition d'amorce ») ; dossier
|
||||
`formula.reading`, « quand tout le monde vote, la majorité M suffit », fausse pour W ≤ 15) → **lot U3c fusionné**
|
||||
à 23 h 49 (`fadfff5` ; boucle du lot verte sur `266a443` : 338 tests, 116 vitest, e2e 48 / 48 ; la phrase
|
||||
« quand tout le monde vote, la part exigée est la majorité M », vraie pour tout W, grille `ld-engine` de W = 1
|
||||
à 10 000 000 ; les raisons de la file en « Proposition d'amorce ») ; **M9 sur `fadfff5`** : répétition
|
||||
réseau coupé (23 h 50 - 23 h 52 ; aucune ligne supprimée ; retour sur `de1b7eb` rejoué), boucle verte (23 h 52
|
||||
- 23 h 58 : 338 tests, 116 vitest, e2e 48 / 48), image (23 h 58 - 00 h 12) ; **relecture du delta
|
||||
`d66823b..fadfff5` : ok** (inscrite le 04/11 à 00 h 14) ; **dossier figé le 04/11 à 00 h 15** ; **M9 en ligne** depuis le
|
||||
04/11 (acte exécuté par orch de 00 h 16 à 00 h 39, pipeline 43 `success` à 00 h 34 ; santé `fadfff55`) ; dossier
|
||||
`actes/2026-11-03-m9-amorce-hors-vote.md` (préparé, non figé). Mise en ligne prévue :
|
||||
un seul acte **M9** pour T4 et U3 (T4 seul retirerait les informations avant que l'interface ne les dise) —
|
||||
accord d'orch à 21 h 58, à trois conditions pour figer : une relecture neuve de tout `27995b9..<tête>` (le
|
||||
@@ -298,7 +304,16 @@ Liste d'attente (relectures de M8 ; aucun ne rend une phrase fausse ; après la
|
||||
- l'interface (`settings.*`) dit encore « comme d'habitude ».
|
||||
|
||||
- M9 (lots T4, U3, U3b, U3c : l'Acte d'engagement d'Yvv, les informations de fonctionnement hors vote) :
|
||||
**préparé, non figé** (`actes/2026-11-03-m9-amorce-hors-vote.md`).
|
||||
**figé** le 04/11 à 00 h 15 sur `fadfff5` (`actes/2026-11-03-m9-amorce-hors-vote.md`) ; relectures
|
||||
« d66823b : à reprendre » (03/11, 23 h 25) puis « fadfff5 : ok » (04/11, 00 h 14) ; répétition réseau coupé
|
||||
sur la copie de production d'orch de 22 h 41 ; **exécuté** le 04/11 par orch sous mandat, 00 h 16 – 00 h 39
|
||||
(pipeline 43 `success` à 00 h 34) ; santé `fadfff55` ; six amendements, E12 ajouté, dix unités retirées par
|
||||
groupe, redémarrage à froid sans rejeu ; la table de la répétition retrouvée ligne pour ligne, aucune ligne
|
||||
supprimée (seul écart : `settings`, W relu au démarrage, même valeur) ; dépôt des textes à `9e0f45a` ; image
|
||||
de retour `previous` = `de1b7eb`. Copies retirées : orch à 00 h 38, l'intégrateur à 00 h 41.
|
||||
- Mineurs de la relecture de `fadfff5` (liste d'attente) : hors de la toile, l'écran ne dit pas que B^W peut
|
||||
demander une voix de plus dans un petit groupe ; « la part de « pour » demandée » puis « la part exigée »
|
||||
dans la même phrase de `formula.reading`.
|
||||
|
||||
Liste d'attente (relecture de `d66823b`, M9 ; aucun ne touche la production d'aujourd'hui) :
|
||||
- la garde de réécriture d'I1, E1, E2 ne lit que la Proposition d'amorce (un quorum fixé, un texte rival, un
|
||||
@@ -306,7 +321,11 @@ Liste d'attente (relecture de `d66823b`, M9 ; aucun ne touche la production d'au
|
||||
- `inertia.explain`, première phrase (« plus il faut de voix ») : une tendance, pas une règle ;
|
||||
- `vote.others.rule` ne dit pas qu'une version retenue par une objection n'entre pas en vigueur ;
|
||||
- après un retour, une trace laissée sur F1 à O1 n'empêche pas le repassage de les tenir retirées (ADR 0014) ;
|
||||
- I2 « Les deux garanties réciproques » redit la première phrase d'I1 (à montrer à Yvv, rien à changer sans lui).
|
||||
- I2 « Les deux garanties réciproques » redit la première phrase d'I1 (à montrer à Yvv, rien à changer sans lui) ;
|
||||
- `deep.note` (« Propositions en cours », en ligne depuis M7) : le seuil « la part de voix pour que demande son
|
||||
inertie, comptée sur au moins son quorum », inexact d'une voix pour W ≤ 15 (B^W) ; vu par le lot U3c ;
|
||||
- les trois lignes de file de M6 en production disent « Proposition seed » : elles iront dans le premier
|
||||
commit public avec celles de M9 (donnée, pas touchée).
|
||||
|
||||
Liste d'attente (orch, 03/11 à 20 h 47 : les restes des tests sous `/tmp`) :
|
||||
- les tests Rust laissent sous `/tmp` des centaines de dossiers `ld-*` (568 le 03/11 à 20 h 47 : 563 copies du
|
||||
|
||||
Reference in New Issue
Block a user