Jet

QA & Approval Gates

Jet's quality layer implements the Blueprint's three-gate review model plus a scored rubric. Every AI-generated output can be checked, reviewed, audited, and measured — so nothing ships that doesn't meet your standards.

The three gates

Gate What it covers Who reviews Data
Gate 1 — AI self-check Automated rubric scoring before delivery. Fails trigger a rerun. AI QA agent output_reviews with gate_level=1
Gate 2 — Human review Any client-facing output queues in the approvals inbox. Account manager / team member approval_gates
Gate 3 — Leadership audit Weekly 10% sample scored against the rubric. Team lead / ops manager output_reviews with gate_level=3

Approval gates (Gate 2)

When an automation or workflow produces client-facing output, it creates an approval_gates row instead of delivering immediately. The approver sees the preview, approves (optionally editing the text inline), and the approved draft delivers through the configured channels.

Lifecycle

  1. POST /qa/gates — caller submits the output for review. Row inserted with status='pending'.
  2. Approver sees the gate in the inbox / admin queue.
  3. POST /qa/gates/:id/approve — approves. Optionally provides editedOutput and a note.
  4. POST /qa/gates/:id/delivered — caller marks delivery complete (future: automated driver; see backlog).

Rejection is the same path: POST /qa/gates/:id/reject.

The rubric (all three gates)

Every reviewed output can be scored on five criteria, each on a 1-5 scale. Scores are stored in output_reviews and roll up into the metrics dashboard.

Criterion What you're assessing Flag threshold
Accuracy Are all data points, numbers, and facts correct? < 4
Relevance Is the output responsive to the actual need? < 3
Format compliance Does the output match the specified format / template? < 4
Actionability Are recommendations specific and immediately usable? < 3
Tone / voice Does the output match the tenant's institutional voice? < 4

Metrics dashboard

GET /qa/metrics returns the rolling 30-day scorecard:

  • Total reviews + average overall + averages per criterion
  • Flag count (reviews where any threshold tripped)
  • Pending approval gate count
  • Approval-without-edit rate — the Blueprint's primary AI-quality KPI

API reference

Approval gates

  • GET /qa/gates?status=pending&mine=true — the approver's queue
  • POST /qa/gates — request a gate (usually from automations)
  • GET /qa/gates/:id — detail
  • POST /qa/gates/:id/approve — approve (optionally with editedOutput)
  • POST /qa/gates/:id/reject
  • POST /qa/gates/:id/delivered — mark delivered

Scored reviews

  • POST /qa/reviews — submit a scored review (any gate level)
  • GET /qa/reviews?resourceType=&resourceId=&gateLevel= — query reviews
  • GET /qa/metrics — 30-day scorecard

When to use which gate

Gate 1 — for high-volume automated flows where you want a self-check before delivery (morning performance pulse, rank-movement alerts).

Gate 2 — for anything client-facing (client reports, proposals, email drafts, QBR decks). Non-negotiable for content that represents the tenant's brand.

Gate 3 — weekly sampling by a team lead. Ten percent of outputs is plenty; the aggregated scorecard tells you whether skills are drifting.

Any Gate 2 rejection or Gate 3 score below the flag threshold is a signal, not a crisis. The Escalation Protocol (Level 1 — skill review, Level 2 — context audit, Level 3 — architecture review, Level 4 — client escalation) tells you how to respond.

Next steps

  • Workflows — where gated outputs usually originate
  • Packs — skills that publish their own rubric criteria