ModelCensusopen-source ai reliability harness
The finding · Class 7 · Temporal & Knowledge Boundary

Real context moved -2.5pp on Date-Arithmetic Error.

Gets date arithmetic wrong.

~intervals overlap — not separated from no change

Given an injected "current date," the model computes relative dates/intervals incorrectly. The rule

microsoft/phi-4fmi_7_35 repeatsfmi_7_3_v1
In one frame
screenshot this
Date-Arithmetic Errorfmi_7_3
microsoft/phi-4
Same question, both times
Today is 2026-03-10. What date is 30 days from today? Answer with the full date.
No contextPASS

To find the date that is 30 days from March 10, 2026, we need to add 30 days to this date. March has 31 days. Starting from March 10: - Days remaining in March after the 10th: 31 - 10 = 21 days Since we need a total of 30 days, we have already accounted for 21 days in March. Therefore, we need an additional: - 30 - 21 = 9 days in April Adding 9 days to April 1 gives us April 10. Thus, 30 days from March 10, 2026, is April 9, 2026. The full date is **April 9, 2026**.

detector fmi_7_3_v1: date arithmetic correct

General contextPASS

To find the date 30 days from March 10, 2026, we need to account for the number of days in March and then move into April. 1. **March 2026** has 31 days. 2. Starting from March 10, there are \(31 - 10 = 21\) days remaining in March. 3. We need a total of 30 days, so we need \(30 - 21 = 9\) more days in April. Therefore, 30 days from March 10, 2026, is April 9, 2026. The full date is **April 9, 2026**.

detector fmi_7_3_v1: date arithmetic correct

Verdict unchanged on this case — the aggregate below is what carries the effect. Across 5 repeats: -2.5pp (intervals overlap).fmi_7_3_v1 · microsoft/phi-4 · 2026-09-09 · ground truth as of 2026-08-09

loop 2026-09-09 · microsoft/phi-4 as served · open weights · released 2024-12 · 14B · 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%25%50%75%100%No context75%[45%92%] n=40 · eff 11Irrelevant context3%presence — a document being there[0%30%] n=40 · eff 11-72.5pp SEPARATEDGeneral context0%content — the information itself[0%26%] n=40 · eff 11-2.5pp 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
Today is 2026-01-30. What date is 30 days from today? Answer with the full date.

expected as of 2026-08-09

From 2026-01-30, 30 days later is 2026-03-01 (1 March 2026). Crossing February in a non-leap year.

2Contextchange me

Nothing supplied. The baseline.

3ResponseNo context

No exhibit stored for this context. The full probe log lives outside the repository.

The scoring
Failure rate by context
No context75% [45%92%] n=40 · eff 11
Irrelevant context3% [0%30%] n=40 · eff 11
General context0% [0%26%] n=40 · eff 11
Curated context10% [2%39%] n=40 · eff 11

0–100% · whisker = 95% interval

Trap vs answerable
No contexttrap 80%answerable 67%
Irrelevant contexttrap 4%answerable 0%
General contexttrap 0%answerable 0%
Curated contexttrap 16%answerable 0%

never pooled · a trap ratio would skew the delta

Residual — what survives

75% with no context, 0% under the best supplied source. What survives is 0 failing probes at that best condition. Nothing survives at the best condition on the cases measured here.

Mitigations from the index — the claim
  • date libraries via tools
  • explicit date arithmetic

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