- 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>
2.6 KiB
2.6 KiB
HANDOFF — libreDecision
Dernière mise à jour : 2026-10-21, session orch du chantier 1.
Où on en est
Chantier 1 — Acte d'engagement Certification : construit, boucle verte, prêt à livrer.
- v3 Rust + Svelte à la racine du dépôt ; la maquette v2 intacte dans
maquette/. - Boucle : Rust (fmt, clippy
-D warnings, 57 tests dont 14 scénarios d'API et la publication vers un dépôt nu) · interface (svelte-check 0 avertissement, 9 vitest) · e2e 12 / 12 (C1–C11, M1). L'image Docker rejoue tout et a été essayée localement : santé, interface, volume non-root, clé de publication, lien admin initial (0600, absent des journaux), publication immédiate au démarrage, redémarrage sans commit superflu. - Déploiement :
.woodpecker/app.ymld'abord (le produit à la racine, qui retire de la racine tout conteneur qui la revendique), puis.woodpecker/maquette.yml(la maquette part sur maquette.decision.librodrome.org, seulement si le produit a réussi). - Relecture indépendante avant mise en ligne (
1f9c241 : ok) ; ses points « à corriger ensuite » ont été traités avant de livrer : ordre des workflows, anciens conteneurs enrestart: always, vote réservé aux membres de la toile dans Monnaie libre (une personne, une voix), lien d'invitation jamais vers une identité Ğ1, réservation du lien avant usage, un nombre n'est jamais une coquille, redirection après connexion, en-têtes anti-encadrement.
Ce qui attend Yvv
- Envoyer la demande à poka :
docs/chantiers/acte-certification/DEMANDE-CONNECT.md. - Créer le dépôt des textes sur git.duniter.org :
Yvv/libredecision-textes, public, vide ; y ajouter la clé de déploiement du serveur, en écriture (sa partie publique s'affiche dans trustinWallet,/acces, section Publication). Le serveur fait lui-même le premier envoi. - Ouvrir trustinWallet avec le lien administrateur initial (remis hors conversation), puis créer l'invitation de Chiara (groupes Monnaie libre + groupe d'essai).
- Donner à Chiara un compte git.open.us.org collaboratrice de
yvv/decision. - Décider : la licence du code ; le texte F1.2 du seed (annonce C = 0 et 30 jours).
Pour reprendre
- Lire
docs/chantiers/acte-certification/CHANTIER.mdpuisCONTROLES.md. - Les retours de Chiara arrivent dans
/acces→ Retours : chacun est un contrôle à repasser. - Quand les identifiants connect arrivent :
DEMANDE-CONNECT.md§ « À la réponse ». - Chantier suivant (après la mise en production et les retours) : Acte d'engagement forgeron.