# Multi-provider route-admission evidence run

Run date: 27 August 2026  
Fixture commit: `9585adc`  
Environment: macOS 26.6.2, arm64, Deno 2.8.0, TypeScript 6.0.3

## What ran

The dependency-free fixture evaluated one synthetic support task against eleven
synthetic deployments. It made no network or model call and used no production tenant,
credential, price, latency, or quality data.

```bash
deno check route_admission.ts fixture.ts run_fixture.ts render_manifest.ts \
  route_admission_test.ts evidence_artifact_test.ts
deno run --allow-write run_fixture.ts route-admission-manifest-2026-08-27.json
deno run --allow-read --allow-write render_manifest.ts \
  route-admission-manifest-2026-08-27.json \
  route-admission-decision-2026-08-27.svg
deno test --allow-read route_admission_test.ts evidence_artifact_test.ts
```

Result: **19 passed, 0 failed**. Sixteen core policy tests require no Deno
permissions. Three artifact-integrity tests receive read access only.

## Decision result

| Measurement | Fixture result |
| --- | ---: |
| Deployments evaluated | 11 |
| Eligible deployments | 2 |
| Rejected deployments | 9 |
| Selected deployment | `support-eu-primary` |
| Selected priority | 10 |
| Second eligible priority | 20 |

The task required tools, JSON schema, streaming, an allowed EU region, tenant access,
the `support-reply-eval-v7` gate, room for 18,000 supplied input tokens, at least 4,000
milliseconds of remaining deadline, and a supplied estimated request cost no higher
than $0.020.

The selected deployment passed every gate. The lower-cost second deployment remained
eligible but ranked second because the declared policy uses priority before stable ID;
the fixture does not silently optimize for the cheapest candidate.

## Rejection and determinism checks

One fixture deployment was rejected for each of these reasons:

- disabled deployment;
- unhealthy deployment;
- missing required capability;
- tenant not allowed;
- region not allowed;
- required evaluation not passed;
- input larger than the deployment context;
- insufficient remaining deadline;
- estimated request cost above the task ceiling.

Equal-priority candidates were ordered by stable deployment ID even when registry
input order was reversed. The evaluator did not mutate the task policy or deployment
registry. It retained policy and registry versions, returned no selection when all
routes failed, rejected duplicate deployment IDs, and produced byte-identical JSON on
repeated evaluations.

The saved JSON byte-matches a fresh fixture run. The saved SVG byte-matches a fresh
render from that JSON. Credential, email, and payment-card pattern checks passed.

Artifact SHA-256 values:

```text
745f0223d8176e4d047026ad4e77b089e6510ca905d79fae7db860ea3f776497  route-admission-manifest-2026-08-27.json
da8e37fbd3bd62dace058713c81cda4b63626f71c58549de0e43d245fc07287c  route-admission-decision-2026-08-27.svg
```

## Visual check

The 1280×720 SVG was rendered locally at native dimensions and inspected. The task
policy, eight admission gates, 11/2/9 decision totals, selected and second eligible
deployments, all nine rejection reasons, labels, arrows, and FutureCraft attribution
were visible without clipping. The SVG includes an accessible `title`, `desc`, and
image role.

## Evidence limits

This run proves only the fixture's static validation, admission, ordering,
serialization, and artifact-integrity behavior. The providers and cost values are
synthetic. It does not prove provider quality, live pricing, production latency,
streaming recovery, retry safety, or the suitability of these thresholds for another
product. Runtime fallback behavior remains a separate test and article boundary.

