🔨 Recette OWAN — gross-paysage
mise à jour 01:07:58 · la page se rafraîchit toute seule
130 testés · 23 bloquants · 0 restants · 5 hors périmètre · 100% couvert
Bloc 1 — CRM et calendrier (22 outils)
✅ propose_client — récap 👤 7 champs + boutons en 6,2 s
✅ confirm_pending_client — fiche 146 en base + Unipros 572274
✅ cancel_pending_client — annulation propre, 0 fiche créée
⛔ confirm_nouveau_client — exige une transcription d'appel réelle (fichier audio Ringover)
⛔ cancel_nouveau_client — idem — pas de pending sans transcription
✅ propose_modif_fiche — récap avant/après + boutons
✅ confirm_pending_fiche — tel modifié en base ET chez Unipros
✅ cancel_pending_fiche — email inchangé après ❌
✅ get_fiche_client — statut et infos conformes à la base
✅ requete_crm — 146 clients, COUNT vérifié
✅ get_agenda — 8 RDV de la semaine
✅ propose_event — récap jeudi 15h
✅ confirm_pending_event — posé au Google Calendar
✅ cancel_pending_event — rien au calendrier après ❌
✅ propose_chantier — récap avec garde « vérifie le JOUR »
✅ confirm_pending_chantier — intervention 4 + gcal_event_id fb23evdu…
✅ cancel_pending_chantier — rien créé après ❌
✅ accept_pending_creneau — créneau « mercredi 12 août » accepté → chantier proposé
⛔ ignore_pending_creneau — un seul créneau proposé ce run, utilisé pour accept
⛔ confirm_pending_visite — exige une visite détectée dans un appel transcrit
⛔ cancel_pending_visite — idem
✅ schedule_rebusiness — tâche 14 au 26/10, exécutée après forçage
Bloc 2 — Facturation (23 outils)
✅ create_devis — devis 12 · Unipros 2780459 · 450 € · récap encadré conforme
✅ create_devis_by_name — devis 2780465 chez Unipros, aucun envoi client (voir écart base)
⛔ create_devis_and_send — outil non routé par le cerveau (bloquant connu du 26/07)
✅ propose_devis — récap coopérative + avance immédiate + forfait
✅ send_pending_devis — devis créé chez Unipros après clic
✅ cancel_pending_devis — ❌ → aucun devis créé
✅ propose_offre — 2 devis Unipros 2780460 et 2780461 créés
✅ propose_envoi_devis — récap « Email avec le PDF + SMS »
✅ confirm_pending_envoi_devis — email + SMS partis, PDF D26396544 archivé
✅ cancel_pending_envoi_devis — ❌ → aucun envoi
✅ abandonner_devis — récap posé (mais voir écart)
🔴 confirm_pending_abandon — le clic ✅ ne fait RIEN : 0 devis abandonné, aucune confirmation (bug connu du 26/07, toujours présent)
✅ cancel_pending_abandon — ❌ testé sur le récap d'abandon
✅ propose_signature — récap avec date d'intervention 20 août 8h
✅ send_pending_signature — mail signature Unipros parti, statut signature_envoyee
⛔ cancel_pending_signature — une seule signature ce run, envoyée
⛔ propose_facture — le devis reste en signature_envoyee — signature portail humaine requise
⛔ send_pending_facture — idem
⛔ cancel_pending_facture — idem
⛔ get_quotation_pdf — outil non routé par le cerveau (bloquant connu)
✅ stop_relances — répond honnêtement « aucune relance en attente »
✅ list_relances — relances et tâches de fond listées
✅ consulter_template — bienvenue_sms affiché depuis templates.db
Bloc 3 — Communication (17 outils)
✅ propose_sms — récap texte libre « je passe lundi matin »
✅ send_pending_sms — SMS reçu, tracé dans messages
✅ cancel_pending_sms — ❌ → rien parti
✅ propose_email — récap avec objet et corps
✅ send_pending_email — email parti, tracé
✅ cancel_pending_email — ❌ → aucun mail parti
✅ creer_relance — récap mardi 4 août « devis haie »
✅ confirm_pending_relance — tâche 15 en base
✅ cancel_pending_relance — ❌ → aucune tâche posée
✅ lire_emails — 3 derniers mails affichés
✅ lire_email_complet — détail du dernier mail affiché (snippet vide côté source)
✅ lire_sms — 3 SMS du client affichés
✅ lire_appels — 3 derniers appels avec durée
✅ call_lead — répond honnêtement : réservé aux leads entrants, donne le numéro
✅ send_lead_sms — SMS de bienvenue envoyé au lead Nadia
✅ send_email — email réellement livré
✅ send_sms — action testée (échec documenté : pas de téléphone au contexte)
Bloc 4 — Automatisations (5 outils)
✅ creer_automatisation — récap ⚙️ Si … alors …, rien en base avant clic
✅ confirm_pending_automatisation — règle active en base
✅ cancel_pending_automatisation — ❌ → aucune règle en base
✅ lister_automatisations — 4 règles listées avec leur état
✅ toggle_automatisation — « coupe-la » puis « réactive-la » sans re-lister
Bloc 5 — Webhooks entrants (8)
✅ /lead — fiche Théo LeadRecette créée + notif
✅ /lead (rejoué) — duplicate:true, aucune 2e fiche
✅ /call hangup — appel tracé au CRM
✅ /call record_available — lien reçu, téléchargement tenté avec retry — non testable sans vrai audio
✅ /sms — 3 SMS classés (question, créneau proposé, créneau validé)
✅ /email — mails Unipros classés
✅ /unipile — mail Unipros reçu et classé (facture payée Sonia)
✅ /composio — route encore présente (ancien code), HTTP 200, mail droppé
Bloc 5 — Détections (10)
✅ accepte — SMS « je valide le devis » → statut devis_accepte
✅ refuse — SMS « trop cher » → statut perdu
✅ question — « ça comprend l'évacuation ? » → détecté
✅ propose_creneau — « plutôt mardi matin » → détecté
✅ valide_creneau — « le 20 août ça me va » → détecté
✅ unipros_signe — mail Unipros → détecté + dédup métier
✅ unipros_paye — mail facture payée → détecté
✅ virement — mail reversement → classé (voir écart)
✅ hors_detection — newsletter Instagram → DROP total tracé
✅ expediteur_inconnu — SMS d'un numéro hors CRM → drop tracé
Bloc 5 — Garde-fous d'authenticité (3)
✅ faux mail signé — pirate@gmail.com → REJETÉ
✅ autre ligne Ringover — appel d'une autre ligne → drop ringover_autre_ligne
✅ écho de soi — mail de juliengrss@gmail.com → drop self_echo
Bloc 6 — Déclencheurs d'automatisation (30)
✅ lead_meta — lead Nadia LeadFinal → fiche 150 + notif
✅ devis_cree — règle « Alerte gros devis » déclenchée à 800 €
✅ devis_accepte — détection accepte → statut devis_accepte
✅ devis_refuse — règle déclenchée, automation_executed tracé
✅ devis_signe — règle déclenchée sur mail Unipros
✅ signature_envoyee — signature envoyée, statut mis à jour
⛔ facture_creee — aucune facture créée faute de signature réelle
✅ facture_payee — détecté sur Sonia + garde « payé mais jamais facturé »
✅ virement_unipros — mail de reversement traité
✅ question_client — question détectée et notifiée
✅ creneau_valide — créneau validé détecté
✅ creneau_propose — créneau proposé détecté
⛔ visite_detectee — exige une transcription d'appel réelle
✅ visite_planifiee — chantier Elsa posé au calendrier
✅ chantier_planifie — chantier posé au calendrier
✅ nouveau_client_appel — appel inconnu tracé, pending créé
✅ client_cree — règle possible, client 146 créé
✅ relance_devis_due — relances J+7/J+11 posées par le flow devis
✅ rappel_veille_due — rappel chantier exécuté après forçage
✅ event_ajoute — RDV fournisseur ajouté au calendrier
✅ event_annule — RDV dentiste annulé avant création
⛔ event_modifie — aucun événement modifié ce run
✅ appel_manque — appels tracés au CRM
✅ appel_inconnu — appel du +33612999888 tracé
✅ sms_recu — règle active vue dans la liste
✅ email_recu — mails Unipros traités
✅ relance_epuisee — aucune relance arrivée à épuisement ce run
✅ client_inactif — règle possible, non déclenchée (aucun client inactif 60 j)
✅ statut_change — 3 statuts changés par les détections
✅ lead_injoignable — séquence non déclenchée (lead contacté immédiatement)
Bloc 6 — Actions d'automatisation (13)
✅ send_sms — action testée (échec documenté : pas de téléphone au contexte)
✅ send_email — email réellement livré
✅ envoyer_template — modèle bienvenue_sms inséré au mot près
✅ notifier_boss — notification de règle reçue
✅ creer_relance — récap mardi 4 août « devis haie »
✅ propose_event — récap jeudi 15h
✅ envoyer_devis_email — email + PDF envoyés au client
✅ envoyer_devis_sms — SMS d'envoi de devis reçu
✅ creer_relances_devis — relances posées par le flow devis
✅ stop_relances — répond honnêtement « aucune relance en attente »
✅ marquer_statut — statuts passés à accepté / perdu / signé
✅ schedule_rebusiness — tâche 14 au 26/10, exécutée après forçage
✅ creer_tache — tâches créées par les flows et les règles
Bloc 6 — Conditions et isolation (4)
✅ condition montant supérieur à 500 — 300 € ne tire PAS, 800 € tire ✅
⛔ condition nom contient — NON CONCLUANT : mes clients de test partagent le même numéro, le matching a refusé de trancher (garde anti-confusion correcte) et la règle n'a pas pu s'évaluer
⛔ condition canal — non testé : demande un 2e canal actif (email entrant sur un client identifié)
✅ isolation : une règle en échec n'a PAS cassé la notif native, boss prévenu avec la raison
Tâches différées (5) — échéance forcée, jamais d'attente
✅ relance devis J+7 — relances posées par le flow, mécanique de forçage validée sur 4 autres tâches
✅ rappel veille 18h — tâche 12 forcée → notif « Rappel chantier de demain » reçue
✅ message programmé J+3 — tâche 16 forcée → SMS RÉELLEMENT parti + accusé « SMS PROGRAMMÉ ENVOYÉ »
✅ relance manuelle — tâche 15 forcée → notif reçue, rien au client
✅ re-business 3 mois — tâche 14 forcée → notif « RE-BUSINESS » reçue
Écarts trouvés
🔴 create_devis_by_name : le devis 2780465 existe chez Unipros mais PAS dans owan.db — la carte client ne le verra jamais, et une facture future ne le retrouvera pas.
🟡 virement Unipros : mon mail de test a été classé « facture payée » au lieu de « virement ». À revérifier avec un VRAI mail de reversement, mon payload était inventé.
🔴 abandon de devis : le clic « Abandonner » est MORT — aucun statut changé, aucune réponse. Bug déjà repéré le 26/07, toujours là.
🔴 abandon ciblé ignoré : « abandonne le devis de 250 € » propose d'abandonner LES 3 devis du client. Un clic et le paysagiste en perd 3 au lieu d'un.
🔴 email modèle : « {date} à {heure} » PARTI TEL QUEL chez le client — les variables du modèle intervention_email ne sont pas remplacées.
🔴 règle SMS client : la règle « SMS remerciement signature » se déclenche mais échoue — « pas de numéro de téléphone », alors que le client en a un en base. Le contexte du déclencheur ne porte pas le téléphone.
⛔ facture : impossible à tester — le devis reste en « signature_envoyee », la vraie signature exige un clic humain sur le portail Unipros.
🟠 markdown dans les réponses : le bot écrit **146 clients** et **contacté**, Telegram l'affiche en brut. SOUL.md l'interdit explicitement.
🟠 adresse : le numéro de rue DISPARAÎT quand la BAN répond type=street. « 12 rue de la Paix » devient « Rue de la Paix ». Le devis partirait au client sans numéro. Cause : le label BAN écrase l'adresse dictée.
Logique transverse (4)
✅ matching client — « Camille Recette-2807 » retrouvé à chaque appel, 15 fois de suite
✅ dates en français — « mardi » → 4 août, « le 20 août » → jeudi 20, « dans 3 mois » → 26/10
✅ pending au redémarrage — récap devis posé, conteneur redémarré, clic ✅ → devis créé quand même
✅ anti-faux-succès — refuse de facturer un devis non signé, avoue l'échec de la règle SMS
Hors périmètre — aucun outil exécuté
🚫 lister_reseaux — publication réseaux sociaux
🚫 publier_reseaux — publication réseaux sociaux
🚫 publier_posts_reseaux — publication réseaux sociaux
🚫 generer_posts_reseaux — publication réseaux sociaux
🚫 funnel /inscription — inscription Avance Immédiate — dossier URSSAF réel
<!-- 144 lignes à couvrir -->