Dataset

Real people, logged day by day

Participants logged their own days through a custom mobile app for 28 to 44 days: wake-ups, meals, exercise, naps, bedtime, often with a photo and a mood note. Each released trajectory keeps those entries verbatim, wraps them in clue-planted synthetic events, and was confirmed by the participant.

One participant, one trajectoryone column per day, one square per event
Illustration
Day 1Day 14Day 28Day 36
Anchor the participant's own entry, verbatim Synthetic clue-planted around the anchors
3
checks before release, the last by the participant
28–44
days logged per participant
~440
events per participant, about half anchor
18,471
events in the release, about 3.17M tokens
12→8
event subdomains into lifestyle domains
100
survey questions per participant
Three checks before release
01

Structural validator

Automatic. Every anchor payload must equal the original log entry, time buckets must match the day skeleton, event counts must match, and synthetic text may not contain a calendar date, weekday name or 12-hour clock time.

rule-based
02

Full-trajectory review

An internal reviewer reads the whole trajectory and flags mood inconsistencies, narrative jumps and anchor–synthetic mismatches. Flagged users go back through expansion and are validated again.

internal reviewer
03

Participant fidelity confirmation

The participant sees the assembled trajectory with their own entries highlighted and a random sample of synthetic events foregrounded, and says whether it still reads like a plausible stretch of their own life. No confirmation, no release.

the participant
Who took part
Six self-reported persona axesshare of participants per answer; some questions were optional, so the base varies by axis
Appendix L
Region
  • USA75%
  • Southeast Asia9%
  • Europe5%
  • China5%
  • Other7%
Primary language
  • English51%
  • Chinese40%
  • Korean3%
  • Other6%
Typical sleep bucket
  • Deep night69%
  • Late night22%
  • Early morning7%
  • Other2%
Most productive period
  • Afternoon58%
  • Morning24%
  • Evening16%
  • Other2%
Work style
  • Hybrid62%
  • Independent38%
Exercise goal
  • Health40%
  • Stress relief33%
  • Fitness19%
  • Muscle gain7%
  • Other2%
Anchored in the United States, split almost evenly between English and Chinese primary speakers, and late-shifted in sleep: a broad slice of lifestyles rather than one demographic mode.
Contributions

Three things every participant gave

Daily logs, a persona and a 100-question survey. Together they supply the evidence an agent reads and the labels it is scored against.

01

Daily logs

28 to 44 days · around the clock
Example entry
WakeDay N
“Woke up at 7:15, still a bit groggy”
wakeBucket morning mood Relaxed · positive agentHelp —
The app prompted 12 event subdomains
wakebedtimenapfoodworkentertainmentweathertravelshoppingphysicalexerciseevent
→
Released verbatim as anchor events. Ground truth for Proactive Help and Emotion-Aware Modeling.
02

Persona

structured fields + self-description
Schematic
age band
gender
region
role
self-description, free text

Written by the participant. Stage 1 of the synthesis distils it, together with the survey, into a profile and a deliberately vague survey insight, released as profile_persona.json.

→
Forms the C3 Persona Memory level of the user-memory ladder and conditions the synthesis.
03

Implicit-preference survey

100 questions · 4 options · 8 lifestyle domains
Schematic
Q 1 / 100daily_routine
ABCD
daily_routinefood_diningwork_studyleisurecommuting_travelshoppingsocial_wellbeingcross_domain
7 lifestyle domains+ 1 cross-domain

Seven lifestyle domains plus one cross-domain bucket whose questions span several of them. Four options per question, so random guessing scores 25%. The answers are never shown to the synthesizer as text.

→
The answer key for Implicit Preference Reasoning and Cross-Domain Transfer.
Synthesis

Real anchors, clue-planted context

Self-tracking is sparse, so a four-stage pipeline fills each day around the participant's own entries. Two contracts hold throughout: anchors stay verbatim, and survey answers enter only as a distilled insight, so preferences show up as behaviour, never as restated answers.

One day, as releasedanchor entries from the paper's Figure 1
Day N Example
WakeRelaxed · positive
Woke up at 7:15, still a bit groggy
anchor
synthetic
synthetic · planted clue
WorkStressed · negative
Run the experiment with a local model…
anchor
Food
Had ramen for lunch…
anchor
synthetic
ExerciseConfident · positive
Played pickleball for an hour…
anchor
synthetic · planted clue
Shopping
Ordered a T-shirt on Amazon…
anchor
synthetic
BedtimeagentHelp
Lights off at 11:40, read…
anchor
Synthetic rows are shown as placeholders. In the release they are full events with a subdomain, a time bucket and a long description.
01

Anchors stay verbatim

Every original entry is reproduced exactly: text, timing fields, photo, mood note and agentHelp flag. The model may only add a third-person paraphrase of what the participant did.

02

Survey answers never appear as text

The 100 answers reach the synthesizer only as a distilled, deliberately vague survey_insight. Preferences surface as behaviour: a late dinner, a re-ordered errand, a sigh after a meeting.

About 440 events per participantover 28 to 44 days
anchor · about halfsynthetic · about half
Anchor-completion, not anchor-replacement: every real event stays, synthetic events surround it.
What a synthetic event carriesa subdomain, a time bucket, a long description, sometimes a planted clue
time bucket, never a clock time
deep nightearly morningmorningnoonafternoonduskeveningnightlate night
planted clue, one of seven kinds (only for hard and very-hard questions)
timing detailconsequencedecision framepost-event moodsocial contextapp choicetiny detail
Four stages, then a validator
Stage 0

Image grounding

Photographs become action-focused captions written by a vision LLM.

What the user is doing, not what is in the frame.
Stage 1

Persona and survey insight

Persona and the 100 answers become a profile and one distilled survey insight.

survey_insight is the only conduit for survey content.
Stage 2

Day skeleton and clue plan

Per-day theme, narrative arc, dominant mood, planned events and a clue plan.

10 to 18 events a day; every anchor must appear.
Stage 3

Trajectory expansion

Five-day chunks become full anchor and synthetic events with long descriptions.

Anchors verbatim; clue kinds enforced.
Validator

Rule-based check

Exact anchor equality, time-bucket consistency, event counts, privacy denylist.

Nine time buckets, no clock times, Day N only.
Does the synthetic layer invent the signal? Two checks from the paper
01

Synthetic clues carry signal

Keep every real anchor and remove every synthetic event: Implicit Preference accuracy falls for every model, by 2 to 11 points at Long Trajectory (C2) and by 3 to 6 points at Lifelong Memory (C4), and the stronger models lose the most.

Long TrajectoryC2
accuracy, %Δ pts
Gemini-3-Pro
−11.0
Qwen3.6-27B
−10.5
Gemini-2.5-Flash
−6.0
Qwen3.5-9B
−2.0
Lifelong MemoryC4
Gemini-3-Pro
−5.8
Qwen3.6-27B
−5.4
Gemini-2.5-Flash
−4.1
Qwen3.5-9B
−3.1
25chance3040506070
full trajectory, as releasedanchor-only, synthetic events removed
Table
ModelC2 anchorC2 fullΔ C2C4 anchorC4 fullΔ C4
Gemini-3-Pro38.149.1−11.061.767.5−5.8
Qwen3.6-27B38.649.1−10.560.165.5−5.4
Gemini-2.5-Flash38.744.7−6.053.958.0−4.1
Qwen3.5-9B30.832.8−2.046.950.0−3.1

Implicit Preference accuracy, %. anchor = anchor-only trajectory; Δ = anchor-only − full, in points.

02

Not tied to one generator

Re-synthesising a random subset of users with Qwen3.6-Plus instead of gpt-5-mini moves Lifelong Memory accuracy by at most 4.7 points, and the lines never cross: the five models rank the same in all three settings.

(a) all usersgpt-5-mini
(b) random subsetsubsetgpt-5-mini
(c) same subsetQwen3.6-Plus
(c) − (b), pts
1Gemini-3-Pro−4.7
2Qwen3.6-27B−1.8
3Gemma-4-31B−1.8
4Claude-Sonnet-4.6−3.2
5GPT-5−4.4
rank, model(c) − (b), pts
  1. 1Gemini-3-Pro−4.7
  2. 2Qwen3.6-27B−1.8
  3. 3Gemma-4-31B−1.8
  4. 4Claude-Sonnet-4.6−3.2
  5. 5GPT-5−4.4
Lifelong Memory (C4) accuracy, % · chance is 25%Ranks 2 and 3 sit 0.3 to 0.4 points apart in every setting; the paper reads them as a tie (Qwen3.6-27B ≈ Gemma-4-31B).
Table
Model(a) all users
gpt-5-mini
(b) random subset
gpt-5-mini
(c) same subset
Qwen3.6-Plus
(c) − (b)
Gemini-3-Pro67.568.864.1−4.7
Qwen3.6-27B65.564.062.2−1.8
Gemma-4-31B65.263.661.8−1.8
Claude-Sonnet-4.663.163.059.8−3.2
GPT-558.559.555.1−4.4

Lifelong Memory (C4) accuracy, %. (c) − (b) in points.

Taxonomy

12 event subdomains, 8 lifestyle domains

Every event carries a fine-grained subdomain; every survey question carries a lifestyle domain. This many-to-one map is the only bridge between the two, and the seven lifestyle domains are the ablation targets of Cross-Domain Transfer.

daily_routine

Daily routine

wakebedtimenap
food_dining

Food & dining

food
work_study

Work & study

work
leisure

Leisure

entertainment
commuting_travel

Commuting & travel

weathertravel
weather also carries the leave-home and return-home times
shopping

Shopping

shopping
social_wellbeing

Social & wellbeing

physicalexerciseevent
cross_domain

Cross-domain

Questions that span several lifestyle domains. No subdomain of its own and not an ablation target.

other any self-reported subdomain outside the twelve. It maps to no lifestyle domain and is kept in every ablation.
Where the 18,471 events fall
Share of the release by lifestyle domain18,471 events and about 3.17M tokens in the release
Appendix B
eventstokens
Daily routinedaily_routine
23.9%22.8%
Leisureleisure
15.7%16.4%
Food & diningfood_dining
15.0%15.9%
Work & studywork_study
14.5%15.1%
Social & wellbeingsocial_wellbeing
12.9%12.4%
Commuting & travelcommuting_travel
9.2%9.2%
Shoppingshopping
8.8%8.2%
share of eventsshare of tokens

The two views never differ by more than 1.1 points, so no domain is over- or under-described relative to how often it occurs, and all nine time buckets are populated within every domain.

Release

Get the data and the code

One archive on Harvard Dataverse, one repository on GitHub, one command to lay the data out.

What is in the downloadjarvis-bench_full.zip
  • jarvis-bench_full.zipone file
    • jarvis-bench_full/
      • User.zip
        • User/<user>/one folder per participant
          • synthetic_trajectory.jsonthe trajectory
          • profile_persona.jsonprofile + survey insight
          • skeleton.jsonday skeleton + clue plan
          • qa_report.jsonvalidator report
          • skeleton_windows/ · chunks/ · run_logs/intermediate files
      • Image.zip
        • Image/<user>/Day<N>/<photo>photographs, by day

Dataset

Harvard Dataverse · doi:10.7910/DVN/8UKMK1 · CC BY-NC 4.0

Trajectories, personas, skeletons and photographs for every released participant.

Code

GitHub · AgentMemoryWorld/JARVIS-Bench · MIT

Evaluation code, prompts and the survey answer key, ground_truth/survey_ground_truth.json. One command lays the data out:

python tools/prepare_data.py /path/to/jarvis-bench_full.zip

Consent and privacy

  • Collected under a protocol approved by the IRB of the University of Illinois Chicago; every participant consented.
  • Fully anonymous: no surnames, precise locations or calendar dates. Days are relative, Day N, and synthetic events carry time buckets instead of clock times.
  • Photographs enter the trajectory text only as action-focused captions; the photographs themselves ship for the image variants of Proactive Help and Emotion-Aware Modeling.
  • Every released trajectory was confirmed by its participant as a plausible stretch of their own life.