Every lesson before this one in this course assumed a run with a clear start and a clear end: an agent is given a task, it acts for some number of steps or minutes, and by the time it stops you can score the outcome. That assumption holds for a support ticket resolved in ninety seconds or a code review that finishes in three minutes, but it breaks the moment a task genuinely spans hours or days — a data migration executed across multiple work sessions, a research agent that has to wait on an external process, a coding agent picking up a multi-day refactor exactly where it left off yesterday.
The core problem long-horizon tasks introduce is delayed reward: the thing you actually care about — did the migration succeed, did the refactor not break anything — often can't be verified until well after the agent has stopped acting, sometimes not until a separate monitoring window has passed. Scoring only at the end throws away everything that happened in between, and worse, it can't tell you which of several sessions' worth of work actually caused the eventual outcome, which is the credit-assignment problem this lesson opens with.
This lesson covers six things that only matter once a run crosses a session boundary: assigning credit across a long trajectory when the outcome is delayed, treating memory itself as something that needs evaluating — for retention, retrieval quality, staleness, and outright contradiction — deciding what identity and continuity an agent should have across sessions, checkpointing a run so both the agent and the evaluator can resume from the middle instead of replaying everything, scoring sub-goals so partial progress is measurable, and the practical economics of running eval sets that are individually expensive because each one takes hours or days to execute.
Analogy🏏Cricket
🏏 Think of it like cricket: A Test match at the WACA in Perth runs for five days, and a batter's day-one century tells you almost nothing about whether the team wins — the outcome depends on what happens across all five days, including a fourth-innings chase nobody can properly judge until the final ball is bowled. If you only scored the match by the day-one scorecard, you'd reward a flashy start and miss that the same batter got out cheaply in the second innings, handing the initiative back. Now think about how a scorer actually treats a five-day match: they don't wait for stumps on day five to write anything down. Every session — morning, afternoon, evening, each capped by a break — gets its own entry: runs scored, wickets lost, overs bowled, the state of the pitch. Cheteshwar Pujara built a career on exactly this kind of scoring; his value showed up in session-by-session resilience — grinding out forty balls without scoring a run to blunt an attack — long before it showed up in a final total. A long-horizon agent run has the same shape as that Test match: the task might span hours or days across multiple sessions, and the final outcome — did the migration succeed, did the issue get resolved — isn't knowable until well after most of the work happened. Scoring only the final state throws away every session's worth of signal about which parts of the run actually worked, exactly the way judging a Test only by its final scorecard would erase Pujara's session-building innings. The fix is the same in both cases: grade each session on its own terms as it happens, and only then roll those session scores up into a trajectory-level judgment.
🏏 Showing the Cricket analogy — a Cricket version isn’t available for this concept yet.