8734f1883bc9aae9c06f619b0ab9858a73abad45
last_offense_time was in-memory only — lost on restart, so the offense_reset_minutes check never fired after a reboot. Now persisted as LastOffenseAt FLOAT in UserState. On startup hydration, stale offenses (and warned flag) are auto-cleared if the reset window has passed. Bumped offense_reset_minutes from 2h to 24h. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Description
No description provided
Languages
Python
98.8%
Shell
0.8%
Dockerfile
0.4%