v3 : ADR 0008, le vote par transaction sur la chaîne Ğ1 ; chantier, contrôles C21–C24, structure

- ADR 0008 : bulletin scellé (ld1: + blake2b-256, sel de 128 bits), la transaction
  utility.batchAll (virement + remarque), la confirmation sur l'indexeur, le dernier
  fait foi dans l'ordre de la chaîne, groupes gérés, ce que voit la chaîne, ce que
  sait le serveur, réglages LD_VOTE_*, coût et limites. Noté dans 0006.
- CHANTIER : le vote déplié, le panier, « une personne, une voix » par la chaîne ;
  le droit de vote se vérifie au moment de la confirmation sur la chaîne.
- CONTROLES : C4, C5, C6, C11, C17, C19, C20, M1 mis à jour ; C21–C24 ; passage
  du lot B, 25 / 25 verts.
- CLAUDE.md : ballots.rs, indexer.rs, ballot/address du moteur, wallet/, panier,
  chaîne simulée des e2e. Compose : où poser LD_VOTE_ACCOUNT (en commentaire).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Yvv
2026-10-31 00:11:13 +01:00
co-authored by Claude Opus 5.5
parent ef271652df
commit 032fcbb535
7 changed files with 273 additions and 33 deletions
+40 -13
View File
@@ -34,19 +34,32 @@ les applications clientes (Cesium, Ğecko…) peuvent suivre.
il n'y a qu'un seul être humain vivant ; derrière un être humain, il n'y a qu'une seule clé
certifiante. ») et les deux engagements fondamentaux (Unicité du compte, Réciprocité), marqués
*seed a minima · 0 vote*. Au survol (ou toujours visibles sur mobile), trois gestes discrets :
**Le vote** (en cours, inertie, formule, annexes) · **Les propositions** · **Proposer**. Ils
ouvrent un panneau latéral (une feuille sur mobile) dont l'état vit dans l'URL. Depuis
l'en-tête du document et depuis chaque vote, **« Réglages de la formule »** : W, C, B, la
participation habituelle du groupe et les cinq crans (onglet « Réglages » du panneau).
**Le vote** · **Les propositions** · **Proposer**. **Le vote se déplie sous l'article**, façon
accordéon (un seul à la fois, l'état dans l'URL : `?vote=`) : le niveau d'eau, les totaux
pour et contre (jamais qui), le seuil et les voix qui manquent, ton vote et où il en est
(enregistré, inscrit sur la chaîne Ğ1, en attente de la chaîne, à reconfirmer, non compté et
pourquoi), puis l'inertie et la formule. Les autres gestes ouvrent un panneau latéral (une
feuille sur mobile), lui aussi dans l'URL : **Panier**, **Propositions**, **Proposer**,
**Détails** d'une version (coquilles, traductions, signalements, historique) et
**« Réglages de la formule »** (W, C, B, la participation habituelle du groupe et les cinq
crans), atteints depuis l'en-tête du document et depuis chaque vote.
5. **En dessous**, les propositions en cours — les 30 autres articles du texte source, à zéro
vote, inertie 3 / 5 — rangées par section (introduction, fondamental, technique,
conclusion, annexes, formule, inertie, ordonnancement), **une ligne par article** : un
article qui a plusieurs versions (variantes du seed, propositions rivales) montre leur
nombre et la meilleure en tête (niveau d'eau, pour / contre) ; la ligne se déplie sur ses
versions, chacune avec son étiquette, son niveau et ses marques, et chacune ouvre son vote.
Les filtres gardent un article dès qu'une de ses versions passe.
6. **Deux aperçus** : « si les bien cotées passent » et « si tout passe ».
7. **Trois langues** : fr · en · es, pour l'interface comme pour le texte. Le français fait foi ;
versions, chacune avec son étiquette, son niveau et ses marques, et chacune déplie son vote.
Les filtres gardent un article dès qu'une de ses versions passe. Chaque section offre
**« Voter cette section »**.
6. **Le vote groupé** (Yvv, 2026-10-30 : « Je peux voter tout d'un coup, ou une section entière,
ou un article avec son titre, ou séparément ») : « Voter en lot » ouvre un **panier** — pour,
contre ou retirer, article par article ; « tout pour » / « tout contre » pour une section ou
tout le document, jamais pour un article dont plusieurs versions sont en concurrence (il est
montré, on y choisit sa version) ; puis un seul geste : une écriture dans un groupe géré, une
transaction sur la chaîne Ğ1 dans Monnaie libre. Le panier tient sur un téléphone et reste
le temps de l'onglet.
7. **Deux aperçus** : « si les bien cotées passent » et « si tout passe ».
8. **Trois langues** : fr · en · es, pour l'interface comme pour le texte. Le français fait foi ;
une traduction devenue ancienne (le français a changé depuis) est signalée.
## Les règles
@@ -207,9 +220,18 @@ corriger, signaler) **sauf la gestion des accès**, réservée aux administrateu
Le nom trustinWallet remplace trustWallet (déjà pris). Règles : `crates/trustin-access`.
**Une personne, une voix.** Dans Monnaie libre, dont l'électorat W est la toile de confiance,
**seuls les membres de la toile votent** (connexion Ğ1). Une identité d'invitation y lit,
propose, corrige et signale, mais ne vote pas : sinon la même personne, invitée puis connectée
avec sa clé, voterait deux fois. Dans les groupes gérés (essai, Axiom…), tout membre vote.
**seuls les membres de la toile votent, par la chaîne Ğ1** (ADR 0008, Yvv 2026-10-30 : « une
personne une voix, mais la voix peut s'exprimer plusieurs fois […] c'est le dernier qui fait
foi […] une transaction par vote »). Un vote — un article, une section ou tout le document —
est **une transaction** signée par le portefeuille de la personne (duniter-connect, ou Ğecko par
un lien et un QR code) : 0,1 Ğ1 vers le compte des votes et, dans la même transaction, le sceau
du bulletin (`ld1:` + 64 chiffres hexadécimaux). La voix est celle de **l'identité Ğ1 du compte
qui signe**, membre au moment où le serveur confirme la transaction sur l'indexeur ; quelle que
soit la session (invitation ou connexion Ğ1), la même identité n'a qu'une voix par version, et
**le dernier vote fait foi**, dans l'ordre de la chaîne. La chaîne montre qui a voté et quand,
jamais quoi ; chacun ne voit que les totaux. Sans compte des votes configuré
(`LD_VOTE_ACCOUNT`), le vote par la chaîne est fermé et l'interface le dit. Dans les groupes
gérés (essai, Axiom…), tout membre vote directement, sans portefeuille.
## Le groupe d'essai
@@ -233,8 +255,13 @@ Les raisons longues sont dans `docs/adr/`.
## Limites connues (assumées pour ce premier chantier)
- Le droit de vote se vérifie **au moment du vote** : un membre sorti de la toile, ou dont
l'accès est révoqué, garde les voix déjà exprimées.
- Le droit de vote se vérifie **au moment de la confirmation sur la chaîne** : un membre sorti
de la toile, ou dont l'accès est révoqué, garde les voix déjà confirmées.
- Le serveur fait confiance à l'indexeur pour lire la transaction (remarque, virement, identité,
appartenance à la toile) ; plusieurs indexeurs se configurent (ADR 0008).
- Par Ğecko, le bulletin n'est lié à aucun compte : une copie de son sceau incluse avant lui par
un autre compte le prendrait. Par l'extension, il est lié au compte qui signe.
- Un bulletin non vu sur la chaîne en 24 heures est lâché : un paiement plus tardif ne compte pas.
- Dans un groupe géré (essai, Axiom…), une même personne admise sous une identité d'invitation
**et** sous sa clé Ğ1 aurait deux voix : c'est à l'administration de n'en admettre qu'une.
- Un administrateur peut créer un nouveau lien pour une identité d'invitation existante