# Chantier 1 — Acte d'engagement Certification > Binôme : **Yvv** (porteur) · **Chiara** (testeuse et codeuse — ses tests d'usage valent > contrôles). Branche commune : `chantier/acte-certification`. Ouvert le 2026-10-21. > Production : https://decision.librodrome.org ## Le besoin, en une phrase 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 les applications clientes (Cesium, Ğecko…) peuvent suivre. ## Ce que voit la personne 1. **Accueil sobre** : « Rendre possible la décision collective » / « en fonction du contexte, processus et modalités, boîte à outils », les quatre outils en une ligne chacun, puis la connexion. Le menu complet à gauche : Décisions · Docs de référence · Mandats · Protocoles (seul Docs de référence est actif). 2. **Connexion Ğ1** — la même que le forum Monnaie libre (connect.monnaie-libre.fr). En attendant l'inscription du client OAuth2, des **liens d'invitation** à usage unique (une personne), et des **liens d'équipe** réutilisables jusqu'à une date (chaque ouverture crée sa propre identité, jamais administratrice). 3. **Groupes** : avec une clé Ğ1, on voit Monnaie libre, Axiom, Librodrome et le Groupe local Vallée Drôme Crestois — pas l'Atelier du canal. Un groupe et son contenu ne s'ouvrent qu'à ses membres ; Monnaie libre s'ouvre à tout membre de la toile de confiance, les autres groupes sur accord dans trustinWallet. 4. **Le texte en vigueur**, seul, en grand, typographie de lecture (Literata) : au départ le Préambule 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. 5. **En dessous**, les propositions en cours — les 30 autres articles du texte source, à zéro vote, inertie standard — rangées par section (introduction, fondamental, technique, conclusion, annexes, formule, inertie, ordonnancement), les variantes signalées. 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 ; une traduction devenue ancienne (le français a changé depuis) est signalée. ## Les règles ### Le seuil — formule inertielle Ğ1 ``` R = C + B^W + (M + (1 − M)·(1 − (T/W)^G)) · max(0, T − C) ``` W = électorat (Monnaie libre : taille de la toile, lue sur la chaîne toutes les 6 h ; un groupe géré : ses membres), T = votes exprimés, M = majorité, G = gradient, B = 0,1, **C = plancher de votants « pour »** (Monnaie libre : **50** ; groupe d'essai : 1). Adoptée si « pour » ≥ ⌈R⌉. | Inertie | M | G | |---|---|---| | basse | 50 % | 0,1 | | standard (au départ, partout) | 50 % | 0,2 | | haute | 60 % | 0,4 | | maximale | 66 % | 0,6 | Moteur : `crates/ld-engine/src/threshold.rs` (testé : 7224 / 120 votants → 94 voix requises). ### Le vote permanent - Toute version d'un article (proposition ou texte en vigueur) se vote à tout moment. - Une proposition **remonte en vigueur** dès qu'elle atteint son seuil **et** tient une marge (pour − requis) plus large que la version en place. La version déplacée redevient une proposition, avec ses votes. Un *seed a minima* a pour marge −C : la première proposition qui atteint son seuil le remplace. - Retirer un article est une proposition comme une autre (« retirer cet article »). - Le balayage tourne à chaque vote et toutes les 5 minutes (la taille de la toile bouge). ### L'inertie se vote aussi Chaque article porte son inertie. La changer est une proposition, **votée elle-même à l'inertie du cran au-dessus** (« inertie + ») : alourdir ou alléger demande plus que modifier. ### Corriger n'est pas voter **Une coquille touche les lettres et les espaces, rien d'autre.** Accents, majuscules, le style des apostrophes et des guillemets, un mot collé ou coupé (« latransmission » → « la transmission »), ou au plus deux mots mal tapés — chacun un seul glissement de clavier au cœur du mot (« certifcation » → « certification »). Tout le reste passe par une proposition : la 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 | 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 d'une liste fusionnées en une, une virgule glissée dans « 50 », une parenthèse déplacée qui change la portée d'une exception. La règle est donc construite à l'envers d'une liste noire : - la **forme** du texte (tout ce qui n'est ni lettre latine ni espace, dans l'ordre : ponctuation, chiffres de toute écriture, signes, emphase, parenthèses, sosies, marques superposées, autres alphabets) ne bouge pas ; une espace à côté d'un chiffre en fait partie (« 1 5 » n'est pas « 15 ») ; les apostrophes et guillemets de tous styles comptent pour un même signe ; « lettre latine » s'entend de celles du français, de l'anglais et de l'espagnol (les lettres latines rares qui imitent un signe, « ǃ » ou « Ʒ », font partie de la forme) ; « espace » s'entend de l'espace, de l'insécable et de la fine insécable entre deux mots ; le **saut de ligne** et l'**indentation** qui ouvre une ligne font partie de la forme (en Markdown, ils font les listes et les paragraphes) ; un titre tient sur une ligne ; - les **adresses** (liens, domaines, courriels) et les **identifiants qui contiennent un chiffre** (clés publiques, références) sont comparés à l'identique, casse comprise ; le contenu entre accents graves aussi ; - les espaces ne font que **coller ou couper** des mots, deux au plus, jamais en touchant une négation — ni ses morceaux ni le mot entier (« Si non » → « Sinon », « ne certifier » → « necertifier », « jamais » → « ja mais » sont du fond) —, et jamais déplacer une frontière (« les avoir » → « le savoir » est du fond) ; - le **titre** et le **corps** sont jugés chacun pour soi (un titre n'absorbe pas le début du corps), puis ensemble (deux mots au plus en tout) ; - un **glissement** = une lettre ajoutée, retirée, ou deux voisines inversées, jamais aux deux premières ni aux deux dernières lettres (préfixes « valide » → « invalide », terminaisons « certifierai » → « certifierais »), jamais une lettre remplacée (« deux » → « dix »), jamais sur un mot de négation, de quantité ou de position (ne, jamais, deux, majorité, tous, dessus…) ; - chaque correction est mesurée contre le **texte voté**, jamais contre la correction précédente : les glissements ne s'additionnent pas ; - les caractères invisibles (tout l'ensemble Unicode des caractères ignorables : inversion du sens d'écriture, largeur nulle, trait d'union conditionnel, sélecteurs de variante, étiquettes… ; et les caractères de contrôle autres que saut de ligne et tabulation) sont refusés partout où l'on écrit ; - 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`. ### Deux articles qui 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. ### Une décision par proposition L'éditeur a un **assistant à règles** (pas d'IA pour l'instant ; plus tard, une IA locale, sans abonnement) : il repère un texte qui porte plusieurs décisions et propose de le **découper en brouillons**, signale une proposition très proche d'une existante, et un texte long. Moteur : `crates/ld-engine/src/assist.rs`. ### Brouillon → proposition On écrit en brouillon (libre, invisible des autres), on soumet ; la proposition est alors ouverte au vote. Son auteur peut la retirer. ### Publication Chaque entrée en vigueur (et la publication initiale) passe par une file d'envoi : le serveur écrit `fr.md`, `en.md`, `es.md` (front matter : document, langue, source, mise à jour ; les traductions marquées éditoriales) et `document.json`, commit et pousse sur `git.open.us.org/yvv/libredecision-textes`, chemin `monnaie-libre/acte-engagement-certification/`. Échec → nouvel essai avec délai croissant. La clé de publication est générée par le serveur ; sa partie publique s'affiche dans trustinWallet, à ajouter comme clé de déploiement (écriture) du dépôt. Le groupe d'essai ne publie jamais. ### 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 (`/acces`) : membres des groupes, invitations, administrateurs, retours, clé de publication. 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. ## Le groupe d'essai Caché, plancher C = 1, sans publication : on y éprouve tout (adoption, coquilles, découpage) sans toucher au texte de la communauté. Chiara et Yvv en sont membres. ## Décisions prises (2026-10-21, avec Yvv) | Question | Décision | |---|---| | Stack | Rust (serveur, moteur) + Svelte (interface), pour la durée, la performance, la modularité | | Domaine | le produit à la racine `decision.librodrome.org` ; la maquette sur `maquette.decision.librodrome.org` | | Connexion | client OAuth2 de connect.monnaie-libre.fr (demande à poka) ; liens d'invitation en attendant | | Dépôt des textes | `git.open.us.org/yvv/libredecision-textes` pour l'instant (2026-10-21) ; puis un dépôt pour l'ouverture, par transfert, et le dépôt officiel pour les textes en vigueur | | Garde-fou du vote permanent | nombre minimal de votants « pour » (C) | | Langues | fr, en, es ; le français est voté, les traductions sont éditoriales | | Chiara | testeuse et codeuse | | Assistant | à règles d'abord ; IA locale plus tard, sans dépendance d'abonnement | 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. - 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 (pour la dépanner) — jamais pour une identité Ğ1. - Des accents ou une ponctuation qui portent du sens restent des coquilles (« ou » / « où », « a » / « à », une virgule autour d'une relative) : le diff de chaque correction est visible 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. ## Questions ouvertes (à Yvv) - **Licence** du code — non choisie. - **Texte « Paramètres par défaut » du seed** (F1.2) : il annonce C = 0 et une durée de 30 jours, alors que le vote est permanent avec C = 50. À reformuler par proposition (c'est leur rôle), ou à corriger dans le seed avant la première publication si c'est une erreur de transcription. - Anglais : l'interface est en anglais américain, le seed en anglais britannique. ## Ce qui reste après la livraison - L'inscription du client OAuth2 (poka) : `DEMANDE-CONNECT.md`, puis les deux secrets dans la CI. - Les retours de Chiara → contrôles → corrections, sur la branche du chantier. - Ensuite : chantier 2, l'Acte d'engagement forgeron (qualification d'une compétence).