fix(guard): idempotent agent-run pause to stop portal restart loop #3

Merged
tkmind merged 1 commits from fix/agent-run-guard-idempotent-pause into main 2026-07-04 05:41:53 +00:00
Owner

Summary

  • Make agent-run-guard pause idempotent: when MEMIND_AGENT_CODE_RUNS_ENABLED=0 already, repeat checks skip worker/portal actions instead of kickstarting Portal every minute.
  • Extract pause decision logic to agent-run-guard-lib.mjs with unit tests.
  • Add scripts/resume-agent-run-prod.sh for manual recovery after guard pause (stop guard, re-enable code runs, clear stuck queue, restart worker + portal).

Context

103 WeChat messages appeared silent because guard --apply ran every 60s and kickstart -k killed in-flight background replies.

Test plan

  • node --test scripts/agent-run-guard.test.mjs (6 pass)
  • After merge + release to 103: node scripts/agent-run-guard.mjs dry-run shows healthy queue
  • Re-enable guard; confirm repeat checks log skip_pause without portal restarts
  • WeChat page.generate still completes under guard monitoring
## Summary - Make `agent-run-guard` pause **idempotent**: when `MEMIND_AGENT_CODE_RUNS_ENABLED=0` already, repeat checks skip worker/portal actions instead of kickstarting Portal every minute. - Extract pause decision logic to `agent-run-guard-lib.mjs` with unit tests. - Add `scripts/resume-agent-run-prod.sh` for manual recovery after guard pause (stop guard, re-enable code runs, clear stuck queue, restart worker + portal). ## Context 103 WeChat messages appeared silent because guard `--apply` ran every 60s and `kickstart -k` killed in-flight background replies. ## Test plan - [x] `node --test scripts/agent-run-guard.test.mjs` (6 pass) - [ ] After merge + release to 103: `node scripts/agent-run-guard.mjs` dry-run shows healthy queue - [ ] Re-enable guard; confirm repeat checks log `skip_pause` without portal restarts - [ ] WeChat page.generate still completes under guard monitoring
tkmind added 1 commit 2026-07-04 05:41:28 +00:00
Repeat guard checks no longer kickstart Portal when code runs are already disabled, preventing WeChat background replies from being killed every minute. Adds resume script and unit tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
tkmind merged commit fafc1fe7fd into main 2026-07-04 05:41:52 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tkmind/memind#3