feat: Add Weekly Performance Tracker with Corpus API integration
What does this MR do and why?
This MR adds a Weekly Performance Tracker feature that integrates with the Corpus API (standup audio recording system) alongside GitLab activity tracking.
Key Changes:
-
New Weekly Activity UI Page (
ui/weekly_performance.py):- CSV upload for managing intern teams with columns: Team Name, Full Name, GitLab Username, Corpus UID
- 7-day activity grid showing combined GitLab (commits, MRs, issues) and Corpus (standup audio) data
- Audio player for standup recordings embedded in the daily activity cells
- Week navigation to view historical data
-
Enhanced Corpus Client (
infrastructure/corpus/client.py):- User resolution: Accepts both usernames and UUIDs, resolves usernames to UUIDs when needed
- Optional date filtering:
fetch_records()accepts optional start/end dates for client-side filtering - Updated default API endpoint to
https://api.corpus.swecha.org - Added logging for debugging integration issues
-
CI/Config Updates:
- Updated
.gitlab-ci.ymland.pre-commit-config.yaml - Updated CHANGELOG.md with v1.0.0 release notes
- Updated
-
Cleanup:
- Removed deprecated test files (
test_gitlab.py,test_users.py)
- Removed deprecated test files (
User Experience:
Users can now:
- Upload a CSV with the team members (linking GitLab usernames and Corpus usernames)
- View a weekly grid showing both code activity (commits, MRs, issues) and standup audio
- Play standup recordings directly from the daily activity cells
- Navigate between weeks to review historical performance
This enables team leads to track both code contributions and standup participation in a unified dashboard.
MR acceptance checklist
-
Code follows project conventions (Ruff, MyPy) -
Tests added/updated for new functionality -
Documentation updated (CHANGELOG) -
No breaking changes to existing features
Edited by Ahlad Pataparla