Commit Graph
38 Commits
Author SHA1 Message Date
YvvandClaude Opus 5.5 3b38280169 Lot T3c : boucle complète verte sur 42c803e (fmt, clippy, 316 tests Rust, npm ci, check 0 / 0, 78 tests unitaires, build, 42 e2e du premier coup sous le verrou) ; ligne au journal de CONTROLES.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 19:55:42 +01:00
YvvandClaude Opus 5.5 a8939b20c5 Lot T3b : boucle complète verte sur 582d6ba (fmt, clippy, 314 tests Rust, check 0 / 0, 78 tests unitaires, build, 42 e2e au second passage, le premier coupé par un changement de réseau du poste : C8 et C32 sur net::ERR_NETWORK_CHANGED) ; ligne au journal de CONTROLES.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 18:45:32 +01:00
YvvandClaude Opus 5.5 7147cb4735 Lot T3 : boucle complète verte sur b2d653e (fmt, clippy, 312 tests Rust, check 0 / 0, 78 tests unitaires, build, 42 e2e au second passage, le premier coupé par un changement de réseau du poste) ; ligne au journal de CONTROLES.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 17:42:44 +01:00
YvvandClaude Opus 5.5 484f263ec8 Lot U2 : boucle complète verte sur bb4e7b7 (fmt, clippy, 302 tests Rust, check 0 / 0, 78 tests unitaires, build, 42 e2e du premier coup) ; ligne au journal de CONTROLES.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 11:38:45 +01:00
YvvandClaude Opus 5.5 bb4e7b796f Lot U2 : CONTROLES.md (C38 et M2 ajoutés ; C19, C25, C26, C35, C36 précisés ; C37 dit « ne change pas » comme le test depuis T2), UX-lecteur.md (ce que U2 tranche), CLAUDE.md (40 contrôles, 42 tests)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 11:34:08 +01:00
YvvandClaude Opus 5.5 770672caa3 Lot T2 : boucle complète verte sur f27ee08 (fmt, clippy, 301 tests Rust, check 0 / 0, 69 tests unitaires, build, 40 e2e) ; ligne au journal de CONTROLES.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 10:21:29 +01:00
YvvandClaude Opus 5.5 d709e17afe Lot U : boucle complète verte sur 6fb8238 (fmt, clippy, 294 tests Rust, check, 64 tests unitaires, build, 40 e2e) ; ligne au journal de CONTROLES.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 08:46:49 +01:00
YvvandClaude Opus 5.5 5bbcfcdfd5 Lot U : contrôles repris sans les affaiblir (C3, C4, C6, C19 à C21, C23 à C26, C34, M1) ; CONTROLES.md (C35 à C37) ; retouches vues aux captures (ligne d'ordre discrète, en-tête plus court sur téléphone, liste à poignées)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 08:08:28 +01:00
YvvandClaude Opus 5.5 e8fbc07c9a Fusion de la tête du chantier (a0d9030 : tableau, CHANTIER, CONTROLES, brouillon M6 ; documentation seule) dans le lot V
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 06:03:33 +01:00
YvvandClaude Opus 5.5 c06c37a24a Lot V : contrôle C34 (la chaîne fermée, Monnaie libre vote quand même : le vote simulé compte aussitôt, marqué dans « Tes bulletins ») ; C24 dit que le serveur sans compte des votes simule depuis le lot V ; CLAUDE.md et CONTROLES.md (buffer, casts_simulated, simulation.rs, C34, 35 contrôles / 36 tests)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 06:03:33 +01:00
YvvandClaude Opus 5.5 c08f06233f CHANTIER et CONTROLES : l'accueil sous la voûte (lot H), pour qu'aucun lot ne la défasse
Documentation seule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 05:36:42 +01:00
YvvandClaude Opus 5.5 40ab6e41c5 Lot S, phase 2 : le quorum documenté (ADR 0013, notes dans 0002 et 0007, CHANTIER, CONTROLES, CLAUDE.md)
ADR 0013 : la formule sur T' = max(T, Q), « Ils comptent comme non » dans
threshold::judged_voters, les quorums par cran 12 · 12 · 50 · 50 · 50 (1 dans le
groupe d'essai), le quorum d'un article fixé par l'auteur avant le premier vote
(« un vote existe » : quorum::voted_units, la limite du vote retiré), p0 = 2Q₀/W,
l'amendement 2026-11-03-quorums-par-cran, les nombres, le coût (une voix passe
dans le groupe d'essai ; F1.1 et N1.1 du seed décrivent encore C).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 05:15:18 +01:00
YvvandClaude Opus 5.5 e49f7fb98f Lot S, phase 1 : les Propositions seed documentées (ADR 0011, CHANTIER, CONTROLES, CLAUDE.md, _source du seed)
ADR 0011 : aucun article en vigueur au départ ; I1, E1 et E2 Propositions seed au
cran 2 (une constante), avec l'intention d'Yvv de remonter l'inertie par un vote
une fois les textes passés, pour qu'elle ne passe pas avant eux ; la publication
attend le premier texte ; l'amendement gardé d'une base existante, et ce qu'il
décidera en production (les propositions d'inertie ouvertes I1 → 5 et E1 → 5
notées le 30/10 y garderaient leur cran : à trancher avant M6).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 04:30:08 +01:00
YvvandClaude Opus 5.5 3f10a0e860 v3 : F1.2, N1, N1.1 et O1 réécrits selon les règles appliquées (Yvv, 02/11)
ci/woodpecker/push/app Pipeline was successful
ci/woodpecker/push/maquette Pipeline was successful
- Le seed porte les nouveaux textes (fr, en, es), ceux du brouillon relu
  (textes-regles-seed.md), pour les bases neuves.
- L'amendement de seed vise aussi une proposition ouverte du seed, par son
  étiquette (Version::Open) ; mêmes gardes : rien d'une personne, 0 vote,
  révision 1, empreinte attendue. Quatre amendements, de l'empreinte du seed du
  21/10 (inchangée depuis 67ddee2) à celle d'aujourd'hui.
- Tests vus rouges : remplacement une fois, un vote garde le texte, republication
  de Monnaie libre seule, base neuve « present ».

Boucle : 237 tests Rust, svelte-check 0, 55 vitest, e2e 35 / 35.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 01:56:34 +01:00
YvvandClaude Opus 5.5 f47a685b5f Docs : la règle d'Yvv du 01/11 sur une version retenue (ADR 0010, CHANTIER, CONTROLES, CLAUDE.md)
ADR 0010 révisée : « Retirer ou "contre" » remplace la ligne qui gelait tout ;
la levée fait entrer la version avec les voix encore là, et le coût le dit.
CHANTIER et l'invariant de CLAUDE.md suivent. CONTROLES : C28 ajusté (chez Vera,
pas de « Pour », mais « Contre » et le retrait ; le panier), passage du lot G :
C1–C33 et M1, 35 tests verts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 01:21:30 +01:00
YvvandClaude Opus 5.5 4d4adcc281 v3 : relecture de cd7e683 — coquilles, objections et retraits
ci/woodpecker/push/app Pipeline was successful
ci/woodpecker/push/maquette Pipeline was successful
- Le revirement de l'auteur sur une coquille (reprendre une correction appliquée,
  valider une correction refusée) ne s'écrit que sur une version encore ouverte :
  Settle porte while_open ; et la garde de statut de write_text marche enfin
  (?9 restait NULL, le statut est le 8e paramètre).
- 0008 lève les signalements debout dont un côté est déjà retiré.
- Une seule objection debout par personne et par paire (index unique partiel) ;
  envoyée plusieurs fois à la fois, les autres reçoivent objection_exists.
- Un retrait relance l'adoption : la version que l'objection retenait entre aussitôt.

Tests vus rouges d'abord. Boucle : 230 tests Rust, svelte-check 0, 55 vitest,
e2e 35 / 35.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 10:00:29 +01:00
YvvandClaude Opus 5.5 033b331228 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>
2026-10-31 09:41:30 +01:00
YvvandClaude Opus 5.5 924a40d790 v3 : C22 ne suppose plus un petit groupe d'essai
Chaque connexion de développement rejoint tous les groupes : B2 et F en ajoutent
quatre chacun, l'essai passe de 13 à 17 membres. Dès 16, B^W passe sous la
précision du calcul et, C valant 1, la voix seule de Chiara fait entrer sa
version de « Connaissance suffisante » en vigueur. Conforme à l'ADR 0002 (essai :
C = 1) ; l'ADR 0007 le dit maintenant. Boucle : 202 tests Rust, svelte-check 0,
49 vitest, e2e 31 / 31.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 06:09:35 +01:00
YvvandClaude Opus 5.5 4bdaf0e995 v3 : ADR 0009, les modules d'ordre et de titre ; chantier, contrôles C25–C27, ADR 0007, structure
ADR 0009 : un module est une unité du document (units.kind), ses versions des
propositions ; l'ordre d'une section se complète à la fin quand des articles
entrent ou sortent pendant son vote (ni caduc, ni à reconfirmer) ; un nouvel
article se place à la fin de sa section ; à l'entrée d'un titre, ses traductions
passent « à revoir » ; l'ajout gardé des documents existants.
ADR 0007 : l'échantillon de la participation nomme ses statuts (open, in_force,
applied) ; ce que les réglages disent d'une participation ramenée.
CHANTIER : ce que voit la personne, la règle des modules, les crans 2 et 4.
CONTROLES : C3, C17, C20 mis à jour, C25 à C27, le passage du lot D (29 / 29).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 05:58:17 +01:00
YvvandClaude Opus 5.5 cd7e683a4b Fusion du lot F : objections redit / contredit, coquilles validées par leur auteur, messagerie, délai de 3 jours
Conflits avec B2 : docs.rs garde shown_tally / shown_evaluation et votable ;
proposals.rs sert les totaux montrés et « votable » ; CONTROLES réunit C24
(« faire une objection », le panier par son adresse), C28–C33 et les deux passages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 05:57:21 +01:00
YvvandClaude Opus 5.5 06c99cb0db v3 : ADR 0010 (objections, coquilles validées, messagerie) ; chantier, contrôles C28–C31, invariants
ADR 0010 remplace 0004 et complète 0003 (renvois dans les deux). CHANTIER :
« Corriger n'est pas voter » et « Deux articles qui se répètent ou se
contredisent » réécrits avec le tableau des gestes (qui, quoi, effet,
échéance), la boîte « Messages », deux limites connues. CONTROLES : C6
suit la règle, C24 son nouveau texte, C28–C31, le passage du lot F.
CLAUDE.md : l'invariant de l'objection et de la coquille validée, les
nouveaux modules, 29 contrôles.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 05:19:02 +01:00
YvvandClaude Opus 5.5 7b8dd1714f CONTROLES : passage du lot B2, C1–C24, C32, C33 et M1, 27 / 27 verts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 03:55:38 +01:00
YvvandClaude Opus 5.5 c7d2791ad1 v3 : C32 et C33 votent « contre » sur des propositions qu'aucun autre contrôle ne lit
Le texte de Monnaie libre reste tel que C20 et C23 l'attendent (ils passent après dans
l'ordre des fichiers) ; rien n'entre en vigueur, rien ne devient bien coté.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 03:50:55 +01:00
YvvandClaude Opus 5.5 9cc093f283 v3 : ADR 0008, chantier et contrôles alignés sur les corrections du vote par la chaîne
ADR 0008 : la requête (finalité, filtre, pages), ce que l'indexeur expose (squidStatus :
name, height, hash ; height reste 3 blocs derrière le bloc le plus récent, relevé du
2026-10-31), la tâche de fond, lâcher ou garder un bulletin, le plafond par identité et la
purge, le reçu, la variante « prise par une copie payée », les totaux affichés isolés.
CONTROLES : C24 (panier fermé), C32 (lâcher ou garder), C33 (le reçu).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 03:26:03 +01:00
YvvandClaude Opus 5.5 032fcbb535 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>
2026-10-31 00:11:13 +01:00
YvvandClaude Opus 5.5 3bc60a1e18 CONTROLES : passage du lot C, C1–C20 et M1, 21 / 21 verts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 18:09:38 +01:00
YvvandClaude Opus 5.5 a57a1ff642 v3 : inertie à cinq crans — ADR 0007, chantier, contrôles
ADR 0007 : les cinq crans, M_k et s_k, G_k déduit à la participation
habituelle ; la médiane (propositions votées dans l'année, au moins 5,
T compté à la mesure), la référence 2C/W, les bornes [1 %, 50 %], le
recalcul une fois par jour, l'héritage de l'inertie de l'inertie,
l'arrondi stable, la migration et l'amendement de E1 et E2, ce que ça
coûte (seuils comparés à ceux d'avant). L'ADR 0002 le note ; index.

CHANTIER.md : la table des crans et « l'inertie se vote aussi » au cran
de l'article. CLAUDE.md : l'invariant devient « hérite du cran de
l'article ». CONTROLES.md : C4, M1, et C20 « réglages de la formule et
cinq crans ». README, note de source du seed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 17:24:48 +01:00
YvvandClaude Opus 5.5 8727315612 Fusion du lot A : accueil sur le choix du groupe, logo Clé de voûte, quatre ambiances, menu, À venir, Décisions
ci/woodpecker/push/app Pipeline was successful
ci/woodpecker/push/maquette Pipeline was successful
Contrôles du lot R renumérotés C18 (Raison d'être) et C19 (versions d'un article).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 13:24:36 +01:00
YvvandClaude Opus 5.5 c223c5c5ac CONTROLES : passage du lot R, C1–C14 et M1, 15 / 15 verts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 11:40:37 +01:00
YvvandClaude Opus 5.5 81b604e5f2 v3 : l'entrée — accueil avec le choix du groupe, logo « Clé de voûte », quatre ambiances, menu et pages d'outil par groupe
- Accueil : le titre, le leitmotiv en trois lignes (contexte et cadrage ·
  processus et modalités · boîte à outils), puis directement le choix du
  groupe ; sans session, la connexion à sa place. /groupes redirige vers /,
  « Mes groupes » et le retour après connexion mènent à /.
- Logo « Clé de voûte » du DA (signe en currentColor, clé en --cle, libre
  Literata italique, Decision romain), droit, dans le menu et la barre
  mobile ; Stamp retiré, le sceau 井 ne bouge pas. Favicon, icônes 16/32/48,
  apple-touch, 192/512, manifeste.
- Quatre ambiances : pierre et calcaire (claires), nuit et ardoise
  (sombres), --cle par ambiance ; quatre pastilles à la place du soleil /
  lune ; première visite selon l'appareil (pierre / nuit). Calcaire et
  ardoise : textes, accent, mousse et avertissement à 4,5:1 au moins.
- Page d'un groupe : les quatre piliers, puis « En cours ».
- Menu : nombre de docs en cours à côté de « Docs de référence », surligné
  seulement dedans, seul Docs réagit au survol ; les trois autres éteints
  mais ouvrent leur page ; hors d'un groupe, le dernier groupe ouvert.
- /g/[group]/docs « En cours » + « À venir » ; /mandats et /protocoles du
  groupe : « À venir » éteints ; /g/[group]/decisions : une ligne par doc,
  « N modules à voter », « dont N sans ton vote ». Anciennes adresses
  /decisions, /mandats, /protocoles : vers le groupe courant, sinon /.
- e2e : C1, C2, C11, C12, M1 mis à jour ; C13–C17 pour L1–L6 ; CONTROLES.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 11:21:57 +01:00
YvvandClaude Opus 5.5 edc88111e0 v3 : les versions d'un article tiennent une seule ligne (L8)
- « Propositions en cours » : une ligne par article. Un article à plusieurs versions montre
  leur nombre et la meilleure en tête (niveau d'eau, pour / contre, « en tête » quand elle
  devance vraiment) ; la ligne se déplie (bouton à aria-expanded, clavier) sur ses versions,
  chacune avec son étiquette (variante, auteur), son niveau, ses marques, et un extrait qui
  part de là où les versions divergent ; un clic ouvre son vote comme avant.
- Règle pure dans versions.ts (vitest) : ordre du document, meilleure d'abord (niveau d'eau,
  puis pour, puis contre ; une version bloquée jamais en tête), un article reste dans un
  filtre dès qu'une de ses versions passe.
- e2e : C3 compte 30 lignes, C14 déplie « Connaissance suffisante » au clavier ; C11 passe
  par un article à une seule version.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:42:27 +01:00
YvvandClaude Opus 5.5 a5b92faa96 v3 : la Raison d'être remplace le Préambule (L7), amendement de seed gardé
- seed : I1 devient « Raison d'être », texte d'Yvv (fr), traduit en « Purpose » et
  « Razón de ser » ; apostrophes droites comme le reste du seed, insécables avant « ; » et
  dans les guillemets.
- seed_amend.rs : un amendement de seed remplace un texte de départ dans une base existante,
  décidé une fois par document et seulement si personne n'a touché l'article (seed a minima
  d'origine, révision 1, aucun vote, aucune correction, aucune traduction de membre, aucun
  signalement, empreinte attendue). Décision consignée (migration 0004, table
  seed_amendments), ligne d'historique « texte de départ remplacé » avec son diff,
  republication mise en file là où le document publie.
- Une coquille se mesure désormais aussi contre le texte posé par l'amendement.
- Tests : règle pure (3), scénarios d'API (base neuve, amendement appliqué et republié une
  seule fois, cinq refus), e2e C13 ; C3, C6 et l'API suivent le nouveau texte (C6 : les
  apostrophes typographiques d'Unicité du compte, « latransmission » ayant disparu).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 09:47:17 +01:00
YvvandClaude Opus 5.5 8a3216037c v3 : dixième relecture — mention « sur invitation », noms attendus protégés
- Tout auteur venu par invitation porte « sur invitation » à côté de son
  nom (propositions, révisions, signalements) : un nom pris avant l'arrivée
  de son titulaire Ğ1, ou une lettre sosie, ne passe pas pour un membre de
  la toile.
- Un lien d'équipe refuse aussi le nom qu'une invitation attend encore.

Boucle : 68 tests Rust, svelte-check, 9 vitest, e2e 13/13.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 09:06:15 +02:00
YvvandClaude Opus 5.5 753b52202b v3 : neuvième relecture — noms uniques, places justes, quantités
- Noms des liens d'équipe : comparés sans casse, accents ni ponctuation
  (ld_engine::names), lettres latines seulement (pas de sosie cyrillique,
  grec ou pleine chasse), une ligne ; index unique (migration additive
  0003) contre deux ouvertures simultanées sous le même nom.
- Une personne déjà connectée ne prend une place que si le lien lui
  ajoute un groupe ; « Ce n'est pas moi » la déconnecte sur un navigateur
  partagé ; un lien collé dans le même onglet est relu.
- Coller ou couper un mot de quantité n'est pas une coquille
  (« sur tout » → « surtout », « par tout » → « partout »).
- Libellés sans caractère de contrôle ; la soumission revérifie le titre.

Boucle : 68 tests Rust, svelte-check, 9 vitest, e2e 13/13.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 08:40:04 +02:00
YvvandClaude Opus 5.5 fd19dbf4ec v3 : liens d'équipe, publication sur git.open.us.org, huitième relecture
Liens d'équipe (Yvv, 2026-10-21) : un lien réutilisable jusqu'à une date
et pour un nombre de personnes, révocable. Chaque ouverture demande un nom
et crée sa propre identité d'invitation, jamais administratrice ; un nom
déjà pris est refusé ; une personne déjà connectée reçoit les groupes.
trustinWallet montre par quel lien chaque identité est venue, et donne un
nouveau lien de connexion à une personne invitée (autre appareil).
Migration additive 0002 (table team_links, colonne identities.team_link).

Publication : yvv/libredecision-textes sur git.open.us.org, pour
l'instant (un dépôt pour l'ouverture, puis le dépôt officiel, viendront).

Huitième relecture (c3d6bf8 : ok), points corrigés :
- une négation n'est jamais coupée ni formée par collage (« ja mais ») ;
- caractères invisibles : tout l'ensemble Unicode des ignorables et les
  contrôles autres que saut de ligne et tabulation ;
- sauts de ligne et indentation font partie de la forme (listes) ;
- un titre tient sur une ligne.

Boucle : 65 tests Rust, svelte-check, 9 vitest, e2e 13/13 (C12 ajouté).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 08:12:21 +02:00
YvvandClaude Opus 5.5 c3d6bf88b9 v3 : septième relecture — collages limités, titre jugé à part, découpage contrôlé
- Mots collés ou coupés : deux au plus, jamais sur une négation
  (« Si non » → « Sinon », « ne certifier » → « necertifier » sont du fond).
- Titre et corps jugés chacun pour soi, puis ensemble : le titre n'absorbe
  plus le début du corps.
- Caractères invisibles refusés aussi au découpage d'un brouillon et à la
  soumission.
- Tabulation et retour chariot ne sont plus des espaces libres ; les lettres
  latines rares (ǃ, Ʒ…) font partie de la forme.
- Le diff renvoyé après une coquille couvre le titre.

Boucle : 62 tests Rust, svelte-check, 9 vitest, e2e 12/12.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 07:41:58 +02:00
YvvandClaude Opus 5.5 94907afb20 v3 : points de la relecture indépendante — une personne une voix, ordre de déploiement, durcissements
- Dans Monnaie libre (électorat = toile de confiance), seuls les membres de la
  toile votent (trustin_access::votes_in) ; une identité d'invitation y lit,
  propose et signale. L'interface le dit à la place des boutons (fr/en/es).
- Un lien d'invitation ne vise jamais une identité Ğ1 ; le lien est réservé
  avant de créer l'identité (deux acceptations simultanées : une seule passe).
- Un nombre n'est jamais une coquille (« 50 » → « 5,0 », « 1 5 » → « 15 »).
- Redirection après connexion : caractères de contrôle refusés.
- En-têtes : X-Frame-Options DENY, frame-ancestors 'none', nosniff, Referrer-Policy.
- Déploiement : le produit passe en premier ; la maquette attend son succès.
  Les conteneurs, même arrêtés, qui revendiquent encore la racine sortent de
  « restart: always » (ils reviendraient au redémarrage de Docker).
- Tests : 57 Rust (dont 14 scénarios d'API), e2e 12 / 12 avec C11.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 04:23:51 +02:00
YvvandClaude Opus 5.5 1f9c241b41 v3 : déploiement (image unique, produit à la racine, maquette en sous-domaine) et documentation du chantier
- docker/app.Dockerfile : une image Rust + Svelte, la construction rejoue toute
  la boucle (fmt, clippy -D warnings, tests, svelte-check, vitest) ; utilisateur
  non-root, volume /data. docker/app-compose.yml pour sonic (fabio).
- .woodpecker/app.yml : produit sur decision.librodrome.org, attend la maquette,
  écarte tout conteneur qui revendique encore la racine, healthcheck du commit.
- .woodpecker/maquette.yml (ex .woodpecker.yml) : la maquette v2 telle quelle,
  sur maquette.decision.librodrome.org, mêmes volumes.
- .env.example de la maquette rangé dans maquette/ ; celui de la v3 à la racine.
- Docs : README, CONTRIBUTING (travail à deux), CLAUDE.md v3, HANDOFF,
  docs/chantiers (feuille de route, fiche, contrôles, onboarding de Chiara,
  demande à poka), docs/adr 0001–0006.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 03:50:44 +02:00