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
POST /qa/gates— caller submits the output for review. Row inserted withstatus='pending'.- Approver sees the gate in the inbox / admin queue.
POST /qa/gates/:id/approve— approves. Optionally provideseditedOutputand anote.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 queuePOST /qa/gates— request a gate (usually from automations)GET /qa/gates/:id— detailPOST /qa/gates/:id/approve— approve (optionally witheditedOutput)POST /qa/gates/:id/rejectPOST /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 reviewsGET /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.