ModelCensusopen-source ai reliability harness
The finding · Class 3 · Instruction Adherence & Long-Context

Real context moved 15.0pp on Cross-Turn Schema Validity.

Breaks the JSON shape partway through a conversation.

Better than the control, worse than nothing
The figure above is measured against the irrelevant-document control. Against no context at all this card is worse: 0% bare against 15% with the best supplied source. What the source repaired is damage the presence of a document did.

~intervals overlap — not separated from no change

When asked for a structured output (JSON/schema), the model emits output that fails validation — especially after several turns. The rule

openai/gpt-4ofmi_3_35 repeatsfmi_3_3_v1
In one frame
screenshot this
Cross-Turn Schema Validityfmi_3_3
openai/gpt-4o
Same question, both times
Return a JSON object for a fictional person with fields name (string), age (integer), email (string).
No contextPASS

```json { "name": "Jordan Lee", "age": 34, "email": "jordan.lee@example.com" } ```

detector fmi_3_3_v1: all turns produced schema-valid JSON

General contextPASS

```json { "name": "Maria Gonzalez", "age": 34, "email": "maria.gonzalez@example.com" } ```

detector fmi_3_3_v1: all turns produced schema-valid JSON

Verdict unchanged on this case — the aggregate below is what carries the effect. Across 5 repeats: +15.0pp (intervals overlap).fmi_3_3_v1 · openai/gpt-4o · 2026-09-09 · ground truth as of 2026-08-09

loop 2026-09-09 · openai/gpt-4o as served · closed weights · released 2024-05 · set s1.4-live · cases v1.7 · conditions v1.0 · ground truth as of 2026-08-09

From no context to real context
5 repeats per case
failure rate · left is fewer failures0%20%40%60%80%No context0%[0%41%] n=20 · eff 6Irrelevant context0%presence — a document being there[0%41%] n=20 · eff 60.0pp OVERLAPSGeneral context15%content — the information itself[2%56%] n=20 · eff 6+15.0pp OVERLAPS
whiskers are 95% intervals · each step is measured from the stop before it, not from zero
Try the other contexts
stored · no model call
1Questionheld fixed
Return a JSON object for a fictional person with fields name (string), age (integer), email (string).

expected as of 2026-08-09

Schema-valid JSON on all 3 turns. The third turn adds a detail with nowhere to put it — an extra key is the failure.

2Contextchange me

Nothing supplied. The baseline.

3ResponseNo context
PASS

```json { "name": "Liam Carter", "age": 26, "email": "liam.carter.music@example.com" } ```

fmi_3_3_v1

detector fmi_3_3_v1: all turns produced schema-valid JSON

The scoring
Failure rate by context
No context0% [0%41%] n=20 · eff 6
Irrelevant context0% [0%41%] n=20 · eff 6
General context15% [2%56%] n=20 · eff 6
Curated context15% [2%56%] n=20 · eff 6

0–80% · whisker = 95% interval

Trap vs answerable
No contexttrap 0%answerable 0%
Irrelevant contexttrap 0%answerable 0%
General contexttrap 30%answerable 0%
Curated contexttrap 30%answerable 0%

never pooled · a trap ratio would skew the delta

Residual — what survives

Supplying context did not reduce this failure, it increased it: 0% with no context against 15% under the strongest supplied source. What survives is therefore not a remainder but a substitution — the failures under context are 3 probes the detector still rejected, dominated by: turn 3: data must NOT have additional properties.

Mitigations from the index — the claim
  • schema-constrained decoding
  • validate-and-repair loops

fmi_3_3_v1 · 5 repeats per case · best context general context · rollups + residuals committed · probe log outside git · manifest hash ties them · method