- 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>
Décisions d'architecture
Une décision durable par fichier : le contexte, la décision, ce qu'elle coûte. On n'efface pas une décision : on en écrit une nouvelle qui la remplace, et on le note dans l'ancienne.
| # | Décision | Date |
|---|---|---|
| 0001 | Rust + Svelte, une image, SQLite | 2026-10-21 |
| 0002 | Vote permanent : marge du texte en place et plancher C | 2026-10-21 |
| 0003 | Corriger n'est pas voter | 2026-10-21 |
| 0004 | Contradictions : signalées par les personnes, bloquantes | 2026-10-21 |
| 0005 | Publication par file d'envoi vers un dépôt git | 2026-10-21 |
| 0006 | Accès : connect.monnaie-libre.fr, invitations, trustinWallet | 2026-10-21 |