Overview
src/moderation/reports/content-reporting.service.ts allows users to submit reports but there is no escalation workflow. Reports sit in PENDING status indefinitely with no assignment to a moderator, SLA tracking, or automated escalation to senior moderators when unreviewed.
Specifications
Features:
- Auto-assign reports to available moderators using a round-robin queue.
- Escalate unreviewed reports to senior moderators after a configurable SLA (default 24 hours).
Tasks:
- Add
assignedModerator and escalatedAt fields to ContentReport entity.
- Create
ReportAssignmentService with round-robin assignment from the moderator pool.
- Create a scheduled task that escalates reports unreviewed after
MODERATION_SLA_HOURS.
- Send a notification to the assigned moderator on assignment and escalation.
Impacted Files:
src/moderation/reports/content-report.entity.ts
- New
src/moderation/assignment/report-assignment.service.ts
Acceptance Criteria
- New reports are assigned to a moderator within 5 minutes.
- Reports unreviewed after the SLA are escalated and re-assigned.
- Moderator receives notification on assignment.
Overview
src/moderation/reports/content-reporting.service.tsallows users to submit reports but there is no escalation workflow. Reports sit inPENDINGstatus indefinitely with no assignment to a moderator, SLA tracking, or automated escalation to senior moderators when unreviewed.Specifications
Features:
Tasks:
assignedModeratorandescalatedAtfields toContentReportentity.ReportAssignmentServicewith round-robin assignment from the moderator pool.MODERATION_SLA_HOURS.Impacted Files:
src/moderation/reports/content-report.entity.tssrc/moderation/assignment/report-assignment.service.tsAcceptance Criteria