v3 : la Raison d'être remplace le Préambule (L7), amendement de seed gardé

- seed : I1 devient « Raison d'être », texte d'Yvv (fr), traduit en « Purpose » et
  « Razón de ser » ; apostrophes droites comme le reste du seed, insécables avant « ; » et
  dans les guillemets.
- seed_amend.rs : un amendement de seed remplace un texte de départ dans une base existante,
  décidé une fois par document et seulement si personne n'a touché l'article (seed a minima
  d'origine, révision 1, aucun vote, aucune correction, aucune traduction de membre, aucun
  signalement, empreinte attendue). Décision consignée (migration 0004, table
  seed_amendments), ligne d'historique « texte de départ remplacé » avec son diff,
  republication mise en file là où le document publie.
- Une coquille se mesure désormais aussi contre le texte posé par l'amendement.
- Tests : règle pure (3), scénarios d'API (base neuve, amendement appliqué et republié une
  seule fois, cinq refus), e2e C13 ; C3, C6 et l'API suivent le nouveau texte (C6 : les
  apostrophes typographiques d'Unicité du compte, « latransmission » ayant disparu).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Yvv
2026-10-30 09:47:17 +01:00
co-authored by Claude Opus 5.5
parent d400bfc92e
commit a5b92faa96
14 changed files with 801 additions and 37 deletions
+1 -1
View File
@@ -29,7 +29,7 @@
unit: { id: string; code: string; inertia: Inertia };
inForce: { id: string; title: string; body: string } | null;
diff: DiffPart[] | null;
history: { revision: number; kind: 'initial' | 'typo' | 'substantive'; author: string | null; authorInvited: boolean; at: string; diff: DiffPart[] | null }[];
history: { revision: number; kind: 'initial' | 'typo' | 'substantive' | 'amendment'; author: string | null; authorInvited: boolean; at: string; diff: DiffPart[] | null }[];
signals: {
id: string; reason: string; author: string; authorInvited: boolean; mine: boolean; at: string; liftedAt: string | null; liftedBy: string | null;
other: { id: string; title: string; status: string; code: string | null } | null;
+1
View File
@@ -208,6 +208,7 @@ export const en: Messages = {
'history.initial': 'initial text',
'history.typo': 'typo fixed',
'history.substantive': 'substantive change (votes to reconfirm)',
'history.amendment': 'starting text replaced',
'history.by': 'by {name}',
'typo.title': 'Fix a typo',
+1
View File
@@ -208,6 +208,7 @@ export const es: Messages = {
'history.initial': 'texto inicial',
'history.typo': 'errata corregida',
'history.substantive': 'cambio de fondo (votos por reconfirmar)',
'history.amendment': 'texto de partida sustituido',
'history.by': 'por {name}',
'typo.title': 'Corregir una errata',
+1
View File
@@ -211,6 +211,7 @@ export const fr = {
'history.initial': 'texte initial',
'history.typo': 'coquille corrigée',
'history.substantive': 'changement de fond (votes à reconfirmer)',
'history.amendment': 'texte de départ remplacé',
'history.by': 'par {name}',
'typo.title': 'Corriger une coquille',