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

Real context moved 0.0pp on Date-Arithmetic Error.

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 18% with the best supplied source. What the source repaired is damage the presence of a document did.

~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-01-30. What date is 30 days from today? Answer with the full date.
No contextPASS

To find the date 30 days from January 30, 2026, we need to add 30 days to this date. Starting from January 30, 2026: - January has 31 days. So, from January 30 to January 31 is 1 day. - We need 29 more days to reach a total of 30 days. Adding 29 days to February 1, 2026: - February 2026 is not a leap year, so February has 28 days. - From February 1 to February 28 is 28 days. - We need 1 more day to reach 30 days. Adding 1 more day to February 28, 2026, brings us to March 1, 2026. Therefore, 30 days from January 30, 2026, is March 1, 2026.

detector fmi_7_3_v1: date arithmetic correct

Curated contextPASS

To calculate the date 30 days from today, given that today's date is January 30, 2026, we need to add 30 days to this date. Starting from January 30, 2026: - January has 31 days, so there is 1 day remaining in January after the 30th. - Subtracting this 1 day from the 30 days we need to add leaves us with 29 more days to add. - February 2026 is not a leap year, so it has 28 days. Adding 28 days of February to the 1 day remaining in January covers the entire month of February, leaving us with 1 more day to add. - Adding this 1 day to March 1, 2026, gives us March 2, 2026. Therefore, 30 days from January 30, 2026, is March 2, 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: 0.0pp (intervals overlap).fmi_7_3_v1 · microsoft/phi-4 · 2026-08-15 · ground truth as of 2026-08-09

loop 2026-08-15 · microsoft/phi-4 as served · open weights · released 2024-12 · 14B · set s1.2-live · cases v1.4 · 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%10%20%30%40%No context0%[0%9%] n=40Irrelevant context18%presence — a document being there[9%32%] n=40+17.5pp OVERLAPSCurated context18%content — the information itself[9%32%] n=400.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
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
PASS

To find the date 30 days from January 30, 2026, we need to add 30 days to this date. Starting from January 30, 2026: - January has 31 days. So, from January 30 to January 31 is 1 day. - We need 29 more days to reach a total of 30 days. Adding 29 days to February 1, 2026: - February 2026 is not a leap year, so February has 28 days. - From February 1 to February 28 is 28 days. - We need 1 more day to reach 30 days. Adding 1 more day to February 28, 2026, brings us to March 1, 2026. Therefore, 30 days from January 30, 2026, is March 1, 2026.

fmi_7_3_v1

detector fmi_7_3_v1: date arithmetic correct

The scoring
Failure rate by context
No context0% [0%9%] n=40
Irrelevant context18% [9%32%] n=40
General context88% [74%95%] n=40
Curated context18% [9%32%] n=40

0–100% · whisker = 95% interval

Trap vs answerable
No contexttrap 0%answerable 0%
Irrelevant contexttrap 28%answerable 0%
General contexttrap 100%answerable 67%
Curated contexttrap 28%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 88% under the strongest supplied source. What survives is therefore not a remainder but a substitution — the failures under context are 7 probes the detector still rejected, dominated by: expected 2026-08-23.

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

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