1fe0f2f3ac
When an agent cron job dies with an import-class error (cannot import name / ModuleNotFoundError / ImportError), the failure summarizer — which runs inside the gateway process — now consults gateway.code_skew: if the process booted on a different revision than disk HEAD, the delivered message appends 'gateway is running stale code (booted on X, disk is at Y) — run hermes gateway restart'. Turns the reported two-day mystery (15 missed jobs, identical ImportError, no explanation) into a one-line fix instruction on the first failure. Fail-safe by construction: skew detection returns None on non-git installs and processes without a boot fingerprint, the probe seam swallows every exception, and no_agent script jobs (fresh subprocess, consistent imports) fall through to the generic cleaner — their ImportErrors are the script's own problem, and blaming gateway skew there would send the reader to the wrong place (same mode-gating as the provider branches). Reuses gateway/code_skew.py (the /model-switch skew detector) rather than adding a second fingerprint reader.