Commit graph

28 commits

Author SHA1 Message Date
3016d909a6 feat(t1-live): T1 Live frontend — Sprint 7b
Some checks are pending
CI / quality (push) Waiting to run
- Add T1 state machine (8 states, presenting ⇄ interrupted)
- Add useT1LiveSession (WS /t1/live, uplink gate by ref, no context msg)
- Add T1PreparationPage, T1DialoguePage, T1SpeakingIndicator
- Add EO_T1_LIVE card in TaskSelector gated via oral_t2_live
- Extract shared t1Questionnaire.ts for batch/live DRY
- Remove T1LiveQuestionnairePage + T1LiveContext (post patch 7a)
- Simplified flow: card → preparation → dialogue
- FTD-44 frozen (cross-feature audio hooks, Sprint 7.5)
- FTD-45/46 frozen (Gemini relance quality + transcription)
- Tests: 301/301 green
2026-06-30 22:53:57 +03:00
1d95166611 Sprint 6c — Frontend T2 Live UI + state machine + integration
feat(t2-live): state machine pure 9 states x 8 events (resolves FTD-09)
feat(t2-live): useT2LiveSession WS orchestrator + audio hooks + close codes
feat(t2-live): T2SujetsPage, T2PreparationPage (2min timer + notes + ideas),
  T2DialoguePage (3:30 dialogue + terminal screen with WAV download)
feat(t2-live): T2LiveContext provider for sujet sharing between pages
fix(TaskSelector): unlock EO_T2_LIVE card via hasAccess (resolves FTD-33)
chore: Tache type + labels + config extended with EO_T2_LIVE
test: 21 t2-machine tests — 259/259 green (+21)
2026-04-26 20:32:02 +03:00
5a31819bca Sprint 5.5 Clean FTD — triage 21→14 actives (cap 15)
fix(StatCards): replace plan === 'free' with !hasAccess(plan, 'dashboard') (FTD-39)
refactor(useAudioRecorder): move optionsRef assignment to useEffect (FTD-38)
docs(TECH_DEBT): v1.27 — freeze FTD-09/33/42, close FTD-14/35/38/39
2026-04-26 19:04:40 +03:00
3a3fa6272d docs(sprint-5): CHANGELOG + ROADMAP + TECH_DEBT (Sprint 5e clean)
- CHANGELOG: entrées Sprint 5b/5c/5d (198 → 219 tests)
- ROADMAP: Sprint 5 Billing marqué 
- TECH_DEBT: FTD-42 (modal prorata) + FTD-43 (race webhook) ouvertes. v1.26. 21 FTD actives.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 05:57:15 +03:00
06fbfe3f9b fix(rapport): patch temporaire conclusion conseil_nclc quand NCLC dépassé (FTD-40, FTD-41) 2026-04-25 21:16:00 +03:00
5188714235 docs(architecture): refléter l'arborescence réelle + documenter convention shared/ui (FTD-25, FTD-26) 2026-04-25 17:59:10 +03:00
d1c8b548bb feat(eo): complete EO simulation flow (T1 + T3) with Gemini transcription
- Gemini batch transcription (no Deepgram live)
- blobToBase64 helper (shared/lib/audio.ts)
- AudioRecorder: remove onChunk, add maxSeconds/onMaxReached auto-submit
- Timer stops at maxSeconds and triggers auto-submission
- EnregistrementEOPage: audioBase64 to backend, fix race condition step=done
- SimulationFlowProvider: submitEoAudio(audioBase64, mimeType, nclcCible)
- MIME normalization (strip codec params)
- Split CORRECTION_EE_TIMEOUT_MS (60s) / CORRECTION_EO_TIMEOUT_MS (120s)
- PresentationGenereeT1Page: localStorage persistence

Typecheck: OK · Tests: 159/159 

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 08:28:51 +03:00
cab9c8c92b fix(simulations): resolve FTD-23 autosave after correction + FTD-24 auto-polling pending jobs
- FTD-23: propagate enabled=false to useAutosave when step is done/correcting, preventing 400 PATCH after correction
- FTD-24: add conditional refetchInterval (3s) in useRapport for pending exercices/modele, 2min timeout with retry UI
- 7 new tests (2 regression + 5 polling), 122/122 green

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 03:56:57 +03:00
bc2a1174d1 docs: fermeture FTD-28 (Semgrep CI), TECH_DEBT v1.18, CI verte
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 03:26:52 +03:00
39b633d1e3 docs: fermeture FTD-27 (CI backend), TECH_DEBT v1.17
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 02:39:29 +03:00
d7321c868e docs: fermeture FTD-29, TECH_DEBT v1.16
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 02:32:33 +03:00
04dfbe2731 docs(tech-debt): réorg sécurité v1.15 — FTD-06/08/15 gelées, FTD-27/28/29 ajoutées
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 02:21:27 +03:00
a0352457dc docs(tech-debt): triage FTD v1.14 — 17→15 actives
Fermées : FTD-04 (miroir docs, accepté ADR 004), FTD-05 (scaffold
caduc, audit clean), FTD-20 (GET /simulations/:id livré Sprint 3.6a),
FTD-22 (code orphelin /sujets, résolution complète).

Ajoutées : FTD-25 (ARCHITECTURE.md §3 désaligné), FTD-26
(cohabitation shared/ui vs shared/components/ui).

Cap de 15 FTD actives respecté.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 01:42:11 +03:00
f51caa1b75 feat(rapport): Sprint 3.6b — RapportPage enrichie, exercices dynamiques, production modèle, sélecteur NCLC
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 20:14:38 +03:00
8390e8b873 feat(corrections): Sprint 3.6a — nouveaux prompts + taxonomie erreurs + génération parallèle
Côté frontend : timeout corrections 30→60s (aligné avec backend 55s),
FTD-23 documentée, TAXONOMIE_ERREURS.md ajouté.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 17:28:02 +03:00
18f92098cb refactor(simulation-ee): Sprint 3.5 clean — FTD-17/18/19 résolus, factorisation SimulationForm
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 14:03:46 +03:00
656b42e6c4 docs: FTD-21 résolu partiellement pour /simulation/ee 2026-04-21 04:54:09 +03:00
95711a7c44 docs(tech-debt): FTD-21 documentation complète persistance session
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 03:34:49 +03:00
4712a3a16e refactor(simulations): supprimer SujetSelector + selectSujet orphelins (FTD-22)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 02:56:02 +03:00
e130d3792e feat(production): exposer SujetData dans Production + FTD-21 persistance session 2026-04-20 23:05:01 +03:00
ef86da85d7 docs(tech-debt): FTD-20 🔴 — GET /simulations/:id manquant backend 2026-04-20 03:46:36 +03:00
d7b084d05a docs(sprint-0.5-bis): TECH_DEBT v1.6 (FTD-18/19) + CHANGELOG 2026-04-20 02:37:46 +03:00
997f39bd33 feat(simulations): useSimulation hook + TaskSelector + SimulationForm + SimulationPage + route (Sprint 3 étape 14)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 00:08:34 +03:00
ca4291d7eb feat(app): implement MAINTENANCE_MODE + configure Claude Code security hooks
- Add VITE_MAINTENANCE_MODE guard in main.tsx (no providers mount when true)
- Create static MaintenancePage.tsx (Direction H tokens, zero dependencies)
- Register VITE_MAINTENANCE_MODE in env.ts (optional, defaults to false)
- Add PreToolUse security hook (9 patterns from SECURITY.md §2)
- Add Stop hook for file size check (>200 lines warning)
- Register Semgrep MCP server
- Update ARCHITECTURE.md §7 (new env var)
- Resolve FTD-16 in TECH_DEBT.md
2026-04-19 02:31:32 +03:00
ee6d679950 feat(shared): ThemeToggle + Logo + design system rules (Sprint 0.5 étape 8) 2026-04-18 01:33:24 +03:00
28c9c08d31 fix(build): upgrade Vitest 3.2.4 → 4.1.4 + script typecheck tsc -b + FTD-13 2026-04-17 18:29:13 +03:00
2d7caf041a refactor(style): réduire index.css au @import + ajouter FTD-10/11/12 2026-04-17 18:14:40 +03:00
30a01677bd docs: ajout TECH_DEBT.md 2026-04-16 15:14:44 +03:00