- 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>
16 lines
1.0 KiB
Markdown
16 lines
1.0 KiB
Markdown
# 0003 — Corriger n'est pas voter
|
|
|
|
**Contexte.** « Ça ne peut pas devenir un système qui nécessite un vote pour corriger une
|
|
coquille. » Mais une correction ne doit pas pouvoir changer le sens d'un texte voté.
|
|
|
|
**Décision.** Le moteur classe chaque modification (`ld-engine/src/edit.rs`) :
|
|
- **coquille** si le squelette (sans accents, casse, ponctuation, espaces) est identique, ou si
|
|
au plus 2 mots diffèrent de 2 lettres au plus, sans chiffre ni mot de négation (ne, pas,
|
|
jamais, personne…) ; elle s'applique sans vote, garde les votes et les traductions ;
|
|
- **de fond** sinon : nouvelle révision d'une proposition ouverte (par son auteur), votes
|
|
antérieurs « à reconfirmer », signalements levés ; refusée sur un texte en vigueur.
|
|
L'éditeur montre le verdict avant d'enregistrer. Les brouillons s'éditent librement.
|
|
|
|
**Coût.** Le classement est prudent : certaines vraies coquilles (« persone » → « personne »)
|
|
passent pour du fond et demandent une proposition. On préfère ce sens d'erreur.
|