MOPC-App/docs/codex-architecture-redesign.../09-appendix-system-inventor...

154 lines
3.5 KiB
Markdown
Raw Normal View History

# 09. Appendix: System Inventory (As Reviewed)
## 1) Data Model Inventory (Selected Competition-Critical Models)
### Pipeline/Stage Engine
- `Pipeline`
- `Track`
- `Stage`
- `StageTransition`
- `ProjectStageState`
- `Cohort`
- `CohortProject`
- `LiveProgressCursor`
- `OverrideAction`
- `DecisionAuditLog`
### Assignment/Evaluation
- `Assignment`
- `AssignmentJob`
- `Evaluation`
- `EvaluationForm`
- `EvaluationSummary`
- `EvaluationDiscussion`
- `DiscussionComment`
- `ConflictOfInterest`
- `GracePeriod`
- `ReminderLog`
### Filtering
- `FilteringRule`
- `FilteringResult`
- `FilteringJob`
### Awards
- `SpecialAward`
- `AwardEligibility`
- `AwardJuror`
- `AwardVote`
### Mentorship
- `MentorAssignment`
- `MentorMessage`
- `MentorNote`
- `MentorMilestone`
- `MentorMilestoneCompletion`
### Documents/Submission
- `FileRequirement`
- `ProjectFile`
### Live Voting
- `LiveVotingSession`
- `LiveVote`
- `AudienceVoter`
### Identity/Team
- `User`
- `TeamMember`
## 2) Service Inventory (Competition-Critical)
- `src/server/services/stage-engine.ts`
- `src/server/services/stage-filtering.ts`
- `src/server/services/stage-assignment.ts`
- `src/server/services/live-control.ts`
- `src/server/services/stage-notifications.ts`
- `src/server/services/evaluation-reminders.ts`
- `src/server/services/smart-assignment.ts`
- `src/server/services/ai-assignment.ts`
- `src/server/services/ai-filtering.ts`
- `src/server/services/award-eligibility-job.ts`
- `src/server/services/mentor-matching.ts`
## 3) tRPC Router Inventory
- `program`
- `project`
- `user`
- `assignment`
- `evaluation`
- `file`
- `export`
- `audit`
- `settings`
- `gracePeriod`
- `learningResource`
- `partner`
- `notionImport`
- `typeformImport`
- `tag`
- `applicant`
- `liveVoting`
- `analytics`
- `avatar`
- `logo`
- `application`
- `mentor`
- `filtering`
- `specialAward`
- `notification`
- `message`
- `webhook`
- `projectPool`
- `wizardTemplate`
- `dashboard`
- `pipeline`
- `stage`
- `stageFiltering`
- `stageAssignment`
- `cohort`
- `live`
- `decision`
- `award`
## 4) Page Inventory (High-Level by Role Group)
### Admin
- members, invite members, programs, apply settings, pipeline wizard/advanced/editor, projects, mentors, awards, reports, settings, audit, messaging, partner, learning
### Applicant
- dashboard, team, pipeline views, stage docs/status views, mentoring, document center
### Jury
- stage list, assignment list, project evaluate pages, compare page, live page, awards, learning
### Mentor
- dashboard, projects, project detail, resources
### Auth/Public
- apply, edition apply, accept invite, login, onboarding, set password, public vote/live score, submission pages
## 5) Existing Test Inventory
### Unit
- `tests/unit/stage-engine.test.ts`
- `tests/unit/stage-assignment.test.ts`
- `tests/unit/stage-filtering.test.ts`
- `tests/unit/live-control.test.ts`
- `tests/unit/override-validation.test.ts`
- `tests/unit/award-governance.test.ts`
### Integration
- `tests/integration/pipeline-crud.test.ts`
- `tests/integration/stage-config.test.ts`
- `tests/integration/assignment-preview.test.ts`
- `tests/integration/cohort-voting.test.ts`
- `tests/integration/live-runtime.test.ts`
- `tests/integration/decision-audit.test.ts`
## 6) Legacy/Transition Observations
1. `roundId` fields still exist as legacy optional references in multiple models.
2. Stage/pipeline is active architecture but legacy wording remains in some routers/comments/UI labels.
3. Some critical business rules still rely on JSON keys and implicit route behavior.
This inventory is the baseline used for the redesign and migration plans in this folder.