Engine health

ControlLayer's lifecycle automation runs on a scheduled engine. Because your enforcement posture depends on it, the product watches the engine and tells you - visibly - if anything needs attention.

What the engine does each cycle

The scheduler runs every five minutes. Each pass:

  1. Activates scheduled windows whose start time has arrived.
  2. Expires active windows whose end time has passed.
  3. Retries windows in error, up to the configured ceiling.
  4. Reconciles enforcement state - recomputing what every scope's value should be from the set of active windows and correcting any drift, including manual edits, missing rows, and orphaned entries.
Why five minutes is the design cadence

Bypass operations are planned in minutes-to-hours, and a five-minute worst-case latency on scheduled transitions keeps the engine light. A window scheduled for 1:23 pm activates on the pass that follows - by ~1:25 pm. Immediate windows don't wait for the engine at all; they activate at submission.

How health is surfaced

  • Dashboard health strip: the bypass dashboard shows an engine-health indicator with the scheduler's current state at a glance.
  • Warning banner: if the engine is stopped or overdue, a banner appears so the condition cannot be missed during day-to-day work.
  • Watchdog: an independent watchdog job monitors the engine itself - the component whose job is noticing problems is itself monitored.
  • Error windows: windows that exhausted their retries are surfaced for admin attention rather than failing silently.
Screenshot placeholder Dashboard engine-health strip - scheduler state chip and warning banner

If the engine is not running

  1. Check Setup → Scheduled Jobs for the ControlLayer scheduler entries.
  2. Scheduled Apex jobs can be removed by org admins or blocked by org-wide limits (100 scheduled jobs per org). If the job is missing, re-schedule it from the app per your onboarding materials, or contact support.
  3. Once the engine resumes, it self-corrects: overdue activations and expiries are processed on the next pass, and reconciliation restores enforcement to exactly what the active window set dictates. Missed transitions are delayed, never lost.

What "healthy" means operationally

SignalHealthy state
SchedulerJob present and running on its five-minute cadence
Error windowsNone resting in Error status
Enforcement driftNone - reconciliation reports nothing to correct
Terminal hygieneExpired/deactivated windows closed out, none stuck mid-transition