Skip to content

AI-assisted submission review, ban system, and steward improvements#476

Open
rasca wants to merge 1 commit intodevfrom
submissions
Open

AI-assisted submission review, ban system, and steward improvements#476
rasca wants to merge 1 commit intodevfrom
submissions

Conversation

@rasca
Copy link
Contributor

@rasca rasca commented Mar 23, 2026

Summary

  • AI review pipeline: Tier-1 deterministic rules auto-reject clear violations (12.1% of pending), tier-2 Claude Opus analysis handles nuanced reviews via OpenRouter
  • Ban system: User ban fields, admin bulk actions, banned user submission blocking, and one-time appeal workflow with steward review endpoints
  • Review template improvements: Templates categorized by action type (accept/reject/more_info) with filtered dropdowns in steward UI
  • Calibration data: Structured data JSON field on submission notes tracks action, points, staff reply, template ID, and confidence for review quality analysis
  • Free-text search: Untagged search terms in steward search bar now search across usernames, notes, and evidence URLs
  • Loaddata fix: Signal handlers skip processing during fixture loading to avoid ordering issues

Test plan

  • Run python manage.py test contributions.tests.test_review_submissions for AI review pipeline tests
  • Run python manage.py test contributions.tests.test_ban_submission_block for ban blocking tests
  • Run python manage.py test users.tests.test_ban_system for ban/appeal model tests
  • Run python manage.py test contributions.tests.test_calibration_data for calibration data tests
  • Verify steward review templates filter correctly by action type in UI
  • Test free-text search in steward submissions search bar
  • Test ban appeal flow: banned user submits appeal → steward reviews → user unbanned on approval

- AI review pipeline with tier-1 deterministic rules and tier-2 Claude analysis
- User ban system with fields, admin actions, and one-time appeal workflow
- Review templates categorized by action type (accept/reject/more_info)
- Structured data field on submission notes for calibration tracking
- Free-text search across usernames, notes, and evidence URLs
- Block banned users from creating new submissions
- Steward endpoints for listing and reviewing ban appeals
- Loaddata-safe signal handlers with raw=True checks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant