- 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>
877 B
0004 — Contradictions : signalées par les personnes, bloquantes
Contexte. « Il faut que 2 unités modulaires ne puissent pas passer en vigueur si elles se contredisent. » La contradiction est une question de sens : aucune règle ne la détecte sans se tromper, et l'IA est écartée pour l'instant.
Décision. Tout membre signale une contradiction entre deux propositions, avec un motif. Tant que le signalement tient, celle qui n'est pas en vigueur ne peut pas y entrer. Il se lève par son auteur ou un administrateur, et tombe si la proposition signalée change sur le fond. L'assistant, lui, prévient (sans bloquer) quand un texte porte plusieurs décisions ou ressemble à une proposition existante.
Coût. Un signalement abusif bloque une proposition jusqu'à sa levée. Les signalements sont publics, motivés, et l'administration peut les lever.