edtech / docs /residual_tech_debt_report.md
CognxSafeTrack
chore: finalize Sprint P2 & P3 optimizations, baseline prisma migrations, and update technical audit docs
cfbb685
|
Raw
History Blame Contribute Delete
3.29 kB

Rapport de Dette Technique Résiduelle (v2.2)

Une session intensive a permis de lever les verrous critiques (Infrastructure, Modularité, Intégrité SQL). Voici l'inventaire des tâches restantes pour atteindre une maturité de production optimale.

📊 État Actuel - Post Sprint v2.1

Domaine Risque Priorité État
Nettoyage Médias Critique P0 Résolu (GC local implémenté)
Intégrité DB Élevé P0 Résolu (Cascade Delete fixé)
Type Safety Moyen P1 Largely Resolved (80+ as any supprimés)
Observabilité Moyen P1 Résolu (Pino standardisé partout)
Automatisation Stripe Moyen P2 ⏳ À venir

🏗️ 1. Chantiers Prioritaires (Next Steps)

1.1 Migration Stripe Billing (Business)

  • Constat : Le système d'abonnement mensuel n'est pas encore automatisé via Stripe.
  • Tâches :
    • Centraliser les webhooks Stripe dans un service dédié.
    • Implémenter la logique de suspension automatique des accès si le paiement échoue.
    • Migrer les données de souscription actuelles vers des "Price IDs" Stripe.

1.2 Type Safety : Nettoyage des as any

  • Impact : Fiabilité de la compilation et prévention des bugs au runtime.
  • Actions Réalisées :
    • Suppression des casts as any dans tous les services pédagogiques (pedagogy.ts, ExerciseHandler).
    • Typage strict des retours Prisma pour les badges et les teams.
    • Refactorisation des routes API (ai, whatsapp, payments, internal) with module augmentation Fastify.
    • Reste : ~108 occurrences mineures (souvent liées à des types tiers complexes ou des mocks de test).
  • Statut : ✅ Validé (Build OK).

1.3 Observabilité : Passage à Pino

  • Impact : Meilleure traçabilité des erreurs en production.
  • Actions Réalisées :
    • Remplacement de tous les console.log critiques par logger.info/error.
    • Standardisation de l'interface du logger pour accepter les signatures variadiques (compatible Pino).
    • Ajout de contextes (traceId, phone) dans les logs WhatsApp.
  • Statut : ✅ Terminé.

🎨 2. Amélioration de l'Expérience Développeur

2.1 Refactorisation du Dashboard Admin

  • Constat : Le fichier App.tsx de l'admin est trop volumineux et mélange routes, composants et logique.
  • Tâches :
    • Extraire les pages dans un dossier /pages.
    • Abstraire les appels fetch dans un client API centralisé (ou TanStack Query).

2.2 Extension du Framework de Tests AI

  • Constat : Le framework est prêt mais ne couvre qu'une fraction des scénarios pédagogiques.
  • Tâches :
    • Ajouter des "Gold Standards" pour les 15 jours de formation.
    • Automatiser le calcul de score de similarité cosinus pour les réponses attendues.

Recommandation Architecturale : La prochaine priorité absolue devrait être la Migration Stripe, car elle impacte directement la viabilité financière de la plateforme.

Le nouveau package @repo/prompts facilite désormais l'ajout de tests de régression AI sans toucher au code métier. Profitez-en pour sécuriser chaque jour de formation.