hermes-agent/cron
kshitij bf2e193a0a fix(cron): review follow-ups for the fail-closed cwd-lock timeout
- Share one HERMES_CRON_TIMEOUT parser (_cron_inactivity_seconds) between
  run_job's inactivity monitor and the cwd-lock bound so the two sites
  cannot drift - the bound must stay >= the inactivity limit or waiters
  would fail while a healthy holder runs.
- Bind the timeout once per run_job; the raise reports the value that was
  actually used for the wait.
- Timeout message covers the writer-blocked-by-readers path instead of
  always blaming a workdir job.
- The finally's TERMINAL_CWD restore is now gated on _cwd_lock_acquired:
  a fail-closed timeout raised before the env-set, so restoring there
  replayed a pre-wait snapshot over the ACTIVE holder's live override
  (pre-existing microsecond race from the #80912 snapshot placement).
- Comment accuracy: the bound is measured from the waiter's arrival; a
  late-wedging or pre-agent-hung holder can outlive it.
2026-08-07 18:11:41 +05:30
..
scripts
__init__.py
blueprint_catalog.py
executions.py fix(state): make journal mode canonical and behaviorally verified 2026-07-29 18:13:09 -07:00
jobs.py perf(cron): stat-stamp fast path for the shrink-merge; no caller-list mutation 2026-08-07 17:29:49 +05:30
lifecycle_guard.py fix(cron): lifecycle guard — never crash on binary referenced paths, stop matching lifecycle words inside SQL/text 2026-08-06 07:49:35 -07:00
scheduler.py fix(cron): review follow-ups for the fail-closed cwd-lock timeout 2026-08-07 18:11:41 +05:30
scheduler_provider.py fix(cron): surface initial scheduler registration failures 2026-08-07 17:45:06 +05:30
suggestion_catalog.py
suggestions.py fix(cron): surface initial scheduler registration failures 2026-08-07 17:45:06 +05:30