(manual review) Split require-decision-reason into action vs ignore settings (#757) (#780) master
* [Feature] Split require-decision-reason into action vs ignore settings (#757) Ignoring a job means "no violation / no action", but the single "Require decision reason" setting forced a written reason on every decision — including ignores — so the submit button stayed disabled (#757). Rather than change the existing setting's behaviour (some orgs rely on requiring a reason for ignores), split it into two independent org settings: - Require decision reason (for violating jobs) — the existing setting, now scoped to non-ignore decisions. - Require decision reason (when ignoring jobs) — new setting. A migration renames the existing column to `..._on_action`, adds `..._on_ignore`, and backfills the ignore flag from the old value so upgrading preserves current behaviour for every org. Enforcement (both the client submit gate and the server-side backstop) now picks the flag based on whether the decision is composed solely of IGNORE; the existing NCMEC-native bypass is preserved. The decision-reason textarea is now always shown in the review console. Also makes db/src/configs/scylla.ts read its env vars lazily so a Postgres-only local migration apply doesn't require Scylla env to be set (unrelated dev-ergonomics fix; happy to split out if preferred). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Nest decision-reason settings under a master toggle Replace the two flat "Require Decision Reason (for violating jobs)" and "(when ignoring jobs)" switches with a single master "Require decision reason" toggle that reveals two indented sub-toggles when on: "When applying an action" and "When ignoring jobs". The master is derived from the two existing flags (on when either is on); turning it on defaults to requiring a reason for actions only, and turning it off clears both. No backend change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * improve copy --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>