Files
hermes-agent/agent
kshitijk4poor 6cfbc5f891 refactor(credits): throttle the re-warm, scope the seed thread, one subscription predicate
- rewarm_pricing_before_depleted_notice: a failed fetch caches {} for
  _FAILED_CATALOG_TTL_SECONDS and the peek reads that as cold, so every
  header in that window spawned a thread that read the auth store and hit
  the cached {}. Remember when the last warm started and decide inline
  until the window passes. Drop the dead try/except around the pure peek.
- _bg_seed now runs under spawn_context_thread: the warm it gained reads
  the profile's auth store, so the thread must carry the profile scope.
- _rerun_notice_policy replaces the idiom copied at three sites.
- _is_subscription_billed: the free-tier default filtered on any truthy
  billing_mode while _is_model_free keyed on == 'subscription'.
- The no-respawn guard test counts warm calls instead of enumerating
  finished threads (which always read 0).
2026-09-20 14:02:17 +05:30
..
…
…
…