-- Add optional time-scoped validity window to policy rules. -- NULL means "no constraint" (rule is always active / never expires). -- The policy engine skips rules where not_before > now() or expires_at <= now() -- at cache-load time (SetRules), not at query time. ALTER TABLE policy_rules ADD COLUMN not_before TEXT DEFAULT NULL; ALTER TABLE policy_rules ADD COLUMN expires_at TEXT DEFAULT NULL;