L'ordre des articles de chaque section (cran 2) et le titre du document
(cran 4) deviennent des modules : des unités à part, dont les versions
sont des propositions votées comme les articles (dépliées, panier, chaîne).
- moteur : ld-engine/src/order.rs (qui est dans l'ordre, ordre proposé,
complété à la fin quand un article entre ou sort, places redistribuées,
nouvel article en fin de section) ; pending : un ordre de moins de deux
articles n'est jamais à voter ;
- données : migration 0007 (units.kind, module_amendments) ; le seed
déclare ses modules ; module_amend.rs les ajoute une fois, gardé et
journalisé, aux documents nés sans eux, sans toucher articles ni votes ;
- serveur : modules.rs, order.rs, doc_title.rs (portes pour proposer,
entrée en vigueur : les articles changent de place, le document change
de titre, en et es passent « à revoir ») ; publication des modules ;
- reste mineur : la médiane compte les statuts open, in_force, applied,
et eux seuls.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- ld-engine/pending : un module (article) reste à voter tant qu'aucune
version n'a été adoptée par un vote (seed a minima non confirmé, ou pas
de version en vigueur et au moins une version ouverte) ; les variantes
comptent pour un ; « sans ton vote » = aucun vote valide sur aucune version.
- overview.rs : GET /api/groups/{slug} ajoute « upcoming » (docs, mandats,
protocoles), lu au démarrage dans seeds/upcoming/<groupe>.json, trilingue,
servi seulement à qui ouvre le groupe ; GET /api/groups/{slug}/decisions,
une ligne par doc avec toVote et withoutMyVote (si la personne vote).
- Retour après connexion par défaut : « / » au lieu de « /groupes ».
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>