-
-
Notifications
You must be signed in to change notification settings - Fork 101
Description
Overview
This meta-issue tracks the implementation of a comprehensive discussion collaboration system for OpenContracts. The goal is to enable rich, community-driven interactions within corpus contexts, allowing users to engage in threaded discussions, recognize valuable contributions through voting and badges, and foster active communities around document collections.
Overarching Goal
Transform OpenContracts from a document annotation platform into a collaborative knowledge hub by adding discussion capabilities that enable:
- Threaded conversations about documents and corpuses
- Community-driven content curation through voting
- User reputation and recognition systems
- Corpus-level moderation and community management
- Analytics and insights for corpus owners
- Powerful search and discovery of discussions
Development Guidelines
All contributions to this feature set must follow these requirements:
Test Coverage
-
Backend: All changes must include comprehensive tests
- Run tests with:
docker compose -f test.yml run django python manage.py test - Target: >90% coverage for new code
- All tests must pass before PR approval
- Run tests with:
-
Frontend: All UI components must include Playwright component tests
- Run tests with:
yarn run test:ct - Mock backend data appropriately
- Test user interactions, loading states, and error handling
- Run tests with:
Code Quality
- Pre-commit hooks: Run
pre-commit run --all-filesbefore pushing- Ensures code formatting (Black, isort, prettier)
- Linting (flake8, ESLint)
- Type checking where applicable
Pull Request Process
- Target Branch: All PRs must be opened against the
v3.0.0.b3branch, NOTmain - PR Description: Include:
- Link to the issue(s) being addressed
- Description of changes
- Test coverage summary
- Screenshots/videos for UI changes
- Reviews: At least one approval required
- CI/CD: All GitHub Actions checks must pass
Epic Issues
This feature is organized into 8 epics, each with multiple sub-issues:
-
Epic: Discussion Threads - Core Threading & Agent Type Support #546: Epic: Discussion Threads - Core Threading & Agent Type Support
- Foundation for thread-based discussions
- Multi-agent conversation support
- Soft delete and moderation infrastructure
-
Epic: Voting System & Reputation #550: Epic: Voting System & Reputation
- Upvote/downvote functionality
- User reputation tracking (global and per-corpus)
- Async reputation calculation
-
Epic: Moderation System #555: Epic: Moderation System
- Corpus moderator roles and permissions
- Thread locking, pinning, deletion
- Moderation action tracking
-
Epic: Badge System #558: Epic: Badge System
- Badge definition and management
- Manual and auto-award capabilities
- Badge display on user profiles
-
Epic: Notification System #562: Epic: Notification System
- Real-time user notifications
- Multiple notification types (replies, votes, badges, etc.)
- Notification management UI
-
Epic: Corpus Engagement Metrics & Analytics #565: Epic: Corpus Engagement Metrics & Analytics
- Engagement tracking per corpus
- Analytics dashboard
- Contributor leaderboards
-
Epic: Thread Search & Discovery #569: Epic: Thread Search & Discovery
- Semantic and text search integration
- Thread and message search
- Leverages existing embedding infrastructure
-
Epic: Frontend UI Implementation #572: Epic: Frontend UI Implementation
- Thread list and detail views
- Voting, moderation, and notification UIs
- Analytics dashboards and search interfaces
Milestone
This work is tracked under milestone: v3.0.0.b3
Timeline
Estimated completion: 8-10 weeks total
Development can proceed in parallel across epics where dependencies allow.
Questions?
For questions or clarifications, please comment on the relevant epic or sub-issue, or reach out to the maintainers.