Any pause (AGENT_ACTIONS_PAUSED, DB freeze, per-repo agentPaused — the latter also toggled by automation in orb/apr-repo-transfer.ts ~232-238) makes the mode paused (src/settings/agent-execution.ts ~38-42), so CI-completion passes during the window plan and then suppress.
Unpause performs no catch-up. The settings write is a plain upsert (mcp/server.ts ~4874, api/routes.ts ~2637) with no re-enqueue. And if the PR was already re-gated once before the pause, it is permanently sweep-ineligible (src/settings/agent-sweep.ts ~166-174, #never-endless-reregate), while repair priority excludes it once the surface is published and mergeable is clean (processors.ts ~1146-1200).
The only remaining wake is the sibling-merge wake (processors.ts ~1362-1396), i.e. it only recovers in repos with ongoing merges. Otherwise the PR sits green and approved forever with nothing pending anywhere — completely silent.
A fleet freeze during an incident therefore strands every PR that went green during the window.
Fix
On the paused→live transition, null out lastRegatedAt for the repo's open PRs (or enqueue agent-regate-pr for them) so they regain sweep candidacy exactly once.
Acceptance
- Pause, let a PR go green, unpause → the PR is dispositioned without any human action or new commit.
Any pause (
AGENT_ACTIONS_PAUSED, DB freeze, per-repoagentPaused— the latter also toggled by automation inorb/apr-repo-transfer.ts~232-238) makes the modepaused(src/settings/agent-execution.ts~38-42), so CI-completion passes during the window plan and then suppress.Unpause performs no catch-up. The settings write is a plain upsert (
mcp/server.ts~4874,api/routes.ts~2637) with no re-enqueue. And if the PR was already re-gated once before the pause, it is permanently sweep-ineligible (src/settings/agent-sweep.ts~166-174, #never-endless-reregate), while repair priority excludes it once the surface is published and mergeable is clean (processors.ts~1146-1200).The only remaining wake is the sibling-merge wake (
processors.ts~1362-1396), i.e. it only recovers in repos with ongoing merges. Otherwise the PR sits green and approved forever with nothing pending anywhere — completely silent.A fleet freeze during an incident therefore strands every PR that went green during the window.
Fix
On the paused→live transition, null out
lastRegatedAtfor the repo's open PRs (or enqueueagent-regate-prfor them) so they regain sweep candidacy exactly once.Acceptance