feat(corrections): Sprint 3.6a — nouveaux prompts + taxonomie erreurs + génération parallèle

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hermann_Kitio 2026-04-22 17:27:29 +03:00
parent df7ef2cc31
commit 63bc43ddcf
14 changed files with 2319 additions and 282 deletions

View file

@ -0,0 +1,39 @@
-- Sprint 3.6a — Qualité correction
--
-- Ajoute les champs nécessaires au nouveau prompt maître (revelation, diagnostic,
-- conseil_nclc, erreurs_codes) + au modèle de génération parallèle asynchrone
-- (exercices, modele, leurs statuses) + le NCLC cible choisi par le candidat.
--
-- Les colonnes `score`, `nclc`, `rapport` existantes sont **conservées** pour
-- rollback et cohabitation pendant la fenêtre 3.6a → 3.6b (frontend).
--
-- À exécuter manuellement : `supabase db push` (Hermann — cf. Règle F).
ALTER TABLE productions
ADD COLUMN IF NOT EXISTS revelation JSONB,
ADD COLUMN IF NOT EXISTS diagnostic TEXT,
ADD COLUMN IF NOT EXISTS conseil_nclc JSONB,
ADD COLUMN IF NOT EXISTS erreurs_codes JSONB,
ADD COLUMN IF NOT EXISTS exercices JSONB,
ADD COLUMN IF NOT EXISTS modele JSONB,
ADD COLUMN IF NOT EXISTS nclc_cible INTEGER,
ADD COLUMN IF NOT EXISTS exercices_status TEXT NOT NULL DEFAULT 'pending',
ADD COLUMN IF NOT EXISTS modele_status TEXT NOT NULL DEFAULT 'pending';
ALTER TABLE productions
DROP CONSTRAINT IF EXISTS productions_nclc_cible_check,
ADD CONSTRAINT productions_nclc_cible_check CHECK (nclc_cible IS NULL OR nclc_cible IN (9, 10));
ALTER TABLE productions
DROP CONSTRAINT IF EXISTS productions_exercices_status_check,
ADD CONSTRAINT productions_exercices_status_check
CHECK (exercices_status IN ('pending', 'ready', 'error'));
ALTER TABLE productions
DROP CONSTRAINT IF EXISTS productions_modele_status_check,
ADD CONSTRAINT productions_modele_status_check
CHECK (modele_status IN ('pending', 'ready', 'error'));
-- Index pour l'analyse patterns (Sprint 3.6c — agrège erreurs_codes sur les 5 dernières productions).
CREATE INDEX IF NOT EXISTS productions_erreurs_codes_gin_idx
ON productions USING GIN (erreurs_codes);