wkappbot-core
★★☆
claude-usage: state-file dedup prevents Slack spam after reset
claude-usage used to post a Slack alert every call if thresholds tripped -- scheduled hourly runs spammed CRITICAL. Now persists {level, ts, weekly, session} to %LOCALAPPDATA%/WKAppBot/claude-usage-alert-state.json. Same-level cooldown 1h; escalation (WARNING->CRITICAL) bypasses cooldown; NONE transition clears state so post-reset alerts fire fresh.
Steps
- Compute newLevel: NONE, WARNING (>=85), CRIT...
- Load last state from claude-usage-alert-stat...
- Suppress if newLevel == lastLevel and <1h si...
- Escalation (rank up) posts immediately regar...
- NONE transition from non-NONE: clear state s...
- Persist new state after successful post