# NousResearch/hermes-agent · Idle compaction timer broken by watchdog timestamp reset

## Open now

- 1 issue, 3 PRs open on GitHub.
- #79357: \[Bug\]: idle_compact_after_seconds never fires in gateway mode — watchdog reset clobbers _last_activity_ts before the idle check reads it
- PR #79372: fix(gateway): preserve idle compaction gap on cached turns
- PR #79456: fix(compression): use pre-watchdog timestamp for idle-compaction gap (#79357)
- PR #135759: fix(compression): measure the idle-compaction gap from the transcript, not _last_activity_ts (#79357)

A bug where the idle compaction timer in gateway mode never fires because the watchdog resets the activity timestamp before the idle check can read it. The accompanying fixes preserve the correct pre-watchdog timestamp for the idle compaction gap calculation.

## TL;DR

- 4 member(s): 1 open issue(s), 0 closed issue(s), 3 open PR(s), 0 merged PR(s), 0 PR(s) closed without merging.
- No fix has been merged to main; one or more PRs were attempted (see below).
- **Recommended:** review the prior/competing PR(s) below. A fix was attempted but not merged; your case may extend or revive that work.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.50`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Open related issues

- #79357: \[Bug\]: idle_compact_after_seconds never fires in gateway mode — watchdog reset clobbers _last_activity_ts before the idle check reads it

## Prior & competing PRs

- **#79372: fix(gateway): preserve idle compaction gap on cached turns**. open
  - maintainer direction: category `silent_close`; implication `active`
  - files: `agent/turn_context.py`, `gateway/run.py`, `tests/agent/test_idle_compaction_lock_and_guards.py`, `tests/gateway/test_agent_cache.py`
- **#79456: fix(compression): use pre-watchdog timestamp for idle-compaction gap (#79357)**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - files: `agent/turn_context.py`, `gateway/run.py`
- **#135759: fix(compression): measure the idle-compaction gap from the transcript, not _last_activity_ts (#79357)**. open
  - maintainer direction: category `silent_close`; implication `active`
  - files: `agent/turn_context_compaction.py`, `tests/agent/test_idle_compaction_reference.py`

## Fix status

- No merged fix on record.
- Subsystem: `agent`
