diff --git a/crates/manager-core/migrations/0037_drop_idx_cron_triggers_due.sql b/crates/manager-core/migrations/0037_drop_idx_cron_triggers_due.sql new file mode 100644 index 0000000..eeba180 --- /dev/null +++ b/crates/manager-core/migrations/0037_drop_idx_cron_triggers_due.sql @@ -0,0 +1,12 @@ +-- F-M-001 (audit 2026-06-07): drop idx_cron_triggers_due. +-- +-- Created in 0017_cron_triggers.sql with a comment claiming it serves +-- the scheduler. The actual scheduler query is +-- `... WHERE t.enabled = TRUE FOR UPDATE OF d SKIP LOCKED` — no +-- `last_fired_at` predicate. The index is unused; the join is +-- effectively a full table scan of cron details against enabled +-- triggers (small N today, so the overhead is invisible — but the +-- index is also pure write amplification with zero read payoff). +-- +-- Drop is reversible by re-running the CREATE INDEX from 0017. +DROP INDEX IF EXISTS idx_cron_triggers_due;