| Métrica | this 7d | prior 7d | Δ |
|---|---|---|---|
| Activas | 12569 | 11177 | +12.5% |
| Nuevas | 5072 | 4188 | +21.1% |
| Link sent | 110 | 160 | -31.2% |
| Calls booked | 34 | 41 | -17.1% |
| Booked/Link % | 30.9% | 25.6% | +5.3pp |
| Booked/Activas % | 0.3% | 0.4% | -0.1pp |
| Booked/Nuevas % | 0.7% | 1.0% | -0.3pp |
| Revenue variable | $672.62 | $731.43 | -8.0% |
| Período | Activas | Nuevas | Link sent | Calls booked | Booked/Link | Booked/Activas | Booked/Nuevas |
|---|---|---|---|---|---|---|---|
| Semana actual (7d) | 12569 | 5072 | 110 | 34 | 30.9% | 0.3% | 0.7% |
| Semana anterior (7d) | 11177 | 4188 | 160 | 41 | 25.6% | 0.4% | 1.0% |
| Día | Activas | Nuevas | Link sent | Calls booked | Booked/Link | Booked/Activas | Booked/Nuevas |
|---|---|---|---|---|---|---|---|
| 06-02 | 2758 | 1181 | 12 | 4 | 33.3% | 0.1% | 0.3% |
| 06-01 | 4024 | 1841 | 22 | 11 | 50.0% | 0.3% | 0.6% |
| 05-31 | 1844 | 682 | 18 | 6 | 33.3% | 0.3% | 0.9% |
| 05-30 | 765 | 295 | 6 | 1 | 16.7% | 0.1% | 0.3% |
| 05-29 | 605 | 172 | 6 | 2 | 33.3% | 0.3% | 1.2% |
| 05-28 | 1254 | 455 | 22 | 4 | 18.2% | 0.3% | 0.9% |
| 05-27 | 1319 | 446 | 24 | 6 | 25.0% | 0.5% | 1.3% |
| 05-26 | 1370 | 603 | 22 | 5 | 22.7% | 0.4% | 0.8% |
| 05-25 | 2337 | 815 | 41 | 13 | 31.7% | 0.6% | 1.6% |
| 05-24 | 1740 | 745 | 22 | 8 | 36.4% | 0.5% | 1.1% |
| 05-23 | 2012 | 670 | 41 | 12 | 29.3% | 0.6% | 1.8% |
| 05-22 | 1139 | 263 | 21 | 2 | 9.5% | 0.2% | 0.8% |
| 05-21 | 1061 | 335 | 4 | 0 | 0.0% | 0.0% | 0.0% |
| 05-20 | 1518 | 757 | 9 | 1 | 11.1% | 0.1% | 0.1% |
| BP | Sev | Estado | Detalle |
|---|---|---|---|
| BP-1 | HIGH | PASS | Template compliance system.md contains all 7 required sections for principles template: Identidad, Voz, Keywords, Filtro de ingreso, Flujo, Calibración, Principios, Herramientas, and NO_RESPONSE. All sections match template intent and structure. |
| BP-2 | MEDIUM | PASS | Example coverage and cap (7 base scenarios + conditional, ≤20 total) examples.md contains 20 examples covering all 7 base scenarios (happy path, resource delivery, objection handling, disqualification, emotional lead, re-engagement, off-topic) plus keyword-trigger and price-objection conditionals. Count is at cap (20 total). evidence (1)
|
| BP-3 | HIGH | PASS | Examples align with the flow All 20 examples follow the 5-step flow (Conexión → Ocupación → Ingreso → Compromiso → Cierre) or terminate at a valid state (NO_RESPONSE, video + NO_RESPONSE, or booking confirmation). No examples skip required steps or end incomplete. |
| BP-4 | CRITICAL | PASS | No internal contradictions in system.md system.md states two rules for resource delivery: (a) 'Pedido explícito del recurso, en cualquier turno' → deliver immediately; (b) Principio 3 'calificar 3-4 turnos antes de entregar'. These apply to different preconditions: (a) fires when lead explicitly requests the resource; (b) fires when lead arrives via keyword without explicit request. Both rules coexist without conflict. evidence (2)
|
| BP-5 | CRITICAL | PASS | No cross-file contradictions system.md Filtro de ingreso rule (sub-piso → video + NO_RESPONSE) is consistently applied in examples.md (Examples 3, 14, 15, 18, 19 all show sub-piso leads receiving video + NO_RESPONSE). Keywords.json resource delivery rules align with system.md Principio 3 (qualify before deliver unless explicit request). No contradictions between files on behavior, parameters, or data. |
| BP-6 | MEDIUM | PASS | Voice consistency across examples All 20 examples use consistent voice: warm, validating, Mexican Spanish (tuteo, casual), short messages, one question per turn, natural diminutives (reina, linda, corazón), 1-2 soft emojis per message. No jarring tonal shifts between examples. |
| BP-7 | CRITICAL | PASS | Unguarded actions (PAT-004) All risky actions in system.md flow carry inline guards: (1) Resource delivery guarded by 'Principio 3' (qualify first) or 'Pedido explícito' (explicit request); (2) Filtro de ingreso guarded by income threshold check before agenda link; (3) NO_RESPONSE guarded by explicit trigger conditions (emoji solo, 'gracias' sin acción, etc.). Examples demonstrate guards firing correctly (e.g., Example 14 shows sub-piso lead requesting call → agent applies Filtro → NO_RESPONSE). |
| BP-8 | HIGH | PASS | No stale version language in examples All example CTAs and closings match current system.md flow language. Booking link format, NO_RESPONSE token, and closing phrases ('qué bueno que diste el paso', 'llega cinco minutos antes') are consistent with system.md Cierre step. No outdated phrasing detected. |
| BP-9 | MEDIUM | PASS | No duplicated instructions Each behavioral instruction has a single canonical home. Filtro de ingreso rule stated once in system.md (not repeated in Principios or examples preambles). Principio 3 (read full conversation) stated once in Principios section. Keywords.json notes cross-reference system.md Principio 3 rather than restating it. No instruction duplication detected. |
| BP-10 | MEDIUM | PASS | Rule-vs-principle balance Behavioral guidance (tone, flow, conversational style) is expressed via Voice section + 20 examples. Hard rules remain for factual constraints (Filtro de ingreso income thresholds by country, Principio 5 piso de ingreso, Principio 2 precio nunca por chat). Balance is appropriate: examples teach behavior, principles enforce safety/compliance boundaries. |
| Check | Sec | Estado | Notas |
|---|---|---|---|
| 6a | 1.8 | FAIL | forbidden tokens found: ['dejar de responder'] |
| 6c | 3.x | WARN | 182 lines |
| 6d | 1.2 | PASS | 22 examples |
| 6e | 1.3 | PASS | 6 principles |
| 6g | PAT-006 | WARN | non-STEP-0 keyword handling |
| 6h | Anti-pat | PASS | no 'burbuja' |
| 6i | Anti-pat | PASS | no HTML comments |
| 6j | Anti-pat | FAIL | 20 em-dashes across 1 file(s); first: system.md:50 |
| 6k | PAT-006 | FAIL | tool-call syntax appears as raw text in examples.md (9 line(s)) |
| 6l | Resources | PASS | no placeholder URLs |
| 6m | Hygiene | PASS | no audit metadata in prompt files |
| 6n | PAT-008 | WARN | 1 URL(s) appear with different tracking params or formats across SDK files |
| 6q | PAT-001 | PASS | no instruction duplication into examples.md, keywords.json, program.json, resources.json |
| 6r | Keyword-drift | FAIL | 43 in keywords.json + recent digest, never named in system.md: ['cuaderno', 'libero', 'palma', 'sabotaje', 'rico', 'negra', 'triple', 'cura']; (155 stale drift entr(ies) ignored — no recent digest mention) |
| 6s | Hygiene | PASS | no expired dates in live SDK |
| 6t | Coverage | WARN | 3/6 principle(s) without example: #3 Lee toda la conversación antes de responder., #4 Crisis emocional., #6 Salida ante esquive o coqueteo. |
| Fecha | Tema | Tags |
|---|---|---|
| 2026-06-02 | agent booking link sent without notification | bug, visibility, booking-link, protocol-violation |
| 2026-06-02 | ninjo operator access grant infohipnosisvirtual | access-control, onboarding, permissions |
| 2026-06-01 | lead qualification income threshold enforcement | qualification, income-threshold, bug-report, enforcement |
| 2026-06-01 | lead mental health support gap | mental-health, safety, external-referral |
| 2026-06-01 | ninjo keyword triggers iman protocolo setup | keywords, configuration, feature-request |
| 2026-06-01 | lead qualification high volume updates | lead-qualification, agenda-follow-up, setter-updates |
| 2026-06-01 | agent pauses on qualification notification system | feature, notification, agent-control |
| 2026-06-01 | mental health safety lead suicidal ideation | safety, mental-health, escalation, high-priority |
| 2026-05-31 | keywords ojo mar deployment | keyword-deployment, system-update, config |
| 2026-05-30 | safety flag lead mental health crisis | safety, mental-health, out-of-scope, escalation |
| 2026-05-30 | keyword workflow update papel bolso sesion | keywords, comment-triggers, dm-keywords, resources, deployment |
| 2026-05-30 | qualification status updates 05 30 31 | qualification, lead-status, safety-flag |
| 2026-05-29 | agent system outage and reconfiguration drift | agent-ops, deployment, bug, quality-regression |
| 2026-05-29 | cierre semanal 22 29 may 3 palancas junio | weekly-recap, junio-plan, follow-up-link, remarketing-ads, content-winners |
| 2026-05-29 | private profile mention and repeated messaging errors | prompt-error, bug-report, lead-experience |
| 2026-05-28 | 3am follow up timing concern | process, timing |
| 2026-05-28 | business vs personal income qualification gap | qualification, ical-rule |
| 2026-05-28 | lead qualification income threshold enforcement | qualification, income-threshold, bug-report, protocol |
| 2026-05-28 | sub piso regressions post v268 handezyam danielalvarez | |
| 2026-05-28 | keyword resources deployment sistema codigo voz | deployment, keywords, resources, agent-config |
| ID | Estado | Cambio pedido |
|---|---|---|
| C5 | ⚠️ | NUNCA mencionar `@Vika` ni `@Vika.hipnocoach` en mensajes — siendo Vika quien habla, sería incoherente |
| C6 | ⚠️ | Cierre no-califica recomienda video YouTube (`video_hipnosis` o `video_contexto`), NUNCA el perfil de IG |
| C7 | ⚠️ | En no-califica, agente toma una pausa breve antes de cerrar — NO responde instantáneamente |
| D11 | ⚠️ | **Cifra exacta obligatoria**: "bastante", "mucho", "algo", "harto" no pasan como ingreso. Pedir número concreto: `"y más o menos cuánto estamos hablando?"` hasta tener cifra exacta |
| D14 | ⚠️ | **Deseo del lead de "resolverlo" / "me lo merezco" NO override al guard de ICP** — si ingreso propio < $1,500 USD, cerrar amable pese a la intención positiva |
| D20 | ⚠️ | **Guard ICP se dispara AL CONFIRMAR LA CIFRA, no después** — si el lead confirma número (e.g. "Sí, €500 al mes"), el agente cierra amable inmediatamente; las preguntas de consecuen |
| D23 | ⚠️ | **Venezuela: cifra de ingreso actual confirmada antes del handoff** — el prompt no bloqueaba avance al Paso 6 si la cifra de ingreso actual era ambigua. Caso `@mmzp77`: lead dijo " |
| G11 | pendiente | **Clientes ya en programa** = NO settear ni mandar link. Hoy detección es manual (operador → Slack → Cortex pausa); pendiente integración GHL webhook |
| G17 | OPEN | **Guard idempotente double-handoff (PENDIENTE)** — antes de mandar el bloque de handoff "mano derecha" / "llamada de claridad", el agente debería verificar si el último OUTBOUND ya |
| L5 | pendiente | **Workflow "Follow-up post-link agenda"** (40 min poll, dispara 4h+ sin respuesta tras link) — fue creado 2026-05-11 14:29 UTC y DESHABILITADO 17:32 mismo día por duplicar mensajes |
| M4 | ⚠️ | **Crons de toggle agente DESHABILITADOS (2026-05-22 17:14)** — `717074b0` (KPIs diarios + pausa nocturna 11pm CDMX) y `55b92677` (Reactivación 5am CDMX) ambos `enabled:false`. El e |
| N5 | pendiente | **GHL webhook enrichment** (pendiente Lolo/Mat/Fran): evento de booking debe incluir nombre del lead, fecha y horario agendados, cupos disponibles del calendario, respuestas del fo |
| N6 | pendiente | **Setter alerts Slack channel** (pendiente Lolo/Ninjo): canal aparte para leads supercalificados; alerta con link a la conversación; agente auto-pausa al disparar alerta; setter hu |
| N7 | pendiente | **Daily KPI report** (pendiente Lolo/Ninjo + Marco): Google Sheet auto-fill con métricas que replica el tablero de setters al cierre de cada día (inbounds, follow-ups, calendarios |
| N12 | ⚠️ | **Gate de notificación**: propuesta de Lolo (19:18 2026-05-13) de subir a `lead_score >= 5` adicional al criterio económico — pendiente verificación que respete el criterio definid |
| O8 | ⚠️ | **Freeze de ~1 semana en cambios al agente (2026-05-22 → ~2026-05-29)** — Fran y Julián manejan TODOS los cambios al prompt y keywords durante el período de prueba. Maca canaliza p |
| O9 | ⚠️ | **`sync-keywords` siempre debe recibir la lista COMPLETA de keywords** — la operación hace full diff. Pasar solo una keyword wipea todas las demás (incidente recuperado en vivo el |
| P5 | ⚠️ | **Post-v145: el agente ya NO manda link, lo manda la setter humana**. La métrica P4 sigue siendo válida pero el `sent_by` cambió de `agent` a operador humano. Hay que revisar pipel |
| Q4 | OPEN | **`descalificado_setter: boolean` (PROPUESTO 2026-05-18)** — propiedad custom que setters marcan al descartar a un lead manualmente; agente lee al inicio de cada conversación y hac |
| R4 | ⚠️ | **NUNCA derivar a líneas de asistencia clínica / suicida / emergencia** — si la lead menciona temas de salud mental, crisis o suicidio, el agente NO recomienda hotlines ni servicio |
| X13 | pendiente | **16 de 24 con link no agendaron** (33% conversion link→agenda) — candidatos a follow-up automático. Pendiente de configurar workflow |
| X20 | pendiente | **Múltiples guards bot-inferidos sin approval**: programa-pricing scripted ("inversión, no un gasto, opciones de pago") REMOVED en v84. Currency conversion logic con ARS/MXN/COP ex |
| X25 | pendiente | **Daily KPI Google Sheet** — Marco aún no envió lista exacta de métricas; Lolo/Ninjo aún no construyó el sheet auto-fill. Pendiente N7 |
| X26 | pendiente | **Leads pendientes de búsqueda** (no encontrados en Ninjo DB) — `@brendsgladin`, `@pameladavilauyen`, `@k.moljim` entraron al programa pero no aparecen con conv registrada; Viktori |
| X30 | OPEN | **OPEN — "algo raro está pasando otra vez"** — Viktoria reportó a Mat a las 22:36 UTC 2026-05-13; Mat respondió pidiendo detalles, thread sin respuesta de Viktoria. Investigar qué |
| X35 | pendiente | **Mayra emotional loop — Paso 5 skipped**: `mayravasquezser` Colombia $5-6K USD/mes (ICP-qualified) quedó trabada en 40+ mensajes de loop emocional sin que el agente disparara `sen |
| X36 | pendiente | **`@pattytrujillo164` double-handoff bug** — agente envió el bloque "mano derecha" / "llamada de claridad" dos veces seguidas a la misma conversación. Causa propuesta: dos triggers |
| X38 | pendiente | **Re-calificación de leads previamente descartados por setter humana** — agente no tiene memoria entre conversaciones; cuando el lead vuelve a abrir un thread, el agente lo calific |
| X41 | OPEN | **Instagram flaggea openers con la palabra "dinero"** (2026-05-21) — todas las respuestas a comments que arrancan con "qué pasa con el dinero" / "qué bloqueo tienes con el dinero" |
| X42 | OPEN | **`pause_on_manual_outbound_ignore_messages_count` no editable via gateway** — el `update-agent-config` action acepta el campo pero no persiste. La fix correcta para ManyChat (igno |
| Señal | Valor | Evidencia (cita del cliente) |
|---|---|---|
| Enojado con la plataforma | no | — |
| Es queja | sí | “no aviso sobre este lead y envio el calendario” |
| Queja constructiva (accionable) | sí | “no aviso sobre este lead y envio el calendario” |
| Señal | Cita textual | Fecha |
|---|---|---|
| queja operativa: agente envió link de agenda sin notificar al setter — violación de protocolo | “no aviso sobre este lead y envio el calendario” | 2026-06-02 |
| queja operativa: agente re-calificó y agendó lead de $800/mes previamente rechazado — fallo de enforcement | “Ya había tenido consulta, meses atrás” | 2026-06-01 |
| engagement activo: Viktoria provee recursos y variantes para keywords IMÁN y PROTOCOLO, colaborando con el setup | “iman, imán, Iman” | 2026-06-01 |
| engagement activo: Viktoria solicita deployment de nuevas keywords OJO y MAR con recursos propios | “None” | 2026-05-31 |
| queja de visibilidad/auditoría: setter no puede mapear leads a versiones del agente por falta de contexto exportable | “Velismar's request (2026-05-26) still pending; blocks setter audit” | 2026-06-01 |
| señal de estrés operativo: setter intervino manualmente ante lead con ideación suicida porque el agente no tenía protocolo de seguridad | “está en depresión y ha pensado en hacerse daño” | 2026-05-30 |
| confirmación de readiness / onboarding activo — cliente operando con normalidad | “listo? → Si → Tomada” | 2026-06-02 |
Un creador que pide cambios concretos está enganchado (mejor señal que el silencio).
| ID | Estado | Cambio pedido |
|---|---|---|
| C5 | ⚠️ | NUNCA mencionar `@Vika` ni `@Vika.hipnocoach` en mensajes — siendo Vika quien habla, sería incoherente |
| C6 | ⚠️ | Cierre no-califica recomienda video YouTube (`video_hipnosis` o `video_contexto`), NUNCA el perfil de IG |
| C7 | ⚠️ | En no-califica, agente toma una pausa breve antes de cerrar — NO responde instantáneamente |
| D11 | ⚠️ | **Cifra exacta obligatoria**: "bastante", "mucho", "algo", "harto" no pasan como ingreso. Pedir número concreto: `"y más o menos cuánto estamos hablando?"` hasta tener cifra exacta |
| D14 | ⚠️ | **Deseo del lead de "resolverlo" / "me lo merezco" NO override al guard de ICP** — si ingreso propio < $1,500 USD, cerrar amable pese a la intención positiva |
| D20 | ⚠️ | **Guard ICP se dispara AL CONFIRMAR LA CIFRA, no después** — si el lead confirma número (e.g. "Sí, €500 al mes"), el agente cierra amable inmediatamente; las preguntas de consecuen |
| D23 | ⚠️ | **Venezuela: cifra de ingreso actual confirmada antes del handoff** — el prompt no bloqueaba avance al Paso 6 si la cifra de ingreso actual era ambigua. Caso `@mmzp77`: lead dijo " |
| G11 | pendiente | **Clientes ya en programa** = NO settear ni mandar link. Hoy detección es manual (operador → Slack → Cortex pausa); pendiente integración GHL webhook |
| G17 | OPEN | **Guard idempotente double-handoff (PENDIENTE)** — antes de mandar el bloque de handoff "mano derecha" / "llamada de claridad", el agente debería verificar si el último OUTBOUND ya |
| L5 | pendiente | **Workflow "Follow-up post-link agenda"** (40 min poll, dispara 4h+ sin respuesta tras link) — fue creado 2026-05-11 14:29 UTC y DESHABILITADO 17:32 mismo día por duplicar mensajes |
| M4 | ⚠️ | **Crons de toggle agente DESHABILITADOS (2026-05-22 17:14)** — `717074b0` (KPIs diarios + pausa nocturna 11pm CDMX) y `55b92677` (Reactivación 5am CDMX) ambos `enabled:false`. El e |
| N5 | pendiente | **GHL webhook enrichment** (pendiente Lolo/Mat/Fran): evento de booking debe incluir nombre del lead, fecha y horario agendados, cupos disponibles del calendario, respuestas del fo |
| N6 | pendiente | **Setter alerts Slack channel** (pendiente Lolo/Ninjo): canal aparte para leads supercalificados; alerta con link a la conversación; agente auto-pausa al disparar alerta; setter hu |
| N7 | pendiente | **Daily KPI report** (pendiente Lolo/Ninjo + Marco): Google Sheet auto-fill con métricas que replica el tablero de setters al cierre de cada día (inbounds, follow-ups, calendarios |
| N12 | ⚠️ | **Gate de notificación**: propuesta de Lolo (19:18 2026-05-13) de subir a `lead_score >= 5` adicional al criterio económico — pendiente verificación que respete el criterio definid |
| O8 | ⚠️ | **Freeze de ~1 semana en cambios al agente (2026-05-22 → ~2026-05-29)** — Fran y Julián manejan TODOS los cambios al prompt y keywords durante el período de prueba. Maca canaliza p |
| O9 | ⚠️ | **`sync-keywords` siempre debe recibir la lista COMPLETA de keywords** — la operación hace full diff. Pasar solo una keyword wipea todas las demás (incidente recuperado en vivo el |
| P5 | ⚠️ | **Post-v145: el agente ya NO manda link, lo manda la setter humana**. La métrica P4 sigue siendo válida pero el `sent_by` cambió de `agent` a operador humano. Hay que revisar pipel |
| Q4 | OPEN | **`descalificado_setter: boolean` (PROPUESTO 2026-05-18)** — propiedad custom que setters marcan al descartar a un lead manualmente; agente lee al inicio de cada conversación y hac |
| R4 | ⚠️ | **NUNCA derivar a líneas de asistencia clínica / suicida / emergencia** — si la lead menciona temas de salud mental, crisis o suicidio, el agente NO recomienda hotlines ni servicio |