Fusion de la tête du chantier (924a40d : lots B2 et F) dans le lot D

Les deux côtés gardés partout. Aux coutures :
- une objection (redit / contredit) porte sur deux articles, jamais sur un module ;
  un ordre ne se corrige pas, ni par son auteur ni par un autre ; une coquille du
  titre suit le chemin de F (l'auteur du titre, un administrateur pour le titre
  de départ, ou 3 jours), et documents.title suit à l'application ;
- votable() couvre les modules ; leurs totaux passent par shown_tally, à l'écran
  et dans document.json ;
- « Modules à voter » ne compte plus une version retenue par une objection (test
  vu rouge) ; la liste du groupe la compte toujours parmi les propositions en cours ;
- le panier : une fonction pour les articles et les modules, avec les versions
  retenues de F ; un nouvel article se propose dans une section, à sa fin, et peut
  répondre à une objection ;
- migrations 0007 (modules) puis 0008 (objections) ;
- C25 et C26 supportent un groupe d'essai où une voix suffit (dès 16 membres).

Boucle : fmt, clippy -D warnings, cargo test (227), svelte-check 0, vitest 55,
build, e2e 35 / 35 (C1–C33 et M1).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Yvv
2026-10-31 09:41:30 +01:00
co-authored by Claude Opus 5.5
82 changed files with 8285 additions and 677 deletions
+17
View File
@@ -85,6 +85,23 @@ personne traduise le nouveau. Le titre du document dans les autres langues suit
fraîches ou à revoir (`doc_title::sync`, rejoué aussi à chaque mise en file de publication : une
coquille ou une traduction du titre en vigueur s'y reporte).
### Face aux objections et aux coquilles des autres (ADR 0010)
- **Une objection** (« redit », « contredit ») porte sur deux versions d'articles, jamais sur un
module : un titre ou un ordre ne se répète ni ne se contredit au sens d'un article
(`objections::raise` n'admet que des textes ; test
`the_generic_writing_stops_at_a_module_and_an_order_is_never_corrected`).
- **Un ordre ne se corrige pas** (`409 order_fixed`), ni par son auteur ni par un autre : pas de
coquille d'un autre sur un ordre. **Une coquille du titre** suit le chemin de toute coquille :
celle d'un autre attend l'auteur du titre (un administrateur pour le titre de départ) ou
3 jours ; appliquée, elle republie, et `documents.title` suit.
- `DocState::votable` couvre les modules comme les articles ; les totaux d'un module se lisent
par `shown_tally`, à l'écran et dans `document.json`.
- **« Modules à voter »** ne compte pas une version retenue par une objection : personne ne peut
la voter tant qu'elle est retenue (un article dont la seule version ouverte est retenue sort
du compte, et y revient à la levée). La liste du groupe la compte toujours parmi les
propositions en cours, ouvertes.
### Publication
`fr.md` ne change pas de forme : les articles dans leur ordre en vigueur, sous le titre en