You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(review): config-as-code manifest override for the loop-escalation sweep cron (#8018) (#8059)
loop-escalation-sweep was the only flag-gated cron job in job-dispatch's switch
without a manifest-override re-check: six siblings (ops-alerts,
sweep-liveness-watchdog, reconcile-open-prs, reconcile-active-review-tracking,
generate-maintainer-recap, rag-index-repo) resolve a
resolveXManifestOverride(env) and pass it into isXEnabled(env, override) so a
stale in-flight job that lands after a .loopover.yml-based flag flip still
no-ops -- but an operator disabling Rent-a-Loop escalation via .loopover.yml
(rather than LOOPOVER_LOOP_ESCALATION) could not stop an already-enqueued
sweep job. The capability was never built when #6349 added the sweep.
Mirror the siblings end to end: a top-level `loopEscalation:` manifest block
({present, enabled}, parse/serialize/allowlist shaped exactly like
prReconciliation's), resolveLoopEscalationManifestOverride in
loop-escalation-wire.ts (60s single-slot TTL cache + fail-safe degrade to
present:false, mirroring pr-reconciliation.ts), isLoopEscalationSweepEnabled
honoring the override (present wins outright, else env fallback), and the
dispatch case resolving + passing it like its six siblings.
Tests mirror each sibling's: the full parse/round-trip suite for the new
manifest block, resolver present/absent/failure/TTL cases, override-precedence
on isLoopEscalationSweepEnabled, and both dispatch directions (manifest
disables despite env ON; manifest enables despite env OFF).
0 commit comments