Spaces:
Runtime error
Runtime error
Commit History
-
Audit pedagogique des declinaisons (qualite au-dela du harnais mecanique)β
wilenPyxi +1: Claude Fable 5Juge LLM (PEDAGOGICAL_AUDIT_PROMPT, gpt-5.4 + repli JSON OpenAI) evalue une declinaison VERTE : distracteurs coherents/indevinables, enonce qui ne donne pas la reponse, formulation directe, indice-amorce, format identique -> verdict OK/A_REVOIR + issues. Si A_REVOIR : reparation ciblee (gardee seulement si le harnais reste VERT ET que la qualite s ameliore), puis en mode auto ESCALADE de modele (le meilleur modele selon l exo). Expose : pastille UI, result[pedagogical], policy_telemetry[pedago_verdict]. Config PEDAGO_*. Filets deterministes factorises (_apply_deterministic_nets). Smoke 76/76 ; generation reelle : juge OK, escalade fonctionnelle. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>54b6073
-
Suivi de job robuste pendant les phases CPU (fix Reconnexion au suivi)β
wilenPxs +1: Claude Fable 5- Cause : serveur mono-process β la porte harnais (100 graines sympy) monopolise le GIL plusieurs minutes, le proxy HF renvoie 502 et l UI abandonnait le suivi apres ~1 min alors que le job continuait. - Serveur : yield 1 ms entre les graines du harnais + commutation de threads a 1 ms (setswitchinterval) β /api/jobs/<id> repond pendant le calcul. - UI : le suivi n abandonne PLUS JAMAIS avant 45 min β backoff leger puis mode lent 10 s avec message explicite (le traitement continue) ; recalage automatique a la premiere reponse. - UI : reprise du suivi apres rechargement de page (job id persiste en localStorage, raccrochage automatique au job en cours). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>d1dc8e5 -
Declinaisons: originalExerciseId systematique + grille miroir + bouton Stopβ
wilenPxs +1: Claude Fable 5- :originalExerciseId: toujours present dans l en-tete des declinaisons, valeur = :id: du QST source (vide si la source n en a pas) β convention des 33 exemples valides, prouve sur generation reelle (harnais VERT). - MCQ_SPEC v2 : distracteurs en GRILLE MIROIR (variations symetriques, bonne reponse jamais devinable par la forme β regle enseignante) ; jamais d option structurellement unique ni de fraction non simplifiee. - Filet d aeration deterministe (ligne vide avant chaque bloc question/ sous-bloc β mise en page des exemples valides), idempotent, applique aussi aux candidats de reparation. - Bouton Stop (tous modes) : POST /api/jobs/<id>/cancel, annulation cooperative au prochain point d etape, resultats partiels conserves, statut cancelled dans l UI. - Smoke 71/71 (aeration, originalExerciseId, flux d annulation complet). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>77c855f
-
Politique de modeles multi-fournisseurs + retrait de Fable + durcissementsβ
wilenPxs +1: Claude Fable 5- app/models/: catalogue 16 modeles (IDs OpenRouter verifies 2026-07-02), client route directe-ou-OpenRouter, policy auto/best/cheap/manual (pre-classifieur de difficulte + escalade sur echec harnais, plafond MAX_ESCALADES), prix, et recommended.json issu du banc reel (51 cellules role x modele x exo) : generate/audit best=deepseek-v4-pro, mecanique best=mistral-small. - claude-fable-5 retire volontairement de tout le code (catalog/config/UI/docs). - UI : selecteur de politique + dropdowns par role (mode manuel), telemetrie de routage (modele gagnant, echelons, difficulte, revue humaine). - Durcissements : reponse LLM vide (content:null) -> retry puis erreur propre ; harnais time-boxe par graine (10s, exec+rendu+scans, abandon apres 3 timeouts) ; escalade BaseException contre les try/except avaleurs ; cout expose honnete (analyse partagee + echelons perdants inclus). - Non-regression : pythonise (Exercice_1) et QAT verts a 300 graines. - Smoke 61/61. Co-Authored-By: Clβ¦81836d8 -
UI: libelle du bouton adapte au mode (Generer les declinaisons QCM/QAT)
wilenPxs93681fd -
Mode Declinaisons QCM/QAT: spec MCQ/FGQ (calibree sur 33 exemples valides), harnais etendu (collisions options multi-graines, arite FGQ, un seul bloc python), filets deterministes (mcqOption, None dernier, fusion blocs), UI mode+types, analyse partagee QCM/QAT, zero regression pythonisation (smoke 45/45)
wilenPxs87b004b
-
En-tete {exercise} complet (metadonnees standard, niveau mappe, reprise source) + option Elementaire
wilenPxscce0786
-
UI: suivi resilient au proxy HF (retry au lieu de planter sur reponse non-JSON)
wilenPxsfbdaead -
Deploiement app pythonisation (cache FAISS reconstruit au boot)
wilenPxs77a0a72