| Métrica | this 7d | prior 7d | Δ |
|---|---|---|---|
| Activas | 34 | 72 | -52.8% |
| Nuevas | 4 | 16 | -75.0% |
| Link sent | 0 | 0 | — |
| Calls booked | 1 | 1 | +0.0% |
| Booked/Link % | — | — | — |
| Booked/Activas % | 2.9% | 1.4% | +1.6pp |
| Booked/Nuevas % | 25.0% | 6.2% | +18.8pp |
| Revenue variable | $2.56 | $6.48 | -60.5% |
| Período | Activas | Nuevas | Link sent | Calls booked | Booked/Link | Booked/Activas | Booked/Nuevas |
|---|---|---|---|---|---|---|---|
| Semana actual (7d) | 34 | 4 | 0 | 1 | — | 2.9% | 25.0% |
| Semana anterior (7d) | 72 | 16 | 0 | 1 | — | 1.4% | 6.2% |
| Día | Activas | Nuevas | Link sent | Calls booked | Booked/Link | Booked/Activas | Booked/Nuevas |
|---|---|---|---|---|---|---|---|
| 06-01 | 3 | 0 | 0 | 0 | — | 0.0% | — |
| 05-31 | 5 | 0 | 0 | 0 | — | 0.0% | — |
| 05-30 | 3 | 1 | 0 | 0 | — | 0.0% | 0.0% |
| 05-29 | 3 | 0 | 0 | 0 | — | 0.0% | — |
| 05-28 | 5 | 1 | 0 | 1 | — | 20.0% | 100.0% |
| 05-27 | 6 | 1 | 0 | 0 | — | 0.0% | 0.0% |
| 05-26 | 9 | 1 | 0 | 0 | — | 0.0% | 0.0% |
| 05-25 | 4 | 0 | 0 | 0 | — | 0.0% | — |
| 05-24 | 5 | 0 | 0 | 0 | — | 0.0% | — |
| 05-23 | 4 | 0 | 0 | 0 | — | 0.0% | — |
| 05-22 | 15 | 10 | 0 | 0 | — | 0.0% | 0.0% |
| 05-21 | 8 | 1 | 0 | 0 | — | 0.0% | 0.0% |
| 05-20 | 18 | 1 | 0 | 1 | — | 5.6% | 100.0% |
| 05-19 | 18 | 4 | 0 | 0 | — | 0.0% | 0.0% |
| BP | Sev | Estado | Detalle |
|---|---|---|---|
| BP-1 | HIGH | PASS | Template compliance system.md contains all 7 required sections for principles template: Identity (opening paragraphs), Voice (message patterns + philosophy), Flow (5 phases: Genuine Open, Connect First, Read the Room, Natural Invite, Let It Breathe), Calibration (5 energy states with prescribed actions), Principles (5 stated principles), Tools (4 tools with triggers), and NO_RESPONSE (mandatory section with literal token). All sections match template intent. |
| BP-2 | MEDIUM | PASS | Example coverage and cap (7 base + conditional, ≤20 total) examples.md contains 19 examples covering all 7 base scenarios (happy path: Ex 1,2,4,7,11,12,14,15; resource/link: Ex 1,2,3,4,6,7,8,9,11,12,13,14,15; objection: Ex 3; disqualification: Ex 5; emotional/sensitive: Ex 10,16; re-engagement: Ex 6; off-topic: Ex 18,19) plus two conditional scenarios (keyword trigger: Ex 1,2,4 for BLUEPRINT/EVOLVE/SCALE; price objection: Ex 3). Total count is 19, within the ≤20 cap. |
| BP-3 | HIGH | PASS | Examples align with the flow Every example in examples.md follows the 5-phase flow from system.md (Genuine Open → Connect First → Read the Room → Natural Invite → Let It Breathe/Send Link) in order, and each reaches a terminal state: booking link sent, warm close with NO_RESPONSE, or conversation ends naturally. No example skips required steps or ends mid-flow. |
| BP-4 | CRITICAL | PASS | No internal contradictions in system.md system.md contains no self-contradictions. The 5% emoji-only rule (stated in Voice section: 'About 5% of the time, instead of a text reply, just react with an emoji') is an explicit exception with its own precondition (low-frequency, non-chasing context), not a conflicting output under the same precondition as the general voice rules. Principle 0 (never chase) and the emoji exception coexist because the exception is framed as a *response* to a lead message, not an unprompted follow-up after silence. |
| BP-5 | CRITICAL | PASS | No cross-file contradictions All SDK files agree on behavior and data. Keywords in keywords.json (BLUEPRINT, EVOLVE, SCALE, CBM, BROTHERHOOD) declare literal_response openers that align with examples.md (Ex 1, 2, 4 show keyword triggers followed by normal flow). resources.json URLs match those sent in examples.md. program.json pricing rule ('Do not quote specific prices before a call') is honored in examples.md (Ex 3 redirects price question to the call). No file contradicts another under the same precondition. |
| BP-6 | MEDIUM | PASS | Voice consistency across examples All 19 examples in examples.md use the same persona, vocabulary, and tone: casual lowercase, short messages (1-2 lines), direct questions (WDYM, what does that look like), peer energy, no corporate language, consistent use of reflective questioning (NEPQ style). No jarring tonal shifts; a reader would believe all examples are the same agent. |
| BP-7 | CRITICAL | PASS | Unguarded actions (PAT-004) All risky actions in system.md's flow are guarded. Phase 4 (Natural Invite) states 'once they've had roughly 3 rapport exchanges AND you've got 3 qualifying data points, look for the first natural opening' — explicit guard. Phase 5 (Let It Breathe or Send the Link) states 'If they're warm, get a yes and send the link' — conditional guard. Calibration section provides energy-state guards (Engaged → advance; Lukewarm → one more probe; Disengaged → end warm). Multiple examples (1, 2, 4, 7, 8, 9, 11, 12, 14, 15) demonstrate the guard firing correctly before links are sent. Generic phrasing ('once they've had roughly 3 exchanges') is resolved by worked examples showing the pattern in action. |
| BP-8 | HIGH | PASS | No stale version language in examples All examples in examples.md use current flow language and CTAs from system.md. Closing language ('want me to send the link?', 'want to jump on a call?', 'want to get on a Connection Call?') matches the current flow definition. No examples reference outdated flow steps or deprecated CTAs. |
| BP-9 | MEDIUM | PASS | No duplicated instructions Each behavioral instruction has a single canonical home. The 'never chase' rule appears once in Principle 0. The NEPQ questioning style is described once in Voice section and demonstrated across examples (not restated in multiple places). The 'read the zone' guidance appears once in Principle 5 and is reinforced by Example 10 (emotional lead handling), not duplicated. No instruction is stated in two locations. |
| BP-10 | MEDIUM | PASS | Rule-vs-principle balance Behavioral guidance (tone, pacing, questioning style, warmth) is expressed via Voice section + 19 worked examples, not as hard rules. Hard rules are reserved for factual constraints (pricing: 'Do not quote specific prices before a call'; disqualifiers: 'Under 18'; tool usage: 'Never modify booking links'). The 5 Principles address genuine judgment calls (never chase, assume attraction, value before pressure, low-pressure CTA, read the zone) that examples alone might not fully teach. Balance is appropriate. |
| Check | Sec | Estado | Notas |
|---|---|---|---|
| 6a | 1.8 | PASS | NO_RESPONSE present (limits not checked, --no-db) |
| 6c | 3.x | WARN | 164 lines |
| 6d | 1.2 | PASS | 19 examples |
| 6e | 1.3 | N/A | no Principles section |
| 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 | 8 em-dashes across 1 file(s); first: system.md:81 |
| 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 5 keyword(s) consistent across keywords.json + system.md (no DB) |
| 6s | Hygiene | PASS | no expired dates in live SDK |
| 6t | Coverage | N/A | no Principles or Flujo section found in system.md |
| Fecha | Tema | Tags |
|---|---|---|
| 2026-06-01 | utm params breaking calendly booking flow | bug, platform-issue, calendly-links, conversions, escalation |
| 2026-06-01 | weekly activation report week 3 low volume | reporting, activation, volume, cta, content |
| 2026-06-01 | weekly activation report low volume cta needed | reporting, activation, content-strategy, volume |
| 2026-05-29 | tone and conversational style feedback | agent-behavior, prompt-tuning, feedback |
| 2026-05-29 | agent tone too robotic and formal | prompt-fix, tone, conversational |
| 2026-05-28 | utm params on calendly links platform behavior | bug, platform-limitation, calendly, tracking |
| 2026-05-28 | agent resent link after lead already rescheduled | prompt-fix, conversational-flow, no-response-rule |
| 2026-05-28 | implement response delay to match lead cadence | agent-config, human-feel, timing |
| 2026-05-28 | no direct bookings through agent in crm | metric, concern, booking |
| 2026-05-27 | jmbpadelacademy conversation pause pending | conversation-pause, contact-resolution |
| 2026-05-27 | utm params appended to calendly links platform issue | critical-issue, conversion-concern, crm-tracking |
| 2026-05-27 | pause jmbpadelacademy and youcallmefrenchie conversations | conversation-management, agent-control |
| 2026-05-26 | reply structure variation rule deployed | prompt-deployment, conversation-style, bot-detection |
| 2026-05-26 | info extraction deflection rule deployed | prompt-deployment, calibration, deflection-rule |
| 2026-05-26 | link share and daily call target | prompt-deployment, link-sharing, booking-target |
| 2026-05-26 | conversational pattern repetition fix | prompt-tuning, conversational-style, nlp-patterns |
| 2026-05-25 | weekly performance report may 18 24 | metrics, reporting, automated |
| 2026-05-22 | model architecture clarification | infrastructure, clarification |
| 2026-05-21 | health topic buying signal example 16 deployed | agent-config, examples, deployment, calibration |
| 2026-05-21 | conversation pacing rule 3 3 structure | agent-config, conversation-pacing, proposal |
| ID | Estado | Cambio pedido |
|---|---|---|
| D12 | pendiente | **Acknowledge before asking.** Antes de cualquier pregunta, reflejar/validar lo que el lead acaba de compartir. Aplica especialmente en Phase 2 y en E4 (lead volunteers contexto). |
| X2 | pendiente | **Recovery msg para Carl pendiente** — gateway send-message endpoint timeout impidió enviar recovery. Lead colgado sin respuesta. |
| X5 | pendiente | **Pre-recorded audios** — Benja (eng) ofreció buildear audios reales de Dave como keyword-trigger o follow-up; pendiente decisión de operadores. |
| Y2 | pendiente | ⚠️ **PARCIAL** — Lead rainbennett blockeó por dos causas: (1) **em-dashes en outbound** post-fix prompt-only (2026-05-17 23:06 + 23:26 UTC), (2) cadena de 4 movidas salesy tras sha |
| Señal | Valor | Evidencia (cita del cliente) |
|---|---|---|
| Enojado con la plataforma | sí | “no calls have been booked directly through Ninjo in the CRM yet, expressing concern about the bugs (UTM params, wrong links, incorrect sends) impacting conversion” |
| Es queja | sí | “Zero direct bookings through Ninjo agent in CRM to date — David attributes this partly to agent bugs (UTM, link resends, timing)” |
| Queja constructiva (accionable) | sí | “David requested the agent to pause at least 2 minutes between responses and match each lead's response cadence globally” |
| Señal | Cita textual | Fecha |
|---|---|---|
| Preocupación crítica por cero bookings atribuidos al agente | “no calls have been booked directly through Ninjo in the CRM yet” | 2026-05-28 |
| Bug de UTM rompiendo el flujo de booking — David tuvo que deshacer envío manualmente | “David discovered the agent sent a Calendly link with auto-appended UTM params (?utm_term=...) to iamchriskille, which he had to unsend” | 2026-05-28 |
| Solicitud de disable de UTM injection — fricción activa con feature de plataforma | “David requested disabling UTM injection” | 2026-05-28 |
| Queja de tono del agente — robótico y contraproducente en outreach iniciado por el equipo | “agent sounds robotic/overly formal instead of casual and conversational, and asks 'what made you reach out?' despite Evolve initiating contact” | 2026-05-29 |
| Solicitud constructiva de delay de respuesta — cliente activamente co-diseñando la solución | “David requested the agent to pause at least 2 minutes between responses and match each lead's response cadence globally” | 2026-05-28 |
| Control activo de conversaciones — señal de engagement operativo | “David requested pausing two conversations: jmbpadelacademy and youcallmefrenchie” | 2026-05-27 |
Un creador que pide cambios concretos está enganchado (mejor señal que el silencio).
| ID | Estado | Cambio pedido |
|---|---|---|
| D12 | pendiente | **Acknowledge before asking.** Antes de cualquier pregunta, reflejar/validar lo que el lead acaba de compartir. Aplica especialmente en Phase 2 y en E4 (lead volunteers contexto). |
| X2 | pendiente | **Recovery msg para Carl pendiente** — gateway send-message endpoint timeout impidió enviar recovery. Lead colgado sin respuesta. |
| X5 | pendiente | **Pre-recorded audios** — Benja (eng) ofreció buildear audios reales de Dave como keyword-trigger o follow-up; pendiente decisión de operadores. |
| Y2 | pendiente | ⚠️ **PARCIAL** — Lead rainbennett blockeó por dos causas: (1) **em-dashes en outbound** post-fix prompt-only (2026-05-17 23:06 + 23:26 UTC), (2) cadena de 4 movidas salesy tras sha |