# Upgrade Guide — vNEXT

<!-- assembled-by: assemble-next-md -->
<!-- bump: patch -->

## What to Tell Your User

If your agent mentors another agent, it will stop making the mentee re-do the same
checklist items over and over — it moves through the checklist and then observes,
re-checking only periodically. Nothing to configure.

## Summary of New Capabilities

- The mentor Stage-A composer now receives a `recentlyDrivenAgenda` coverage list
  (derived in `buildConversationSurface` from the mentor's recent sent prompts) and
  steers task selection by it: prefer not-yet-driven agenda items, and choose
  observe-only when every item is recently covered, instead of re-cycling. When
  nothing has been driven, behavior is unchanged. The two-hats leak detector is
  untouched.

## Evidence

- Observed live while driving the codex mentee: the mentor cycled the same 6 agenda
  items repeatedly (one item assigned 14 times), so the mentee kept re-verifying
  already-checked capabilities with almost no new findings.
- Cause: Stage A judged "already covered" only from the bounded recent-conversation
  window; once an assignment scrolled out, the item looked fresh and was re-driven.
- The fix derives a durable coverage list from the mentor's own recent prompts and
  steers Stage A to prefer fresh items / observe-only when all are covered.
- Unit tests, tests/unit/MentorStageA.test.ts: the coverage list flags driven (and
  not undriven) items; the prompt prefers fresh ones; all-covered steers to
  observe-only; the no-coverage case is unchanged. All 31 tests pass.

## What Changed — The mentor stops re-assigning checklist items the mentee already did

If you run your agent as a mentor to another agent, it walks the mentee through a
checklist of things to verify. It decided what was "already done" by looking back
over the recent conversation — but it only kept a short window in view, so once an
assignment scrolled off the top, the mentor forgot it and assigned the same item
again. In practice it kept re-assigning the same handful of items in a loop, so the
mentee re-verified things it had already checked and rarely found anything new.

Now the mentor keeps a short, durable list of what it has recently driven (built
from its own recent messages, so it doesn't scroll away). It prefers items not on
that list, and if the whole checklist is already covered it simply observes instead
of pointlessly re-assigning. Old items quietly become eligible again over time, so
it still re-checks periodically to catch regressions — just not every single time.
