-- Targeted indexes for hot queries whose current indexes don't match the -- filter. Each one was chosen after reading the actual sqlx call sites; we -- didn't add "just in case" indexes on tables whose only access pattern is -- a PK lookup. -- Outbox drainer: `WHERE status = 'queued' ORDER BY created_at LIMIT $1` -- (crates/cm-db/src/repo/outbox.rs). The existing outbox_workspace_idx is -- `(workspace_id, created_at DESC)` — no help for the workspace-agnostic -- drainer that pops the oldest queued row. Partial index keeps it tiny. CREATE INDEX IF NOT EXISTS outbox_queued_idx ON outbox (created_at) WHERE status = 'queued'; -- Audit log rate limiting: `WHERE workspace_id = $1 AND event_type = $2 -- AND created_at > now() - interval '1 hour'` fires on every door tool -- call (cm-api/src/mcp_door.rs) and every A2A invocation. Descending -- created_at because count()s scan the recent tail. CREATE INDEX IF NOT EXISTS audit_log_workspace_event_idx ON audit_log (workspace_id, event_type, created_at DESC); -- Node rules eval loop: `SELECT ... FROM node_rules WHERE enabled` -- (crates/cm-db/src/repo/node_rules.rs:90) runs periodically. Partial -- index avoids indexing disabled rules. CREATE INDEX IF NOT EXISTS node_rules_enabled_idx ON node_rules (workspace_id) WHERE enabled;