CMSAICORE+0
CMS comments with AI-assisted moderation
Add moderated Comment entities on CMS Content using HasTranslations (CommentTranslation) with CMS overrides (HasCommentTranslations: write current locale only; read current locale or chronological original). Standard CRUD + optional AI classification. Option A (default): confident approve/reject closes immediately (1/1); uncertain sets approvers_required=1, disapprovers_required=2 + preliminary AI disapprove() so humans can override. Option B (config): always 2 votes (AI first, human second).
Tasks.
- Task 1:
CMSTablesenum + comments migration5/5 - Task 2: Moderation audit log migration2/2
- Task 3:
HasCommentTranslationstrait +CommentTranslationmodel6/6 - Task 4:
Commentmodel + approval bridge +Content::comments()5/5 - Task 5:
CommentModerationLogmodel3/3 - Task 6: CMS entity registration for CRUD3/3
- Task 7:
CommentRequiresModerationevent + dispatch4/4 - Task 8: AI config + system moderator user4/4
- Task 9:
CommentModerationContextBuilder4/4 - Task 10: Prompt +
CommentModerationService(classifier)5/5 - Task 11:
ModerateCommentJob— vote logic4/4 - Task 12: AI listener + EventServiceProvider4/4
- Task 13: Filament — show AI state on Comment modifications4/4
- Task 14:
CrudService— pass moderatorreason3/3 - Task 15: End-to-end CMS feature tests5/5
- Task 16: Final verification3/3