All checks were successful
Build and Push Docker Image / build (push) Successful in 7m45s
Replace Pipeline/Stage system with Competition/Round architecture. New schema: Competition, Round (7 types), JuryGroup, AssignmentPolicy, ProjectRoundState, DeliberationSession, ResultLock, SubmissionWindow. New services: round-engine, round-assignment, deliberation, result-lock, submission-manager, competition-context, ai-prompt-guard. Full admin/jury/applicant/mentor UI rewrite. AI prompt hardening with structured prompts, retry logic, and injection detection. All legacy pipeline/stage code removed. 4 new migrations + seed aligned. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.5 KiB
3.5 KiB
09. Appendix: System Inventory (As Reviewed)
1) Data Model Inventory (Selected Competition-Critical Models)
Pipeline/Stage Engine
PipelineTrackStageStageTransitionProjectStageStateCohortCohortProjectLiveProgressCursorOverrideActionDecisionAuditLog
Assignment/Evaluation
AssignmentAssignmentJobEvaluationEvaluationFormEvaluationSummaryEvaluationDiscussionDiscussionCommentConflictOfInterestGracePeriodReminderLog
Filtering
FilteringRuleFilteringResultFilteringJob
Awards
SpecialAwardAwardEligibilityAwardJurorAwardVote
Mentorship
MentorAssignmentMentorMessageMentorNoteMentorMilestoneMentorMilestoneCompletion
Documents/Submission
FileRequirementProjectFile
Live Voting
LiveVotingSessionLiveVoteAudienceVoter
Identity/Team
UserTeamMember
2) Service Inventory (Competition-Critical)
src/server/services/stage-engine.tssrc/server/services/stage-filtering.tssrc/server/services/stage-assignment.tssrc/server/services/live-control.tssrc/server/services/stage-notifications.tssrc/server/services/evaluation-reminders.tssrc/server/services/smart-assignment.tssrc/server/services/ai-assignment.tssrc/server/services/ai-filtering.tssrc/server/services/award-eligibility-job.tssrc/server/services/mentor-matching.ts
3) tRPC Router Inventory
programprojectuserassignmentevaluationfileexportauditsettingsgracePeriodlearningResourcepartnernotionImporttypeformImporttagapplicantliveVotinganalyticsavatarlogoapplicationmentorfilteringspecialAwardnotificationmessagewebhookprojectPoolwizardTemplatedashboardpipelinestagestageFilteringstageAssignmentcohortlivedecisionaward
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.tstests/unit/stage-assignment.test.tstests/unit/stage-filtering.test.tstests/unit/live-control.test.tstests/unit/override-validation.test.tstests/unit/award-governance.test.ts
Integration
tests/integration/pipeline-crud.test.tstests/integration/stage-config.test.tstests/integration/assignment-preview.test.tstests/integration/cohort-voting.test.tstests/integration/live-runtime.test.tstests/integration/decision-audit.test.ts
6) Legacy/Transition Observations
roundIdfields still exist as legacy optional references in multiple models.- Stage/pipeline is active architecture but legacy wording remains in some routers/comments/UI labels.
- 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.