feat(admin): application d'administration (auth, métriques, monitoring, tri des corrections) #15
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/admin-tech-steps"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bloc application d'administration regroupé en une seule PR (remplace la pile #7 / #8 / #13 / #14 / #15, désormais fermées).
Nouveau frontend
apps/admin-webindépendant (Vite/React, port 5174 dev, image Docker nginx propre) + surface/admin/*dansapps/api(qui reste seul propriétaire du schéma Prisma). Contenu : 5 commits, branchefeat/admin-tech-stepsbasée surmain.1 — Auth (
cf8ef26)Table
AdminUserisolée (aucune relation versUserProfile),requireAdmin(cookieadmin_session, secretADMIN_JWT_SECRETdédié, échoue fermé si absent),/admin/auth/{login,logout,me},create-admin.ts(1ᵉʳ admin hors-bande). CORSsetupCoreacceptestring[]. Mochaadmin-auth.test.ts.2 — Scaffold
apps/admin-web(8a6143d)AdminApiClient/AdminAuthContext/RequireAdmin/AdminLayout(calqués surapps/web),LoginPage, Dockerfile nginx + servicedocker-compose, i18n, tokens_theme.scsscopiés. Cypresslogin.feature+admin-layout.cy.ts, job CIadmin-web e2e.3 — Métriques (
b08081e)Migration
admin_metrics:AnalyticsEvent+WorkerHeartbeat+ colonnescreatedAtsurUserProfile/Recipe/Planning/PlanningItem.analytics.recordEvent()fire-and-forget instrumenté dans 6 services.GET /admin/metrics?days=+bucketByDaypur.DashboardPage(tuiles KPI + graphes recharts). Mocha + Cypress.4 — Monitoring (
57cb2b7)POST /internal/tech-steps/heartbeat+recordWorkerHeartbeat— le worker LLM (sans surface HTTP) devient observable ; il ping au boot/tick/job.GET /admin/monitoring: sondes actives bornées (Postgres, API, intent-service/health, worker via heartbeat), statutup/degraded/down/unknown.MonitoringPage(poll 15 s). Mocha + Cypress.5 — Tri des corrections + retrain (
ed68e11)/admin/tech-steps/*: suggestions groupées par technique + filtres, corrections brutes (incl. les suppressionscorrectedTechStepId:nullinvisibles ailleurs),PATCHd'une suggestion,GET /training-data-snippet(bloc à coller),POST /retrain(gate F1runTechStepEvalSuite+backfillTechSteps+ verrou process →409 RETRAIN_ALREADY_RUNNING, nouveauErrorCode4023).CorrectionsPage(2 onglets + bandeau caveat « édition du .py + redémarrage intent-service restent manuels »). Mocha + Cypress.Vérif
pnpm lint+pnpm -r buildverts. Admin-web Cypress 13/13. Worker Mocha 6/6.bucketByDaypur 2/2.⚠️ Les 4 suites Mocha API admin non exécutées dans la session (pas de Postgres:5433) — écrites, self-skip des cas dépendant des secrets ;
ci.ymlfournitADMIN_JWT_SECRET.POST /retrainde la partie 5 a besoin detech-step-intent-servicedémarré (comme les suites tech-step existantes).specs/backend-architecture.md: section## admincomplète.🤖 Generated with Claude Code
feat(admin): tri des corrections + déclenchement du gate F1/backfillto feat(admin): application d'administration (auth, métriques, monitoring, tri des corrections)ed68e1146fto15dad91a4315dad91a43to74b165759074b1657590tofcaecb4e07