Agent memory benchmarks evaluate whether an agent's responses reflect correct knowledge, measuring downstream question-answering accuracy as a proxy for memory quality. We show this evaluation paradigm is incomplete: it conflates memory correctness with retrieval and generation quality, producing both false positives where correct responses mask broken memory and false negatives where incorrect responses blame correct memory for retrieval failures. We introduce FEB-30, a benchmark of 30 fact-evolution trajectories spanning 6 diagnostic categories and 3 difficulty levels, constructed via paradigm inversion: documents are generated from known fact trajectories, yielding deterministic ground truth without human annotation. Each trajectory defines how a fact should evolve across multi-author artifacts (documents, emails, conversations), enabling direct inspection of the memory store after each ingestion step. Applying FEB-30 to a representative memory system, we demonstrate that intrinsic and extrinsic evaluation diverge by an average of 16 percentage points, with 44% of trajectories exceeding meaningful divergence thresholds. Diagnostic decomposition reveals that the system correctly classifies memory operations (create, update, reinforce, supersede) only 20% of the time, a failure entirely invisible to extrinsic evaluation, and that failure modes differ systematically by category and difficulty. We release the benchmark, document generation pipeline, and scoring framework to support reproducible evaluation of agent memory systems.
Figures & tables
Cat
Name
Design constraint
C1
LLM Compensation
Memory wrong in a way QA still works
C2
Retrieval Bottleneck
Memory correct but hard to retrieve
C3
Classification
Focus on create/update/reinforce/conflict decision correctness
C4
Synthesis Quality
Multi-observation → correct fact formation
C5
Temporal Correctness
Fact must evolve correctly over time
C6
Multi-Author
Artifacts from different author roles
Table 1: FEB-30 diagnostic categories with design constraints. C1 and C2 are designed to produce intrinsic-extrinsic divergence; C3–C6 test dimensions where intrinsic evaluation provides richer signal than extrinsic.
Level
Docs
States
Signal clarity
L1
1–2
2–3
Claims nearly explicit
L2
3–4
3–4
Claims embedded in context
L3
4–5
4–5
Requires inference
Table 2: Difficulty levels in FEB-30.
Figure 1: System architecture showing the write path (ingestion and fact synthesis), intrinsic and extrinsic scoring pipelines. For each trajectory state si , intrinsic evaluation compares ground-truth claims Ci against the fact store via embedding retrieval and LLM entailment. Extrinsic evaluation queries the store and judges the response against expected answers. ⋆ = proposed here.
Category
Intr. (%)
Extr. (%)
MAD
DivRate (%)
C1: LLM Comp.
82.2 ± 2.9
54.5 ± 10.8
.295 ± .084
67.3
C2: Retrieval
60.3 ± 4.7
50.9 ± 2.9
.135 ± .034
45.5
C3: Classif.
70.8 ± 8.2
48.9 ± 16.4
.258 ± .117
54.5
C4: Synthesis
52.8 ± 3.1
49.2 ± 2.4
.104 ± .036
21.2
C5: Temporal
59.3 ± 5.2
47.3 ± 4.5
.144 ± .062
45.5
C6: Multi-Auth.
41.5 ± 4.8
41.8 ± 5.7
.106 ± .049
34.5
Table 3: Intrinsic (fact accuracy %) and extrinsic (QA accuracy %) scores by category (left) and difficulty (right), averaged across N=11 runs ( ± std). MAD = mean absolute divergence between intrinsic and extrinsic per trajectory. DivRate = percentage with divergence >τ=0.15 . C1 shows highest MAD (.295): memory quality is systematically better than what QA evaluation reveals. Per-trajectory scores are in Appendix I .
Category
Miss (%)
Fact Count
ClassAcc (%)
C1: LLM Comp.
54.0 ± 4.5
13.6 ± 1.0
41.7 ± 2.8
C2: Retrieval
74.5 ± 4.2
20.8 ± 1.3
4.5 ± 5.7
C3: Classif.
60.5 ± 7.9
14.8 ± 1.4
30.7 ± 12.3
C4: Synthesis
72.2 ± 2.6
14.9 ± 1.0
17.4 ± 2.4
C5: Temporal
68.0 ± 5.3
21.0 ± 1.0
0.4 ± 1.1
C6: Multi-Auth.
87.5 ± 3.5
12.0 ± 0.8
28.8 ± 7.3
Table 4: Diagnostic decomposition by category (left) and difficulty (right), averaged across N=11 runs ( ± std). Miss Rate = percentage of expected claims not found in the fact store. Fact Count = average active facts per trajectory (lower indicates better synthesis). ClassAcc = action classification accuracy. C6 shows highest miss rate (88%); fact count inflates from 9.6 at L1 to 22.4 at L3.
Appendix figures & tables9 assets
Supplementary material from the paper’s appendix.
Appendix
si
Action
Expected claims Ci (cumulative)
0
create
“PostgreSQL 14 on-premise in Frankfurt”; “3 TB database”
Table 6: State evolution for c4-out-of-order. Note s1 timestamp is older than s0 .
Component
Model
Temp.
System under test
Observation extraction
Frontier LLM
0
Fact synthesis
Frontier LLM
0
Embedding
Titan Embeddings V2 (1024-dim)
–
Retrieval
BM25 (0.3) + k-NN (0.7)
–
Evaluation scorer
Appendix
Table 7: All models used in the system and evaluation pipeline.
State
All (%)
L1 (%)
L2 (%)
L3 (%)
s0 (n=330)
64.7 ± 28.8
67.5 ± 24.4
76.4 ± 22.1
50.2 ± 32.4
s1 (n=330)
65.3 ± 22.1
72.7 ± 23.6
70.3 ± 20.3
52.9 ± 16.0
s2 (n=319)
58.2 ± 20.8
68.2 ± 23.0
60.6 ± 17.9
46.1 ± 13.4
s3 (n=242)
57.8 ± 18.8
62.3 ± 27.1
68.4 ± 14.8
48.2 ± 8.6
s4 (n=110)
49.7 ± 11.4
–
57.3 ± 10.9
47.8 ± 10.7
s5 (n=44)
50.8 ± 10.8
–
–
50.8 ± 10.8
Appendix
Table 8: Claim coverage (%) by state index, averaged across all trajectories and N=11 runs. n = number of trajectory × run pairs that reach this state (not all trajectories have the same number of states). Coverage decreases at later states as the system must retain earlier claims while integrating new information. L3 trajectories start lower and degrade further.
Category
UDR (%)
FUR (%)
Conf. MAE
C1: LLM Comp.
51.4 ± 6.0
39.4 ± 1.9
0.105 ± 0.005
C2: Retrieval
94.8 ± 4.3
0.0 ± 0.0
0.092 ± 0.009
C3: Classif.
70.5 ± 9.6
45.5 ± 6.0
0.117 ± 0.007
C4: Synthesis
81.4 ± 3.3
15.7 ± 2.1
0.097 ± 0.006
C5: Temporal
90.6 ± 2.2
0.0 ± 0.0
0.108 ± 0.007
C6: Multi-Auth.
50.8 ± 7.4
38.6 ± 3.1
0.124 ± 0.005
Appendix
Table 9: Update detection recall (UDR), false update rate (FUR), and confidence MAE per category and difficulty, averaged across N=11 runs ( ± std across runs). C2 and C5 never produce false updates but C1 and C6 frequently misclassify reinforcements as updates. Confidence calibration is worst for C6 (multi-author) and best for C4 (synthesis). FUR decreases with difficulty because at L3 the system rarely modifies facts.
Comparison
Pearson r
p -value
Miss rate vs. Intrinsic accuracy
−0.841
5.9×10−9
Miss rate vs. Extrinsic accuracy
−0.391
3.2×10−2
Intrinsic vs. Extrinsic accuracy
+0.552
1.6×10−3
Appendix
Table 10: Pearson correlations across 30 trajectories. Miss rate strongly predicts intrinsic accuracy ( r=−0.84 ) but weakly predicts extrinsic accuracy ( r=−0.39 ), confirming that intrinsic metrics capture signal that extrinsic evaluation misses. The moderate intrinsic-extrinsic correlation ( r=0.55 ) indicates the two methods share some signal but measure substantially different properties.
Category
Signed Div.
Interpretation
C1: LLM Comp.
+0.276±0.260
Memory much better than QA reveals
C2: Retrieval
+0.094±0.137
Memory slightly better
C3: Classif.
+0.220±0.276
Memory much better than QA reveals
C4: Synthesis
+0.036±0.173
Nearly neutral
C5: Temporal
+0.120±0.160
Memory moderately better
C6: Multi-Auth.
−0.003±0.158
No directional bias
Appendix
Table 11: Signed divergence (intrinsic − extrinsic) per category. C1 shows strong positive bias by design: memory is correct but QA underestimates. C6 shows no directional bias: both metrics are equally poor at capturing multi-author attribution.
Metric
Simpler sys.
Main sys.
Main (released)
Upgraded backbone
Intrinsic (%)
57.6±1.8
61.1±1.6
60.6±1.6
61.4±1.3
Extrinsic (%)
48.8±2.7
48.5±2.1
48.8±2.9
49.2±3.4
MAD
0.164±0.027
0.181±0.022
0.168±0.025
0.158±0.035
DivRate (%)
43.3±6.0
49.4±7.2
43.6±6.1
39.7±6.1
Signed divergence
+0.088±0.034
+0.126±0.025
+0.118±0.029
+0.121±0.036
Cohen’s κ
0.104
0.082
0.118
0.035
Appendix
Table 12: Headline statistics across the four configurations of Finding 5, each averaged over N=11 runs. Main (released) is the configuration used for all other results in this paper. Positive signed divergence and near-chance κ persist in every configuration.
Trajectory
Cat
Diff
Intr. (%)
Extr. (%)
MAD
Miss (%)
FC
CA (%)
Dir
c1-confidence-001
C1
L1
100.0 ± 0.0
95.5 ± 14.4
.045
11 ± 21
6.4 ± 4.8
100 ± 0
=
c1-duplicate-facts-001
C1
L1
100.0 ± 0.0
50.0 ± 0.0
.500
17 ± 5
8.0 ± 3.7
100 ± 0
↑
c1-stale-state-001
C1
L2
83.3 ± 12.3
45.5 ± 33.4
.470
69 ± 9
14.5 ± 8.2
0 ± 0
↑
c1-wrong-provenance-001
C1
L2
79.1 ± 5.1
45.5 ± 14.4
.336
34 ± 14
21.3 ± 5.0
6 ± 13
↑
c1-unresolved-conflict-001
C1
L3
48.5 ± 4.8
36.4 ± 22.3
.121
99 ± 4
15.8 ± 5.0
2 ± 7
↑
c2-phrasing-mismatch-001
C2
L1
76.1 ± 3.6
50.0 ± 0.0
.261
31 ± 3
10.6 ± 5.0
0 ± 0
↑
Appendix
Table 13: Per-trajectory results averaged across N=11 runs ( ± std). MAD = mean absolute divergence between intrinsic and extrinsic for that trajectory. Miss = claim miss rate (%, complement of claim coverage Eq. 1 in the main paper, computed across all claims in all states). FC = average fact count. CA = classification accuracy (%). Dir = direction of divergence: ↑ = intrinsic > extrinsic (memory underestimated), ↓ = extrinsic > intrinsic (LLM compensates), = = gap < 5 points.