SIGN IN SIGN UP

fix: idle sessions stop polling member acks, lead poller, and the ulw footer (fixes #8290)

- senpi-task self-poller: checkPendingAcks returns before the lockfile
  lease when the pending queue is empty (zero fs work while idle).
- omo-senpi lead-poller-lifecycle: the 1 Hz poll stands down when the
  session owns no teams; team_create kicks it back awake (owned teams
  can only appear through this session's own tool call).
- omo-senpi ulw footer: the goal JSON is cached by mtime
  (createGoalJsonCache); the 320 ms frame re-reads only on change.

Contracts: self-poller.test.ts, lead-poller-lifecycle.test.ts,
footer-status.test.ts (RED on dev, GREEN here). Remote RED/GREEN
evidence to be posted on the PR.
Y
YeonGyu-Kim committed
184779bbf16ca93ffc0fc094e5a86e8b10a96b67
Parent: 43ee99c