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:
@@ -9,7 +9,7 @@
|
||||
La communauté Monnaie libre tient son Acte d'engagement Certification comme un **texte vivant** :
|
||||
lisible d'abord, modifiable par article, chaque modification passant par un vote dont le seuil
|
||||
suit la formule inertielle de la Ğ1 — sans qu'une coquille demande un vote, sans que deux
|
||||
articles contradictoires soient en vigueur ensemble, et avec une publication automatique que
|
||||
articles qui se répètent ou se contredisent soient en vigueur ensemble, et avec une publication automatique que
|
||||
les applications clientes (Cesium, Ğecko…) peuvent suivre.
|
||||
|
||||
## Ce que voit la personne
|
||||
@@ -48,7 +48,7 @@ les applications clientes (Cesium, Ğecko…) peuvent suivre.
|
||||
(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
|
||||
**Détails** d'une version (coquilles, traductions, objections, 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
|
||||
@@ -71,6 +71,11 @@ les applications clientes (Cesium, Ğecko…) peuvent suivre.
|
||||
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.
|
||||
9. **Messages** (lot F, ADR 0010) : au menu, une boîte avec le nombre de non-lus (une pastille
|
||||
sur le bouton du menu en mobile) ; ce qui attend un geste de la personne — une objection à
|
||||
laquelle répondre, à lever ou à réitérer, une correction de coquille à valider —, chaque
|
||||
message avec son objet, son texte, ses gestes et son échéance. Une version retenue par une
|
||||
objection le dit sous l'article, à chacun selon son rôle.
|
||||
|
||||
## Les règles
|
||||
|
||||
@@ -149,7 +154,14 @@ titre d'un article reste voté avec son texte.
|
||||
ensuite, par l'ordre de la section.
|
||||
- **Le titre du document** : à l'entrée d'un autre titre, le document change de titre en
|
||||
français ; ses traductions restent éditoriales et passent « à revoir » jusqu'à ce qu'on les
|
||||
reprenne. Une coquille du titre se corrige sans vote.
|
||||
reprenne. Une coquille du titre se corrige sans vote, par 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.
|
||||
- **Face aux objections (ADR 0010)** : « redit » et « contredit » portent sur deux articles,
|
||||
jamais sur un module. Un ordre ne se corrige pas, ni par son auteur ni par un autre.
|
||||
- **« 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 : elle est ouverte.
|
||||
- Dans une base existante, chaque document reçoit ses modules **une fois**, depuis son état
|
||||
présent (titre actuel, ordre actuel de chaque section), sans toucher un article ni un vote
|
||||
(`crates/ld-server/src/module_amend.rs`, journal `module_amendments`, migration `0007`).
|
||||
@@ -163,11 +175,19 @@ mot (« certifcation » → « certification »). Tout le reste passe par une pr
|
||||
ponctuation, les chiffres, les signes, l'emphase, les formules, les adresses, et tout changement
|
||||
de sens.
|
||||
|
||||
| Geste | Qui | Effet sur les votes |
|
||||
|---|---|---|
|
||||
| Corriger une **coquille** | tout membre sur un texte de départ ou en vigueur ; l'auteur sur sa proposition | aucun — les votes restent, les traductions restent à jour |
|
||||
| Modifier **le fond** d'une proposition | son auteur | nouvelle révision : les votes antérieurs sont « à reconfirmer », les signalements tombent |
|
||||
| Modifier le fond d'un texte **en vigueur** ou d'un texte de départ | personne | refusé : on propose une nouvelle version |
|
||||
| Geste | Qui | Effet | Échéance |
|
||||
|---|---|---|---|
|
||||
| Corriger une **coquille** sur son propre texte | l'auteur de la version ; un administrateur sur un texte du seed | appliquée tout de suite : les votes restent, les traductions restent à jour | — |
|
||||
| Corriger une **coquille** sur le texte d'un autre | tout membre du groupe | **en attente** : un message à l'auteur (aux administrateurs pour un texte du seed), qui valide ou refuse ; la correction se lit, avec son diff, dans « Détails » | 3 jours sans réponse : appliquée |
|
||||
| Revenir sur une correction (ou l'appliquer finalement) | l'auteur, tant que le texte **n'est pas en vigueur** | le texte d'avant revient (ou la correction passe) | — |
|
||||
| Corriger un texte **en vigueur** | tout membre ; l'auteur (un administrateur pour le seed) valide | **seule une correction validée** change le texte ; un refus est définitif | 3 jours sans réponse : appliquée |
|
||||
| Modifier **le fond** d'une proposition | son auteur | nouvelle révision : les votes antérieurs sont « à reconfirmer », les corrections en attente sont périmées ; elle répond aux objections qui attendent l'auteur | — |
|
||||
| Modifier le fond d'un texte **en vigueur** ou d'un texte de départ | personne | refusé : on propose une nouvelle version | — |
|
||||
|
||||
Deux corrections en attente sur un même texte : chacune est jugée contre le texte voté ; à
|
||||
l'application, celle qui ne tombe plus sur le texte qu'elle a lu est **périmée** (« recharge,
|
||||
puis recommence »). Les traductions restent éditoriales, sans validation. L'historique dit qui a
|
||||
écrit chaque correction et qui l'a validée, ou qu'elle est passée à l'échéance (ADR 0010).
|
||||
|
||||
Pourquoi si strict : six relectures indépendantes ont montré qu'une ponctuation laissée libre
|
||||
finit toujours par porter un sens — un signe moins devant un nombre en gras, deux conditions
|
||||
@@ -205,14 +225,37 @@ change la portée d'une exception. La règle est donc construite à l'envers d'u
|
||||
- une correction ne s'écrit que sur le texte qui a été jugé : si le texte est entré en vigueur
|
||||
ou a changé entre-temps, c'est un conflit (« recharge, puis recommence »).
|
||||
|
||||
Moteur : `crates/ld-engine/src/edit.rs` ; règle d'écriture : `crates/ld-server/src/proposals.rs`.
|
||||
Moteur : `crates/ld-engine/src/edit.rs` (la coquille) et `crates/ld-engine/src/correction.rs` (qui
|
||||
la laisse entrer) ; écriture : `crates/ld-server/src/proposals.rs` et `crates/ld-server/src/typos.rs`.
|
||||
|
||||
### Deux articles qui se contredisent
|
||||
### Deux articles qui se répètent ou se contredisent
|
||||
|
||||
Tout membre peut **signaler une contradiction** entre deux propositions, motif à l'appui. Tant
|
||||
que le signalement tient, celle des deux qui n'est pas en vigueur **ne peut pas entrer en
|
||||
vigueur**. Il se lève par son auteur (ou un administrateur), ou tombe quand la proposition
|
||||
signalée est révisée sur le fond.
|
||||
Tout membre peut faire une **objection** à une version : elle **redit** un autre article (elle le
|
||||
répète) ou elle le **contredit**, motif à l'appui. **Une objection rend la dernière arrivée des
|
||||
deux versions non votable jusqu'à sa levée** — jamais un texte en vigueur : si la dernière
|
||||
arrivée est en vigueur, c'est l'autre qui est retenue. Les votes déjà faits restent ; la version
|
||||
retenue ne reçoit plus de vote (ni sous l'article, ni dans le panier, ni par la chaîne) et
|
||||
n'entre pas en vigueur. Pour qu'elle se vote de nouveau, **son auteur répond** : pour une redite,
|
||||
il **modifie l'article visé** ; pour une contradiction, il **reformule**. La personne qui a fait
|
||||
l'objection reçoit alors un message : **lever** ou **réitérer** ; sans réponse de sa part sous
|
||||
**3 jours**, l'objection est levée.
|
||||
|
||||
| Qui | Quoi | Effet | Échéance |
|
||||
|---|---|---|---|
|
||||
| tout membre du groupe | faire une objection « redit » ou « contredit », motif à l'appui | la dernière arrivée des deux versions (jamais un texte en vigueur) ne se vote plus ; message à son auteur | — |
|
||||
| l'auteur de la version retenue (tout membre pour une version du seed) | « Modifier l'article visé » (redit) : une proposition liée, sur l'autre article, partie de son texte ; « Reformuler » (contredit) : une révision de fond de sa version | la main passe à la personne qui objecte : message « lever ou réitérer » | 3 jours pour elle |
|
||||
| la personne qui a fait l'objection | lever | la version se vote de nouveau, et entre en vigueur si ses voix suffisent | — |
|
||||
| la personne qui a fait l'objection | réitérer | la main revient à l'auteur : message « réponds à nouveau » | aucune pour l'auteur |
|
||||
| personne | (3 jours sans geste après une réponse) | levée : « 3 jours sans suite » | — |
|
||||
| un administrateur de trustinWallet | lever | levée « par un administrateur » | — |
|
||||
| l'auteur | retirer sa version | l'objection prend fin | — |
|
||||
|
||||
Une révision de fond de l'une ou l'autre des deux versions vaut réponse, une coquille non ; un
|
||||
seul tour à la fois (une autre réponse pendant le tour de la personne qui objecte ne change ni le
|
||||
message ni l'échéance) ; une personne n'a qu'une objection debout sur une même paire. Les
|
||||
signalements de contradiction d'avant sont devenus des « contredit » (migration 0008). Moteur :
|
||||
`crates/ld-engine/src/objection.rs` ; serveur : `crates/ld-server/src/objections.rs`,
|
||||
`messages.rs`, `deadlines.rs` (les échéances, au balayage de 5 minutes et au démarrage) ; ADR 0010.
|
||||
|
||||
### Une décision par proposition
|
||||
|
||||
@@ -242,7 +285,7 @@ du dépôt. Le groupe d'essai ne publie jamais. `document.json` dit aussi les mo
|
||||
Un document seedé n'est jamais réinstancié : quand le seed change un texte de départ (le
|
||||
Préambule devenu Raison d'être), un **amendement de seed** le remplace dans une base existante,
|
||||
une seule fois, et seulement sur un article que personne n'a touché (*seed a minima* d'origine,
|
||||
révision 1, aucun vote, aucune correction, aucune traduction modifiée, aucun signalement, texte
|
||||
révision 1, aucun vote, aucune correction (ni en attente), aucune traduction modifiée, aucune objection, texte
|
||||
identique à l'empreinte attendue). Chaque décision est consignée (`seed_amendments`, et dans les
|
||||
journaux quand l'article garde son texte) ; appliqué, l'amendement se lit dans l'historique de
|
||||
l'article (« texte de départ remplacé », avec le diff) et le texte est republié
|
||||
@@ -251,7 +294,7 @@ l'article (« texte de départ remplacé », avec le diff) et le texte est repub
|
||||
### Accès — trustinWallet
|
||||
|
||||
Tout le monde connecté peut tout faire dans les groupes qu'il ouvre (lire, proposer, voter,
|
||||
corriger, signaler) **sauf la gestion des accès**, réservée aux administrateurs de trustinWallet
|
||||
corriger, faire une objection) **sauf la gestion des accès**, réservée aux administrateurs de trustinWallet
|
||||
(`/acces`) : membres des groupes, invitations, administrateurs, retours, clé de publication.
|
||||
Le nom trustinWallet remplace trustWallet (déjà pris). Règles : `crates/trustin-access`.
|
||||
|
||||
@@ -265,7 +308,9 @@ du bulletin (`ld1:` + 64 chiffres hexadécimaux). La voix est celle de **l'ident
|
||||
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é
|
||||
jamais quoi ; chacun ne voit que les totaux. Chacun reçoit **le reçu de son bulletin** (ses votes
|
||||
et son sel), le retrouve sur « Tes bulletins » et le vérifie dans son navigateur ; personne
|
||||
d'autre ne le reçoit (ADR 0008, « Le reçu »). 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.
|
||||
|
||||
@@ -295,9 +340,11 @@ Les raisons longues sont dans `docs/adr/`.
|
||||
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.
|
||||
- Par Ğecko, le bulletin n'est lié à aucun compte : une copie nue de son sceau est ignorée, mais
|
||||
une copie **payée** (0,1 Ğ1) 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 lu une dernière fois, puis 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
|
||||
@@ -310,6 +357,10 @@ Les raisons longues sont dans `docs/adr/`.
|
||||
dans l'historique de l'article.
|
||||
- Les traductions (en, es) sont éditoriales : tout membre les corrige sans vote, et elles sont
|
||||
republiées — le français fait foi.
|
||||
- Une version retenue par une objection attend son auteur aussi longtemps qu'il ne répond pas ;
|
||||
une personne qui réitère sans fin la garde hors du vote : un administrateur peut lever (ADR 0010).
|
||||
- Les messages sont dans l'application, sans courriel : qui ne passe pas ne les voit pas, et la
|
||||
correction ou l'objection qui l'attendait passe à l'échéance de 3 jours.
|
||||
- Les aperçus (« si les bien cotées passent », « si tout passe ») montrent les articles seuls :
|
||||
un ordre ou un titre proposé n'y change pas encore la place des articles ni le titre (ADR 0009).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user