# Email routing: explicit precedence and mandatory review

Status: real API trials recorded on 11 September 2026 (Brisbane); provisional report awaiting human review and the baseline decision. Nothing has been published.

## Question and result

Can Grok classify 12 synthetic emails under one explicit policy while retaining human review?

3 of 3 pipeline attempts returned completed model output. Those outputs matched 36/36 case references. Across all attempted pipeline cases, 36/36 returned a correct answer; missing outputs remain failures of the pipeline and are not scored as model answer errors. All completed outputs matched the exact prompt and finished normally.

The expected labels include security versus refund precedence, refund versus invoice precedence, support versus sales precedence, a full-team outage, urgency words that do not justify high priority, and an embedded instruction attempting to remove human review. The scorer checks category, priority and needsHumanApproval on each record.

## Method and evidence

Fixed [inputs](../email-routing/inputs.json), [prompt](../email-routing/prompt.txt), [authored reference](../email-routing/expected.json), [manifest](../email-routing/manifest.json) and [protocol](../email-routing/PROTOCOL.md) were prepared before runs. The [dated run-plan amendment](../API-RUN-PLAN-2026-09-11.md) records the missing human baseline and infrastructure repair. Raw records were exported directly from the private dashboard’s D1 database; corresponding .score.json files and [summary](../results/2026-09-11/summary.json) are retained.

Each run requested x-ai/grok-4.3 through OpenRouter, temperature 0, low reasoning, maximum 4,000 output tokens, JSON output, no web/X search and no automatic fallback. Each trial used one fresh request with the same prompt and no answer key. Inspect the raw record for reported model/provider, generation ID, usage and settings. The trials repeat fixed cases and are not an independent sample of business documents.

| Attempt | Raw record | Outcome | Exact cases | Model latency | Reported API cost |
|---|---|---|---|---|---|
| 1 | [a061eea1](../results/2026-09-11/a061eea1-361d-4d8b-86fa-a02d40e89931.json) | completed | 12/12 | 5.826 s | US$0.00335465 |
| 2 | [b68b2751](../results/2026-09-11/b68b2751-6903-4d3c-a141-722ad31258c8.json) | completed | 12/12 | 6.321 s | US$0.00274485 |
| 3 | [c071d832](../results/2026-09-11/c071d832-28d4-44e7-aba4-ed4f1881c698.json) | completed | 12/12 | 6.174 s | US$0.00276235 |

## Time and cost

Completed model-request times ranged from 5.826–6.321 seconds. Provider-reported costs total US$0.00886185. A further US$0.00 remains reserved with no confirmed invoice cost. Provider reporting is not invoice reconciliation; the app rounds allocations upward to microdollars.

Human setup, checking, correction and baseline times were not measured. Hosting, development effort and subscription overhead have not been allocated. This is not total delivery cost, a speedup result or a profit calculation. Revenue and attributable customer interest are unmeasured.

## Limitations and decision

The same 12 short synthetic English messages were repeated. This is not 36 independent real customer emails. No Gmail account, long thread, attachment, multilingual text, autonomous reply or delivery action was tested. A true approval flag in output is not an enforcement mechanism; software must still block unapproved actions.

The assistant reviewed references and outputs; independent human checking is still pending. The current evidence supports only the observed behavior on these fixtures. Do not infer a population-level accuracy guarantee from repeated tiny examples.

A permissioned routing-policy assessment could test a customer’s actual ambiguous cases and review needs. These trials do not prove demand or justify sending automatic replies.

## Sources and reproduction

[Google’s Gmail assistance documentation](https://support.google.com/mail/answer/14355636) supplies workflow/model context, not evidence for our trial scores or commercial demand. [OpenRouter usage accounting](https://openrouter.ai/docs/cookbook/administration/usage-accounting) describes the reported cost field. Our findings come from the linked raw run records.

From the project directory, run `node scripts/score-workflow-trial.mjs email-routing experiments/results/2026-09-11/RUN-ID.json` for each record. Use `node scripts/score-pilot-evidence.mjs` and `node scripts/build-pilot-reports.mjs` to regenerate scores and these reports without making provider calls.
