---
name: L5 Instance Dossier - mql-enrichment-service / mql-router
description: Downstream routing automation. Consumes enriched MQL records and assigns to SDR queues by territory and intent score. Production live; p99 latency above target is the only open polish item.
type: layer-artifact
layer: L5
populated_from: Q7, Q1, inheritance from L0-L4
Owner: RevOps-AI eng team; rotation member {{eng_member_2}}
---

# L5 Instance Dossier - mql-enrichment-service / mql-router

- **Last reviewed:** 2026-04-22
- **Review cadence:** quarterly + on every L4 kit version bump
- **Status:** active

## Maturity self-assessment

| Aspect | State | Evidence |
|--------|-------|----------|
| Purpose articulated | mature | Single-sentence purpose; downstream of mql-enrichment-service |
| Owner named and reachable | mature | RevOps-AI eng team; same oncall as enrichment service |
| Kit components consumed declared | mature | Three components below |
| L3 contract conformance verified | mature | Telemetry schema emitted; auth verified |
| Eval baseline established | partial | Routing-correctness eval is rule-based (not AI); LLM-judge eval covers only the tiebreak case where territory rules underdetermine the assignment |
| L6 refinement concerns named | partial | p99 latency above target; tracked in BACKLOG; resolution scheduled |
| Production deployment status | mature | Live in production since 2025-11-15 |

## Identity

- **Platform name:** `mql-router`
- **Purpose:** routes enriched MQLs from mql-enrichment-service to the right SDR queue based on intent score, territory, and SDR availability; emits assignment events to {{crm_name}}
- **Type:** `automation`
- **Production status:** `live` since 2025-11-15

## Ownership

- **Owner:** RevOps-AI eng team
- **Oncall rotation:** PagerDuty schedule `revops-ai` (shared with enrichment service)
- **Escalation:** RevOps-AI eng lead -> {{exec_vp_revops}}
- **Documentation owner:** RevOps-AI eng lead

## Kit components consumed

| Component | Path | Version pin | Mirror status |
|-----------|------|-------------|---------------|
| Prompt | kit/prompts/router-tiebreak.md | hash from sync-2026-04-12 | live |
| Eval harness | kit/eval-harness/ | sync-2026-04-12 | live (limited use; rule-based routing dominant) |
| Guardrail runtime | kit/guardrails/ | sync-2026-04-12 | live |
| Telemetry plumbing | kit/telemetry/ | sync-2026-04-12 | live |

The L3 contract from L3 applies; this platform is mostly deterministic (rule-based assignment from territory + intent thresholds). The LLM-judge tiebreak applies only when territory rules underdetermine.

## L3 contract conformance

- **Telemetry schema emitted:** complete; reproducibility quadruple plus required fields
- **Per-call cost p90:** $0.012 (mostly rule-based; LLM only for tiebreak; well under ceiling)
- **Auth model implemented:** yes; same tenant-scoped JWT validation
- **Eval baseline:** partial; covers only the LLM-judge tiebreak case; rule-based routing has its own correctness tests in `kit/router-tests/`

No findings against the L3 contract.

## L6 Per-instance refinement

- **Latency observed:** p50 95ms, p95 280ms, p99 1.8s (above target)
- **Latency target:** p99 under 1.0s
- **UX integration points:** {{crm_name}} assignment events; visible to SDRs as queue updates
- **Voice tuning notes:** N/A (no prose output)
- **Known sharp edges:**
  - p99 latency spikes when LLM-judge tiebreak fires; rare but noticeable (affects ~3% of MQLs)
  - Territory-rules edge case: when an SDR is OOO and territory has only one rep, the routing falls through to the next-territory tiebreak; sometimes results in cross-territory assignments. Tracked in BACKLOG with workaround in place.

The p99 latency item is the open polish concern. Resolution candidate: pre-warm tiebreak prompt with cached embeddings of recent assignments. Tracked in BACKLOG; closes-by 2026-06-01.

## Concurrent-actor notes

- **Expected concurrent operators:** 1-2 RevOps-AI engineers
- **Lock-on-write boundaries:** `kit/prompts/router-tiebreak.md` (during tiebreak prompt revision); routing rule definitions in {{crm_name}} are owned by RevOps Operations and require coordination with that team for changes
- **Session log location:** `sessions/` at instance root

## Recent session activity

- 2026-04-15 - Quarterly review noted p99 latency spike pattern; BACKLOG entry created
- 2026-04-08 - Initial deploy session captured; all three platforms deployed together

## Open ADRs and findings

- p99 latency target miss; closes-by 2026-06-01 (BACKLOG entry)
- Cross-territory assignment edge case; workaround in place; root-cause fix tracked in BACKLOG (lower priority)

## Inheritance and dependencies

This L5 inherits from: L0 strategy, L1 (N/A-explicit), L2 philosophy, L3 framework contract, L4 platform kit.

L7 cross-platform participation:

- Shared memory: reads enriched records from `revops.mql_facts`; writes assignment events
- Shared identity: validates tenant-scoped JWT
- Handoff protocol: receives enrichment envelope from mql-enrichment-service; emits assignment envelope to sdr-handoff-helper
- Consent flow: respects consent state via reading enrichment record's `consent_check_result`; no separate consent check
- Alerting fabric: emits routing-failure alerts (queue-stuck, edge-case-fallthrough)
- Monitoring base: dashboard panels in `revops-mql-pipeline-001`

## Cross-references inside this instance

- `OPERATING-MODEL.md`
- `policies/framework-contract.md` (L3)
- `kit/PLATFORM-KIT.md` (L4)
- `cross-platform/handoff-protocol.md` - the envelope mql-router consumes and produces
- `cross-platform/alerting-fabric.md`
- `runbooks/mql-router-incident.md`
