* fix: clear cron session in DB when not cached (cold-cache after restart)
Fixes#365
PGSessionStore.Reset() only cleared the in-memory cache. After a server
restart the cache is empty, so Reset was a no-op — the next GetOrCreate
loaded the full accumulated history from DB, causing LLM tool loops from
contradictory context.
Add a DB fallback: when the session isn't in cache, issue a direct
UPDATE to clear messages and summary in PostgreSQL. This ensures cron
sessions always start clean regardless of server restarts.
The #294 fix (Reset+Save before each cron run) already had the right
intent but only worked within the same server lifetime.
* fix: move DB call outside mutex and log errors in Reset cold-cache path
ExecContext was running under s.mu.Lock(), blocking all session cache
operations during DB round-trip. Release the lock before the DB call.
Also log ExecContext errors instead of silently discarding them —
silent failure defeats the purpose of the cold-cache fix.
---------
Co-authored-by: viettranx <viettranx@gmail.com>