hermes-agent/plugins
Teknium a7f0abc845 fix(email): dispatch partial batches, seen-after-fetch UIDs, reconnect UID baseline restore
Follow-ups to the salvaged #80032 fatal-error escalation, closing the
gaps its review thread identified plus a sibling of the same class:

1. Partial-batch loss: _check_inbox now dispatches whatever the fetch
   returned BEFORE escalating a failure — the early-return dropped
   already-fetched messages whose UIDs were marked seen.
2. Seen-after-fetch: UIDs enter _seen_uids only after their fetch
   returns a response, so a mid-batch connection failure leaves the
   remaining UIDs eligible for the next poll. Per-message processing
   moved to _parse_fetched_message behind a poison guard: a message
   that fails parsing/auth-verification is marked seen, logged with
   its UID, and skipped once — never an eternal crash loop.
3. Reconnect mail loss: connect(is_reconnect=True) restores the
   account's seen-UID baseline from a class-level snapshot instead of
   re-marking the entire mailbox seen — mail that arrived during an
   outage is now processed after the reconnect the escalation triggers.

7 new regression tests.
2026-08-13 01:24:54 -07:00
..
browser
…
context_engine
…
cron_providers
…
dashboard_auth
…
disk-cleanup
…
google_meet
…
hermes-achievements
…
image_gen
…
kanban
…
memory
…
model-providers Port from PrimeIntellect-ai/prime-agent#1258: derive OpenRouter reasoning support and effort levels from catalog metadata 2026-08-12 19:44:32 -07:00
observability fix(observability): parent marks to the live turn scope, not the session 2026-08-12 19:20:03 -07:00
platforms fix(email): dispatch partial batches, seen-after-fetch UIDs, reconnect UID baseline restore 2026-08-13 01:24:54 -07:00
security-guidance
…
spotify
…
teams_pipeline
…
video_gen
…
web
…
__init__.py
…
plugin_utils.py
…