- Mot mal tapé = un seul glissement (une lettre ajoutée, retirée, ou deux voisines inversées), jamais au début du mot (préfixes : valide/invalide, limitée/illimitée), jamais une lettre remplacée (deux/dix, majorité/minorité), jamais sur un mot de négation ou de quantité, mots de 4 lettres au moins. - Parenthèses, crochets, « / » et tout ce qui est entre accents graves comptent comme le sens (ceil(N^(1/5)) → ceil(N^1/5) n'est plus une coquille). - Caractères invisibles (inversion du sens d'écriture, largeur nulle, BOM) refusés dans les textes, titres, traductions et motifs de signalement. - Déploiement : la version en service est gardée (image « previous ») ; un témoin marque le déploiement en cours ; « retablir » relance la maquette au premier déploiement, la version précédente ensuite ; la liste des conteneurs retirés n'est plus vidée par un pipeline annulé. - Tests : 59 Rust (dont 14 scénarios d'API, avec deux → dix sur E2 en vigueur et l'inversion bidi), e2e 12 / 12. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
46 lines
2.9 KiB
Markdown
46 lines
2.9 KiB
Markdown
# 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`, 59 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.yml` d'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).
|
||
- Trois relectures indépendantes avant mise en ligne (`1f9c241 : ok`, `94907af : ok`,
|
||
`ac9c904 : à reprendre`), chacune traitée avant de livrer. La troisième a montré qu'une
|
||
« coquille » pouvait encore inverser un sens (« valide » → « invalide », « deux » → « dix »,
|
||
caractères invisibles) : la règle a été resserrée (voir CHANTIER.md). Les autres points : ordre des workflows, anciens conteneurs en
|
||
`restart: 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,
|
||
cookies préfixés `__Host-`, retour arrière automatique du déploiement (maquette au premier,
|
||
version précédente ensuite), syft épinglé.
|
||
|
||
## Ce qui attend Yvv
|
||
|
||
1. **Envoyer la demande à poka** : `docs/chantiers/acte-certification/DEMANDE-CONNECT.md`.
|
||
2. **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.
|
||
3. **Ouvrir trustinWallet** avec le lien administrateur initial (remis hors conversation),
|
||
puis créer l'**invitation de Chiara** (groupes Monnaie libre + groupe d'essai).
|
||
4. Donner à Chiara un compte **git.open.us.org** collaboratrice de `yvv/decision`.
|
||
5. 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.md` puis `CONTROLES.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.
|