| Métrica | this 7d | prior 7d | Δ |
|---|---|---|---|
| Activas | 32 | 26 | +23.1% |
| Nuevas | 13 | 10 | +30.0% |
| Link sent | 13 | 0 | — |
| Calls booked | 0 | 0 | — |
| Booked/Link % | 0.0% | — | — |
| Booked/Activas % | 0.0% | 0.0% | +0.0pp |
| Booked/Nuevas % | 0.0% | 0.0% | +0.0pp |
| Revenue variable | $0.00 | $0.00 | — |
| Período | Activas | Nuevas | Link sent | Calls booked | Booked/Link | Booked/Activas | Booked/Nuevas |
|---|---|---|---|---|---|---|---|
| Semana actual (7d) | 32 | 13 | 13 | 0 | 0.0% | 0.0% | 0.0% |
| Semana anterior (7d) | 26 | 10 | 0 | 0 | — | 0.0% | 0.0% |
| Día | Activas | Nuevas | Link sent | Calls booked | Booked/Link | Booked/Activas | Booked/Nuevas |
|---|---|---|---|---|---|---|---|
| 07-30 | 7 | 3 | 0 | 0 | — | 0.0% | 0.0% |
| 07-29 | 3 | 2 | 0 | 0 | — | 0.0% | 0.0% |
| 07-28 | 9 | 1 | 11 | 0 | 0.0% | 0.0% | 0.0% |
| 07-27 | 5 | 1 | 1 | 0 | 0.0% | 0.0% | 0.0% |
| 07-26 | 3 | 2 | 1 | 0 | 0.0% | 0.0% | 0.0% |
| 07-25 | 1 | 1 | 0 | 0 | — | 0.0% | 0.0% |
| 07-24 | 4 | 3 | 0 | 0 | — | 0.0% | 0.0% |
| 07-23 | 10 | 3 | 0 | 0 | — | 0.0% | 0.0% |
| 07-22 | 2 | 2 | 0 | 0 | — | 0.0% | 0.0% |
| 07-21 | 2 | 1 | 0 | 0 | — | 0.0% | 0.0% |
| 07-20 | 3 | 1 | 0 | 0 | — | 0.0% | 0.0% |
| 07-19 | 1 | 0 | 0 | 0 | — | 0.0% | — |
| 07-18 | 3 | 1 | 0 | 0 | — | 0.0% | 0.0% |
| 07-17 | 5 | 2 | 0 | 0 | — | 0.0% | 0.0% |
| BP | Sev | Estado | Detalle |
|---|---|---|---|
| BP-1 | HIGH | PASS | Template compliance Agent declares 'scripted' template. The provided template spec lists 14 sections (identity_and_context through pre_send_checklist). system.md contains all required structural elements: Identidad (identity), Voz (voice/style), Flujo (flow), Calibracion (calibration), Principios (principles), Herramientas (tools), and NO_RESPONSE. The agent's actual behavior matches the scripted template's intent: explicit, separated sections with priority hierarchy. |
| BP-2 | MEDIUM | PASS | Example coverage and cap (7 base scenarios + conditional, ≤20 total) examples.md contains 16 examples covering all 7 base scenarios (happy path, resource delivery via keyword, objection handling, disqualification, emotional/sensitive lead, re-engagement, off-topic). Keyword-trigger conditional is satisfied (Example 16 shows 'escala' keyword flow). No price-objection conditional required since agent redirects price questions to call. Total count is 16, within the ≤20 cap. |
| BP-3 | HIGH | PASS | Examples align with the flow All 16 examples follow the flow defined in system.md: Apertura → Verificacion de avatar (if applicable) → Calificar (ticket + facturacion) → optional Diagnostico → Ofrecer la llamada → Cierre or NO_RESPONSE. Each example reaches a terminal state (link sent, descalified with NO_RESPONSE, or agendado with NO_RESPONSE). No examples skip required steps or end mid-flow. |
| BP-4 | CRITICAL | PASS | No internal contradictions in system.md system.md contains no self-contradictions. The 'zona gris' rule (Paso 3, facturacion 5k–8k) explicitly asks about investment disposition before offering the call; this is a documented exception to the standard flow, not a contradiction. The resource-retention rule (Flujo, keyword section) is clearly stated: hold on first request, deliver on second. All behavioral parameters are consistent under their respective preconditions. |
| BP-5 | CRITICAL | PASS | No cross-file contradictions All SDK files align. keywords.json declares 'qualify-first-then-hold-resource' flow for escala/sistema/tablero; system.md Flujo section confirms this behavior; Example 16 demonstrates it working (lead says 'escala', agent engages, califies, then delivers on second request). program.json pricing rules ('Nunca dar precio en el chat', 'La llamada es gratuita') match system.md Principios #1 and objections.md scripts. case_studies.json results are consistent with program.json proof metrics. No file contradicts another on facts, parameters, or behavior. |
| BP-6 | MEDIUM | PASS | Voice consistency across examples All 16 examples use consistent rioplatense voice, direct tone, and equal-to-equal register. Vocabulary, phrasing ('buen ticket', 'eso lo charlamos en la llamada', 'reservate 1 hora'), and format rules (no accents on vowels, no inverted marks, no em dashes, 1–2 sentences max) are uniform across all examples. A reader would recognize the same agent in every conversation. |
| BP-7 | CRITICAL | PASS | Unguarded actions (PAT-004) All risky actions carry guards. Paso 5 (offer call) is guarded: 'cuando el lead confirma que quiere agendar (un "dale", "si", "como hago")'. Resource delivery (keyword flow) is guarded: 'recien cuando el lead lo pide por SEGUNDA vez (por su cuenta), entregalo'. Link sending is guarded: 'Recien cuando el lead confirma que quiere agendar...mandale el link'. Multiple examples (1, 4, 6, 12, 13, 14, 16) demonstrate these guards firing correctly on affirmative signals. Guards are specific enough and working examples resolve any residual ambiguity. |
| BP-8 | HIGH | PASS | No stale version language in examples All examples use current flow language from system.md. Closing CTA ('genial! en la llamada revisamos tu negocio a fondo...te vamos a estar escribiendo por whatsapp asi seguimos por ahi') matches Paso 6 definition. Resource delivery phrasing ('ahi te lo paso') and link format (plain text, no markdown) align with Paso 5 instructions. No stale or outdated phrasing detected. |
| BP-9 | MEDIUM | PASS | No duplicated instructions Each behavioral instruction has a single canonical home. The 'never give price' rule appears once in Principios #1 and is reinforced (not duplicated) in objections.md scripts and program.json pricing rules—these are cross-references, not copies. The resource-retention rule is stated once in Flujo (keyword section) and referenced in keywords.json notes. The qualification gate (ticket + facturacion) is defined once in Paso 3 and demonstrated in examples, not restated elsewhere. No instruction is duplicated across locations. |
| BP-10 | MEDIUM | PASS | Rule-vs-principle balance Behavioral guidance (tone, flow, conversational style) is expressed via Voz section + 16 worked examples. Hard rules are reserved for factual constraints (price never in chat, minimum 8k facturacion, 1-hour reservation, no inverted marks). The balance is appropriate: principles + examples teach how to talk; rules enforce non-negotiable boundaries. |
| Check | Sec | Estado | Notas |
|---|---|---|---|
| 6a | 1.8 | FAIL | forbidden tokens found: ['PARAR'] |
| 6c | 3.x | PASS | 81 lines |
| 6d | 1.2 | PASS | 16 examples |
| 6e | 1.3 | PASS | 7 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 | 6 em-dashes across 3 file(s); first: system.md:77 |
| 6k | PAT-006 | PASS | no tool syntax leak |
| 6l | Resources | PASS | no placeholder URLs |
| 6m | Hygiene | PASS | no audit metadata in prompt files |
| 6n | PAT-008 | PASS | URL forms consistent across files |
| 6q | PAT-001 | PASS | no instruction duplication into examples.md, keywords.json, program.json, resources.json |
| 6r | Keyword-drift | PASS | all 3 keyword(s) consistent across keywords.json + system.md (no DB) |
| 6s | Hygiene | PASS | no expired dates in live SDK |
| 6t | Coverage | WARN | 6/7 principle(s) without example: #1 Nunca des precio en el chat., #3 Sos Jole, no un asistente., #4 No inventes nada., #5 Habla con criterio tecnico, de igual a igual., #6 No expongas tu logica interna.; 5/6 flow step(s) without example: #1 Apertura., #2 Verificacion de avatar (primer filtro, antes de todo lo demas)., #3 Calificar: ticket, despues facturacion., #5 Ofrecer la llamada., #6 Cierre. |
| Fecha | Tema | Tags |
|---|---|---|
| 2026-07-20 | weekly funnel report jul13 19 | reporting, funnel-metrics, performance |
| 2026-07-20 | warm lead manual outreach wopmarketing | lead-recovery, manual-outreach, warm-leads |
| 2026-07-20 | weekly funnel performance jul13 19 | reporting, funnel-metrics, performance |
| 2026-07-13 | manual outreach recovery 2 warm leads | action-item, lead-recovery, manual-outreach |
| 2026-07-13 | weekly funnel report jul 06 12 | reporting, funnel-metrics, conversion, follow-up-action |
| 2026-07-13 | weekly funnel report jul 06 12 volume drop | reporting, funnel-metrics, volume-analysis |
| 2026-07-09 | high value lead alert postgrest timeout cascade | bug, database, heartbeat, postgrest |
| 2026-07-08 | postgrest statement timeout recurring | infrastructure, database, high-value-lead-alert, bug |
| 2026-07-08 | high value leads manual review jul8 | lead-qualification, manual-intervention, score-4-leads |
| 2026-07-08 | high value lead alert postgrest timeout | system-error, database, alert-system |
| 2026-07-07 | high value lead intervention wopmarketing | lead-qualification, manual-intervention, high-value-lead |
| 2026-07-07 | high value lead alerts july 7 8 | lead-qualification, manual-review, notifications |
| 2026-07-06 | weekly funnel report escala keyword priority | funnel-metrics, keyword-performance, content-strategy |
| 2026-07-06 | weekly funnel report escala keyword performance | analytics, keyword-performance, content-strategy, follow-up |
| 2026-07-05 | high value lead alerts false positives | lead-quality, false-positives, alert-tuning |
| 2026-07-04 | high value lead bernie rubio manual review | lead-quality, manual-review, marketing-agency |
| 2026-07-04 | bernie rubio low intent lead review | lead-quality, manual-review, low-intent |
| 2026-07-03 | high value lead alert db timeout issue | infrastructure, database, alerts, bug |
| 2026-07-02 | false positive high value leads audit | lead-scoring, qualification, false-positive |
| 2026-07-02 | high value lead alert postgrest timeouts | infrastructure, bug, database |
| ID | Estado | Cambio pedido |
|---|---|---|
| X1b | pendiente | **Filtro por username AI/bot** (mitad restante): bloquear cuentas cuyo handle denota bot/AI. DIFERIDO — depende de confirmar que el evaluador externo recibe el username como input |
| X1c | pendiente | **Notificación Slack del límite spam/phishing**: el workflow CUSTOM_NOTIFICATION es MCP-only y `cortex-gateway` está caído. Pendiente: crear en Studio o cuando vuelva el MCP. |
| Señal | Valor | Evidencia (cita del cliente) |
|---|---|---|
| Enojado con la plataforma | no | — |
| Es queja | no | — |
| Queja constructiva (accionable) | no | — |
| Señal | Cita textual | Fecha |
|---|---|---|
| El cliente ejecuta decisiones operativas conjuntas con Ninjo de forma sostenida (campañas, prompts, follow-ups), señal de confianza activa en la plataforma | “None” | 2026-07-20 |
| El cliente tiene pendientes propios asignados (conectar GoHighLevel, pasar IDs de ads, conectar MCP), lo que indica compromiso y co-ownership del proceso, no desenganche | “None” | 2026-06-24 |
| El cliente pausa campañas por razones propias (edición de video) y las reanuda sin culpar a la plataforma; Ninjo interpreta correctamente que no es un problema de plataforma | “None” | 2026-06-24 |
Un creador que pide cambios concretos está enganchado (mejor señal que el silencio).
| ID | Estado | Cambio pedido |
|---|---|---|
| X1b | pendiente | **Filtro por username AI/bot** (mitad restante): bloquear cuentas cuyo handle denota bot/AI. DIFERIDO — depende de confirmar que el evaluador externo recibe el username como input |
| X1c | pendiente | **Notificación Slack del límite spam/phishing**: el workflow CUSTOM_NOTIFICATION es MCP-only y `cortex-gateway` está caído. Pendiente: crear en Studio o cuando vuelva el MCP. |