CognxSafeTrack commited on
Commit ·
2c344e4
1
Parent(s): 2b67473
docs: Comprehensive Historical Knowledge Enrichment (Final Audit)
Browse files- .claude/primer.md +16 -8
- tasks/lessons.md +3 -2
- tasks/technical_backlog.md +6 -5
.claude/primer.md
CHANGED
|
@@ -10,13 +10,21 @@
|
|
| 10 |
- **Commission Prestataire** : 2% sur le montant encaissé.
|
| 11 |
- **Validation** : Le coaching AI (XAMLÉ) assure la qualité des prestataires avant mise en relation.
|
| 12 |
|
| 13 |
-
## 🏗️ Flux de Données
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
-
## 🛠️ Stack Technologique
|
| 19 |
- **Back** : Node.js (TypeScript), Fastify, BullMQ, Redis.
|
| 20 |
-
- **
|
| 21 |
-
- **
|
| 22 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
- **Commission Prestataire** : 2% sur le montant encaissé.
|
| 11 |
- **Validation** : Le coaching AI (XAMLÉ) assure la qualité des prestataires avant mise en relation.
|
| 12 |
|
| 13 |
+
## 🏗️ Flux de Données & Infrastructure
|
| 14 |
+
- **Monorepo** : Turbo-repo géré par `pnpm`.
|
| 15 |
+
- `apps/api` : Gateway Fastify (Webhook).
|
| 16 |
+
- `apps/whatsapp-worker` : Logique métier, Multimodal, Scoring.
|
| 17 |
+
- `packages/database` : Prisma schema + Modular seed system.
|
| 18 |
+
- **Flux** : Meta Webhook -> API Fastify -> Réponse 200 immédiate.
|
| 19 |
+
- **Queue** : BullMQ (Redis) -> Worker -> `whatsapp-logic.ts`.
|
| 20 |
|
| 21 |
+
## 🛠️ Stack Technologique & Moteurs
|
| 22 |
- **Back** : Node.js (TypeScript), Fastify, BullMQ, Redis.
|
| 23 |
+
- **IA** : Gemini 2.0 Flash (Coaching), Gemini 1.5 Pro (Documents), OpenAI Whisper (STT).
|
| 24 |
+
- **Moteur de Scoring** : Système de scoring comportemental sur 4 dimensions :
|
| 25 |
+
- `discipline_financiere`, `organisation`, `relation_client`, `risque_management`.
|
| 26 |
+
- **Niveaux d'Évolution** :
|
| 27 |
+
- < 40 : *Informel instable*
|
| 28 |
+
- 40-60 : *Structuration début*
|
| 29 |
+
- 60-80 : *Business organisé*
|
| 30 |
+
- > 80 : *Entrepreneur avancé*
|
tasks/lessons.md
CHANGED
|
@@ -5,8 +5,9 @@ Ce fichier archive les échecs et solutions liées à la **stabilité technique*
|
|
| 5 |
- **[ARCHI] Détachement Gateway** : Ne JAMAIS laisser une gateway (Hugging Face / Meta) attendre > 20s. Répondre `200 OK` immédiatement et déléguer au worker.
|
| 6 |
- **[DB] Séquençage des Opérations** : Ne JAMAIS envoyer de message WhatsApp avant d'avoir persisté la progression dans Prisma. La DB est la seule source de vérité.
|
| 7 |
- **[CACHING] Verrous d'Idempotence** : Utiliser des locks Redis avec un TTL minimal de 300s (5 min) pour protéger les appels LLM longs et éviter les retries en boucle.
|
| 8 |
-
- **[MEDIA] Vision Base64** : Gemini échoue par URL ; toujours convertir les photos d'utilisateurs en Base64
|
| 9 |
-
- **[
|
|
|
|
| 10 |
|
| 11 |
## 🛡️ Règle d'Or de l'Intégrité
|
| 12 |
**Les correctifs techniques ne doivent JAMAIS impacter la logique de personnalisation du prompt `generatePersonalizedLesson` ou des feedbacks.** Toute simplification technique qui réduit la spécificité de l'IA est un échec.
|
|
|
|
| 5 |
- **[ARCHI] Détachement Gateway** : Ne JAMAIS laisser une gateway (Hugging Face / Meta) attendre > 20s. Répondre `200 OK` immédiatement et déléguer au worker.
|
| 6 |
- **[DB] Séquençage des Opérations** : Ne JAMAIS envoyer de message WhatsApp avant d'avoir persisté la progression dans Prisma. La DB est la seule source de vérité.
|
| 7 |
- **[CACHING] Verrous d'Idempotence** : Utiliser des locks Redis avec un TTL minimal de 300s (5 min) pour protéger les appels LLM longs et éviter les retries en boucle.
|
| 8 |
+
- **[MEDIA] Vision Base64** : Gemini échoue par URL ; toujours convertir les photos d'utilisateurs en Base64.
|
| 9 |
+
- **[STT] Whisper Auto-Validation** : Si l'indice de confiance est <= 80%, intercepter le flux et basculer en `PENDING_REVIEW` pour validation humaine sans crash.
|
| 10 |
+
- **[NON-BLOQUANT] Processus FFMPEG** : Les conversions audio doivent tourner dans des sous-processus.
|
| 11 |
|
| 12 |
## 🛡️ Règle d'Or de l'Intégrité
|
| 13 |
**Les correctifs techniques ne doivent JAMAIS impacter la logique de personnalisation du prompt `generatePersonalizedLesson` ou des feedbacks.** Toute simplification technique qui réduit la spécificité de l'IA est un échec.
|
tasks/technical_backlog.md
CHANGED
|
@@ -13,10 +13,11 @@ Ce fichier liste chronologiquement les correctifs techniques apportés au moteur
|
|
| 13 |
- **Problème** : Race condition. L'utilisateur recevait le WhatsApp mais son progrès restait `PENDING` en raison d'un crash post-envoi.
|
| 14 |
- **Fix** : Séquençage strict : `Prisma.update` -> `Prisma.create(Response)` -> `sendWhatsApp`.
|
| 15 |
|
| 16 |
-
### [
|
| 17 |
-
- **
|
| 18 |
-
- **Fix** : Téléchargement local, conversion en **Base64** et injection directe dans le payload `inlineData` de Gemini.
|
| 19 |
|
| 20 |
### [23/03/2026] | 🔍 Fuzzy Matching (Correction des fautes)
|
| 21 |
-
- **
|
| 22 |
-
|
|
|
|
|
|
|
|
|
| 13 |
- **Problème** : Race condition. L'utilisateur recevait le WhatsApp mais son progrès restait `PENDING` en raison d'un crash post-envoi.
|
| 14 |
- **Fix** : Séquençage strict : `Prisma.update` -> `Prisma.create(Response)` -> `sendWhatsApp`.
|
| 15 |
|
| 16 |
+
### [23/03/2026] | 🎨 Pitch Card Generation (Visual WOW)
|
| 17 |
+
- **Fix** : Création automatique d'une carte de visite visuelle sur le Jour 1 dès que l'activité est extraite. Utilisation de Canvas/Sharp pour le rendu.
|
|
|
|
| 18 |
|
| 19 |
### [23/03/2026] | 🔍 Fuzzy Matching (Correction des fautes)
|
| 20 |
+
- **Fix** : Normalisation Levenshtein pour les intents critiques.
|
| 21 |
+
|
| 22 |
+
### [22/03/2026] | ⚙️ Moteur de Scoring Comportemental
|
| 23 |
+
- **Fix** : Implémentation du système `BehavioralScoring` sur 4 axes (Finance, Organisation, Client, Risque) avec des labels d'évolution (Informel -> Avancé).
|