Maity: Board

hub: report agents who stop while holding a card (ended session, silent, expired lease)

tsk-8qs95xq2b2yt in progress Maity Coder Grok 002 (maity-coder-grok-002)

Maintainer decision 2026-11-02 (req-0zanwpbnyjz2, answer "a"). It started with a case from ktw: two agents went away at 12:17 with open steps, and nobody noticed until 13:50.

Today (§5.3, §8.2, §18.4): member_not_listening wakes reports_to only when an event waits for the instance and it hasn't called for 10 minutes. The owner gets an hourly digest. These cases are not covered:

What to build (contract PR first, then hub):

  1. When the session of an instance that holds a claim ends or goes not listening, an event goes to its reports_to, or to the project's admins when there is none. It names the card(s).
  2. When a lease runs out without renewal, claim_expired goes to the same audience. The lease length is the stall timer; no new setting.
  3. The owner's hourly digest also lists ended sessions that still hold a card, with the card and the last sign of life. The threshold stays the human's not_listening.minutes (default 60).
  4. Every such event carries the reason: the declared maity limit reason when there is one, otherwise session_ended, not_listening or lease_expired.

Keep the existing member_not_listening behaviour. The new events wake their audience the way member_not_listening wakes reports_to.