The scenario
A tutor that forgets is a tutor that re-teaches. It re-explains what the student already has, misses that they have failed the same kind of problem four times, and cannot tell you in March what they were struggling with in January. Session memory does not fix this. The gap between sessions is where the teaching signal lives.Step 1 — Record what happened, not just what was said
timestamp is when the thing happened, which is not always when you are
writing it down. Getting it right is what makes the temporal questions below
answerable at all.
Step 2 — Open the next session already knowing
Step 3 — Ask a question about one student
Step 4 — Show progress over a real interval
Evals
- Record five sessions for one student across three months.
- Ask
ask_about_userfor recurring difficulties. Check it names the one you planted deliberately. - Run the same question with a two-week
occurred_afterwindow and confirm the answer narrows rather than repeating itself. - Ask about a student with no memories. It should say so, not improvise.
Guardrails
memory_counton a profile is non-monotonic. Consolidation merges related memories, so the number can go down while the system knows strictly more. Do not show it to a parent as “things learned”.- Don’t record judgements you would not say out loud. Anything stored is retrievable, and “seems lazy” reads very differently in an export than it did in the moment.
- Set
timestampyourself for anything you are backfilling. Without it the event time is the write time, and a year of history imported on Tuesday all happened on Tuesday.
Built from
Both are complete, runnable scripts:user_profiles.py,
time_travel.py.