Summary
Implement a centralized reason taxonomy management system for reports that provides a canonical list of report reasons with grouped categories, editable options, and a shared constants module for consistency across the application.
Current State
- No centralized management for report reasons
- Report dialogs may have inconsistent labeling across different parts of the application
- Difficult to maintain and update report reason categories
What We Want
- Grouped report reason categories (harassment, copyright, misinformation, spam, other)
- Descriptions for each category
- Ability to create, edit, and merge reasons
- Historical data preservation when reasons are merged (redirects keep data queryable)
- Ordering controls for managing reason display sequence
- Shared constants module in
lib/ directory
- Single source of truth consumed by both learner-facing and admin report dialogs
Technical Context
- Implement shared constants module in
lib/ directory
- Ensure both learner-facing report dialogs and admin interfaces consume identical labels from the same source
- When merging reasons, implement redirects to maintain historical data queryability
Acceptance Criteria
Summary
Implement a centralized reason taxonomy management system for reports that provides a canonical list of report reasons with grouped categories, editable options, and a shared constants module for consistency across the application.
Current State
What We Want
lib/directoryTechnical Context
lib/directoryAcceptance Criteria
lib/