{
  "gab_id": "GAB-290",
  "renderer_key": "text_cta",
  "final_review_id": "frv-writing-290-example",
  "_note_dev": "SOURCE DE VÉRITÉ. Relecture finale avant rendu : checklist à 3 niveaux (blocking/done/normal), progress ring, share_policy privacy, export_policy 3 formats, version_label. Le HTML (moteur, layout) ne change pas ; seuls ces champs changent le rendu.",
  "title": "Avant de rendre · check final",
  "subtitle": "La dernière étape : checklist méthodique, blocking_errors bloqués, version finale étiquetée, export contrôlé.",
  "draft_ref": "draft-writing-290-example",
  "review_checklist": [
    { "id": "chk-1", "level": "blocking", "text": "Mon nom et ma classe sont sur la page" },
    { "id": "chk-2", "level": "blocking", "text": "Le sujet de rédaction est respecté" },
    { "id": "chk-3", "level": "done", "text": "L'introduction contient les 3 parties attendues" },
    { "id": "chk-4", "level": "done", "text": "Chaque paragraphe a une idée + preuve + explication" },
    { "id": "chk-5", "level": "done", "text": "Le texte fait entre 20 et 30 lignes (longueur respectée)" },
    { "id": "chk-6", "level": "done", "text": "Aucune faute d'accord détectée par le correcteur" },
    { "id": "chk-7", "level": "done", "text": "Le registre soutenu est cohérent dans tout le texte" }
  ],
  "finalization_policy": "validation 3 niveaux",
  "next_action": "finaliser_et_rendre",
  "blocking_errors": [
    { "id": "chk-1", "label": "Nom et classe manquants" },
    { "id": "chk-2", "label": "Sujet hors-piste" }
  ],
  "version_label": "v3 · final · 30 mai 2026 · 22:34",
  "export_policy": [
    { "format": "PDF", "icon": "📄" },
    { "format": "DOCX", "icon": "📝" },
    { "format": "Texte brut", "icon": "📋" }
  ],
  "share_policy": {
    "default": "privé",
    "allowed": ["prof", "classe"],
    "description": "Par défaut : privé. Tu peux partager uniquement avec ton prof pour correction, ou avec ta classe si tu veux du feedback. Aucune publication publique automatique."
  },
  "teacher_review_ref": "teacher_review : l'enseignant évalue sur structure, argumentation, langue et respect de la consigne.",
  "reason_why": "Les blocking_errors (nom manquant, sujet hors-piste) font perdre des points sûrs même si le texte est brillant. Les vérifier en dernier évite la sanction stupide. C'est l'inverse d'une checklist décorative.",
  "primary_cta": { "label": "🏁 Finaliser et rendre", "action": "finaliser_et_rendre" },
  "secondary_cta": { "label": "Voir teacher_review_ref", "action": "show_teacher_review" },
  "finalized_feedback": "🏁 Texte finalisé et rendu — en attente de correction.",
  "review_progress": { "checked": 5, "total": 7, "blocking_remaining": 2 }
}
