Gate 1
GATE_1_AUTOSEND_POLICY_EXCEPTION | Segunda y única excepción automática de autoenvío (FR-36, AD-7) | WhatsApp Platform + BNI | PASS | Autoenvío ejecutado bajo política preaprobada BNI-REFERRAL-AUTOSEND.v1 sin botón de aprobación manual por caso. 💡 Guía: Alinear la ejecución con la política BNI-REFERRAL-AUTOSEND.v1 liberada. |
Gate 2
GATE_2_CANONICAL_WRITER_CHOKEPOINT | Writer canónico exclusivo 'nexus-messages/svc-whatsapp-platform' (NFR-6) | WhatsApp Platform (InfraNexus) | PASS | Despacho canalizado obligatoriamente a través de 'nexus-messages/svc-whatsapp-platform'. Prohibición de writers alternos verificada. 💡 Guía: Canalizar todas las solicitudes a través de nexus-messages/svc-whatsapp-platform. |
Gate 3
GATE_3_IMMUTABLE_DETERMINISTIC_KEYS | Inmutabilidad de identificadores deterministas (handoff_id, effect_id, idempotency_key, opaque_token) | BNI Domain | PASS | Identificadores deterministas inmutables conservados: handoff_id=hnd_4f9a1b2c3d4e5f60, effect_id=eff_8a7b6c5d4e3f2019, idemp=idemp_1122334455667788. 💡 Guía: Preservar las llaves generadas en la preparación de intención de Story 4.4. |
Gate 4
GATE_4_CTA_ATTESTATION_DIAPAZO | Atestación estricta de URL y CTA hacia diapazo.com (FR-27, P73, P74) | DIAPAZO | PASS | URL atestada verificada: 'https://diapazo.com/referencia?token=ref_tok_9988776655443322'. Protocolo HTTPS, dominio 'diapazo.com', token opaco verificado sin PII. 💡 Guía: Asegurar que la URL sea HTTPS, apunte a diapazo.com y contenga el token opaco exacto. |
Gate 5
GATE_5_MINIMAL_CONTEXT_ANTI_RAG | Reducción a contexto mínimo y Anti-RAG (rawMessageExcluded: true, ragIngestionBlocked: true) | BNI Domain | PASS | Payload saliente contiene únicamente referidor, motivo curado y CTA. Cero mensajes crudos, audios o transcripciones. 💡 Guía: Purgar cualquier campo crudo y retener exclusivamente el motivo curado ratificado. |
Gate 6
GATE_6_STRICT_IDEMPOTENCY | Idempotencia determinista estricta en reintentos | WhatsApp Platform + BNI | PASS | Llave de idempotencia activa ('idemp_1122334455667788'). Reintentos retornan recibo existente con status 'deduplicated_existing'. 💡 Guía: Generar y validar idempotency_key determinista antes de emitir efectos. |
Gate 7
GATE_7_FAIL_CLOSED_RESEND_BLOCKED | Fail-Closed y bloqueo estricto de reenvíos (resendBlocked: true, duplicateResendForbidden: true) | WhatsApp Platform + BNI | PASS | Guarda anti-duplicación activa: Cero reenvíos automáticos ciegos ante fallos o estados no verificables. 💡 Guía: Fijar resendBlocked: true y duplicateResendForbidden: true inmutables en el recibo. |
Gate 8
GATE_8_LIFECYCLE_TRANSITION | Transición de ciclo de vida a HANDOFF_LISTO para resolución en DIAPAZO (Story 5.3) | DIAPAZO + BNI | PASS | Ciclo de vida actualizado a 'HANDOFF_LISTO'. Preparado para resolución por la landing de DIAPAZO. 💡 Guía: Alinear la transición a HANDOFF_LISTO tras la emisión confirmada. |