Commit History
-
fix: upgrade Meta Graph API from deprecated v18/v19 to v22.0
CognxSafeTrackAll hardcoded v18.0 and v19.0 references replaced with a centralized META_GRAPH_API_VERSION env var (default: v22.0). v19.0 was deprecated in February 2026 causing messaging_limit_tier to silently disappear from the /clients daily-limit card. Also improves error visibility: the catch block in fetchMetaStatus now logs the full error instead of swallowing it silently, and a warn is emitted when messaging_limit_tier is absent even on a successful response (signals a missing BUSINESS_MANAGEMENT permission).b25d16e
-
feat(super-admin): WhatsApp OTP registration and template creation
CognxSafeTrack- WhatsApp service: add registerPhoneNumber() and verifyPhoneNumber() methods - Super-admin routes: POST /whatsapp/numbers/register and /verify for Meta OTP flow - Super-admin routes: POST /whatsapp/templates to submit templates to Meta for approval - WhatsAppNumbers page: 2-step modal (orgId + phoneNumberId + PIN → OTP code) - WhatsAppTemplates page: full creation modal with category cards, char counters, live preview bubble170eb5d
-
feat: backlog P0→P3 — toast system, payments, tenant isolation, feedback handler, i18n parity
CognxSafeTrack +1: Claude Sonnet 4.6P0 — Critical fixes - Fix generate-feedback job silently dropped: register FeedbackHandler in worker index.ts - Wire FeedbackHandler: AI feedback, Day 11 TeamMember extraction, atomicity enforced P0 — Toast system (replace all alert()) - Add useToast hook + ToastContext + Toaster component - Replace every alert() across admin pages with toast.success/error/warning/info - Migrate all raw fetch() in pages to api.upload() / api.get() / api.post() P1 — Type safety - CrmAIAssistant: icon prop any → React.ElementType - useAudioRecorder: add onError callback instead of alert() - api.ts: add upload() method for multipart FormData P1 — Payment gateway - Add payment-gateway.ts: Orange Money + Wave initiation and webhook parsing - Rewrite payments.ts routes: initiate, status, webhook handlers with auto-enrollment on SUCCESS P1 — AI regression tests - Add apps/api/test/regression/ai-gold-standards.test.ts (12 tests, 5 suites) P2 — Visual recruitment (Day 11) - FeedbackHandler extracts TeamMem…6dd9bad
-
feat: implement whatsapp templates management with security hardening, audit logs, and crm integration
CognxSafeTrack0f2f80a -
chore: stabilization, audit fixes and project synchronization
CognxSafeTrack7b0c22b
-
chore: CRM stabilization sprint completion
CognxSafeTrack- Refactor: Decomposed CrmConversationalDashboard into modular components (Inbox, AIAssistant, StatsHeader) - Fix: Centralized entity resolution with EntityResolver service (API & Worker) - Fix: Strict Prisma typing, removed 'as any' casts in organization and whatsapp routes - Fix: Implemented broadcast message persistence and accurate usage quota tracking - Schema: Added MessageStatus and status field to Message model4339e77 -
feat: push notifications, CRM analytics, Fastify v5 upgrades, schema updates
CognxSafeTrack +1: Claude Sonnet 4.6- Add web push notification service and admin endpoints - Add CRM analytics component and conversational dashboard - Extend Contacts page with campaign management - Update AI and whatsapp routes (Fastify v5 compat, webhook fixes) - Extend Prisma schema with new models and indexes - Add CRM campaign prompt template Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>b43e552
-
feat: B2B SaaS Multi-tenant architecture & Tech Debt Resolution
CognxSafeTracke289c5c
-
fix: stabilize API build by correcting Prisma naming and unused imports
CognxSafeTrack1a99598 -
fix: restore mangled interactive button calls in API service
CognxSafeTrack1bf0dca -
feat: finalize multi-tenant WhatsApp architecture for Meta Tech Provider review
CognxSafeTrack3bf9adc
-
Fix: Add Cascade Delete for UserBadge and TeamMember during INSCRIPTION reset
CognxSafeTrack2e888dc -
Refactor: Technical Debt Repayment (Clean Dashboard, Strict Typing, Pino Logging, SQL Migration)
CognxSafeTrackde6a95b -
fix(time-travel): allow deep dive based on historical day response
CognxSafeTrackdocs: add comprehensive technical debt audit1fd81cb
-
feat: Fix Time-Travel Replay & Deep Dive logic via Redis Context Override
CognxSafeTrack0785ad1
-
feat: Time-Travel complet via Redis — effectiveDay override, coupe-circuits SUITE/INSCRIPTION, skip COMPLETED en mode replay
CognxSafeTrackd978795 -
feat: 4 UX/backend fixes — anti-ghost image, time-travel replay, UX message order, contextual AI remediation
CognxSafeTracka4ce760 -
fix: re-validate COMPLETED→PENDING for text exercise responses + guard businessProfile.upsert at Day 10+
CognxSafeTracka66a580
-
fix(progression): atomic logic inversion and command unlocking
CognxSafeTrackc1cf9c6 -
fix(whatsapp): idempotency lock and progression blockers
CognxSafeTrackcfe6413
-
feat(ai): implement multimodal vision and dynamic data for business context
CognxSafeTrackb073e6a
-
feat(ai): coaching refinements - temperature support, memory filter, and flexible guardrails for Day 6/7
CognxSafeTracke6d84cb
-
feat: stabilize AI engine, harden Zod schemas, and implement UX guardrails
CognxSafeTrack77c96f8
-
feat: Implement fuzzy matching for commands and input guardrails in whatsapp.ts
CognxSafeTrack2d900bc
-
feat: Implement Multi-AI Architecture with Google Gemini provider and failover logic
CognxSafeTrackf41372b
-
fix(whatsapp): Sprint 42 - Sécurisation routage Deep Dive et immuabilité secteur
CognxSafeTrack22341b3 -
feat(Sprint 40): Boucle interactive Deep Dive & persistences des réponses
CognxSafeTrackab37938
-
chore: execute Sprint 38 technical debt resolution (Type Safety, Zod validation, Vitest, Mock LLM extracted)
CognxSafeTrackd9879cf
-
fix(core): remove AI jus-de-fruits hallucination, expand onboarding sectors to 8, streamline pedagogy menu and lock REPRISE badge
CognxSafeTrack9ca5873
-
fix(ai): implement pedagogical leap fixes, pending_remediation, coherence locks and cache wipes
CognxSafeTrack4967196 -
fix(ai): add imageUrl field to Prisma schema and correctly route language selection inside whatsapp.ts
CognxSafeTrackf0f0df4 -
fix(ai): fully wipe BusinessProfile and Response history on INSCRIPTION to prevent AI context leaks
CognxSafeTrack854ab32 -
feat(ai): expert coaching system with persistent business context and explicit SUITE progression fix
CognxSafeTrack3c5c1e0
-
feat(sprint19-20): production-ready video integration & STT hardening
CognxSafeTrack## Sprint 19 — STT Pipeline Fix - fix(worker): remove variable shadowing in transcribedText (index.ts) Transcribed text now correctly reaches the pedagogical handler ## Sprint 20 — Production-Ready Video Integration - feat(schema): add videoCaption field to TrackDay model (Prisma) - feat(seed): propagate videoCaption in all upsert paths - feat(pedagogy): video-first delivery with [VIDEO]/[VIDEO_OK]/[VIDEO_FALLBACK] logs - feat(pedagogy): automatic fallback — image + link when WhatsApp rejects video - feat(whatsapp): add TEST_VIDEO <TrackId> <Day> admin command ## Content — Canonical Video Mapping (T1–T5 FR+WO) - content(T1): inject videos v1_1→v1_2 on days 1,2,3,4,5,6,7,8,9,10,11 - content(T2): inject videos v4_4, v7_1, v5_1 on days 1,2,4 - content(T3): inject videos v7_4, v4_6, v9_1 on days 1,4,5 - content(T4): inject videos v5_3, v9_3 (Wave Business), v10_1 on days 5,6,7 - content(T5): inject videos v8_1, v8_2 on days 1,3 - content(T1-FR/WO): fix 26 broken dummy-storage imageUrls…19d10a4
-
chore: final integration audit and logic hardening
CognxSafeTrack567fb57 -
fix(syntax): resolve unbalanced braces and scoping in WhatsAppService
CognxSafeTrackaa52c48 -
fix(logic): prioritize commands over exercises and strictly lock gateway routing
CognxSafeTrack4a79a6d -
feat(hardening): implement anti-silence, gateway loop protection and deep trace logging
CognxSafeTrack5443165 -
Fix Post-STT Blockage: Async chain, Intent detection, and Feedback fallback
CognxSafeTrack31e6d9a -
Audit Final: Fix feedback message construction & Global Hardening
CognxSafeTrack42c5945
-
chore: final logic hardening, AI prompt reinforcement and SUITE command fix
CognxSafeTrack26c5d48
-
feat(pedagogy): implementation of dynamic content infrastructure and evaluation criteria
CognxSafeTrackca816a7 -
fix: final hardening audit fixes (normalizeCommand, activityLabel key, Zod schemas)
CognxSafeTrack8927585 -
fix: resolve ESM module not found error in database package
CognxSafeTrack84be762
-
feat(audio): Complete robust outbound/inbound pipeline and async AI generation
CognxSafeTrack818c5f2 -
fix(whatsapp): resolve duplicate CONTINUE action match and remote 120s blocking delay on feedback
CognxSafeTrack0e83f45 -
feat: implement STT inbound audio, TTS fallback, and Interactive Lists
CognxSafeTrackabc4e24 -
refactor(prod): unify currentDay exclusively in Enrollment model to fix scheduler sync
CognxSafeTrack8cd83e2
-
fix(audit): 6 bugs fixed — static imports, store-audio endpoint, CONTINUE fallthrough, SUITE regex, no more require() calls
CognxSafeTrack8549297 -
feat(railway): combined API+Worker Dockerfile + fix list char limits + 10s AI timeout
CognxSafeTrack07420e1