## Context & Requests for Reviewers ## Tests ## (Optional) Rollout Plan ## Checklist _Only check items that apply to this PR; leave the rest unchecked._ - [ ] **If you changed anything user-facing** (i.e. user interface or APIs): Did you update the CHANGELOG.md and related docs? - [ ] **If you changed `server/models/**/{ContentTypeModel,ActionModel,RuleModel,PolicyModel}.ts`:** Did you update the corresponding history tables and their triggers? - [ ] **If you changed `db/src/scripts/**` and used `CREATE TABLE`, `ADD COLUMN`, or `ALTER COLUMN`:** Are as many columns marked `NOT NULL` as possible? If some columns can sometimes be null depending on other columns, are there `CHECK` constraints capturing those relationships, and are these also reflected using unions in the associated Kysely types? - [ ] **If you added a new signal in `server/services/signalsService/signals/**`:** Did you classify every error case as a permanent error (`SignalPermanentError`, no retry) or a normal error (retryable)? Any case where the signal can't determine a score should be a `SignalPermanentError`.