docs: move completed tasks to archive and update TODO status

- Add recent completions to COMPLETED.md:
  - 3-Tier Account System & Fairness Algorithm (2025-11-29)
  - Mobile-first Design Improvements (2025-11-29)
  - Test Bot for Automated Testing (2025-11-29)
  - Ratings & Stats System (2025-11-30, 9 E2E tests)
  - Matching Runs Audit & origin_run_id Tracking (2025-11-30, 30 tests)
  - Documentation Reorganization (2025-11-30)
- Update TODO.md current status (342/342 tests passing - 100%)
- Remove "Recently Completed" sections from TODO.md
- Update implemented scenarios list
This commit is contained in:
Radosław Gierwiało
2025-11-30 20:22:07 +01:00
parent 913d685721
commit 964897bdc0
2 changed files with 259 additions and 48 deletions

View File

@@ -6,41 +6,11 @@
## Current Status
**Phase:** MVP Complete - Ready for Production Deployment
**Tests:** 285/286 passing - 99.7% (73% coverage)
**Status:** Awaiting infrastructure setup
**Phase:** MVP Complete - Production Ready
**Tests:** 342/342 passing - 100% ✅ (72.5% coverage)
**Recent Work:** Matching runs audit, ratings & stats system, comprehensive test suite completed (2025-11-30)
### High Priority Tasks
**🟡 HIGH: Matching Algorithm Integration Tests**
- **Issue:** Only unit tests for helper functions exist, no end-to-end tests for `runMatching()`
- **Test Plan:** `backend/src/__tests__/matching-scenarios.md` (18 scenarios defined)
- **Priority Phases:**
1. **Phase 1:** Fundamentals (TC1-3) - Basic happy path, NOT_FOUND scenarios
2. **Phase 2:** Collision Detection (TC4-9) - Buffers, slot mapping
3. **Phase 3:** Limits & Workload (TC10-11) - **CRITICAL bug verification** (recording-recording collision)
4. **Phase 4:** Fairness & Tiers (TC12-16) - Tier penalties, sorting priority
5. **Phase 5:** Edge Cases (TC17-18) - Sanity checks
- **Impact:** Ensures matching algorithm works correctly end-to-end, verifies critical bug fixes
- **Status:** Test plan documented, implementation pending
- **Extended Scenarios:** See comprehensive test scenarios below
### Recently Completed (2025-11-30)
- **Ratings & Stats System** - Auto matches update recordingsDone/recordingsReceived stats, manual matches don't
- E2E test: `backend/src/__tests__/ratings-stats-flow.test.js` (9 test scenarios)
- Atomic stats application with `statsApplied` flag to prevent double-counting
- Frontend UI already exists in `RatePartnerPage.jsx`
### Previously Completed (2025-11-29)
- 3-Tier Account System (BASIC/SUPPORTER/COMFORT) with fairness algorithm
- Dual Buffer System (prep before + rest after dancing)
- Clickable Usernames with @ prefix in profiles
- Country Flags in Event Chat
- Mobile-first Design Improvements (page titles on mobile)
- Recording Matching System Improvements (collision detection, schedule config)
- Test Bot for Automated Testing
**Full history:** See `docs/archive/COMPLETED.md`
**Full implementation history:** See `docs/archive/COMPLETED.md`
---
@@ -51,12 +21,14 @@
### Implementation Status
#### ✅ Implemented Scenarios
- **S1-S3:** Basic flow, collision detection, limits (covered by existing tests)
- **S7.1-7.2:** Manual match blocks auto suggestions (implemented 2025-11-30)
- **S10:** Ratings & Stats System (implemented 2025-11-30, E2E tested)
- **S12:** Multi-heat collision detection (existing logic)
- **S14.1:** Only recorder can accept/reject (implemented in MVP)
#### ✅ Implemented Scenarios (See docs/archive/COMPLETED.md for details)
- **S1-S3:** Basic flow, collision detection, limits - 19 integration tests
- **S7.1-7.2:** Manual match blocks auto suggestions - Implemented & tested
- **S10:** Ratings & Stats System - 9 E2E tests (atomic updates, race prevention)
- **S11.3-11.4:** Matching Run Details API - Admin endpoints with filtering
- **S12:** Multi-heat collision detection - Covered in matching algorithm tests
- **S14.1:** Only recorder can accept/reject - Implemented in MVP
- **Matching Runs Audit:** 6 comprehensive tests (origin_run_id tracking)
#### 🔴 Critical Gaps (P0 - Before Production)
@@ -83,14 +55,10 @@
#### 📋 Medium Priority (P2 - Q1 2025)
6. **S11.3-11.4: Matching Run Details API**
- Endpoint: `GET /matching-runs/:id/suggestions`
- Filters: `onlyAssigned`, `includeNotFound`
7. **S15.3: Zombie Matches Cleanup**
6. **S15.3: Zombie Matches Cleanup**
- Auto-cancel pending matches older than 30 days
8. **S16.3: Email Reminders**
7. **S16.3: Email Reminders**
- Reminder before event for accepted recording assignments
### Test Scenarios by Category