Competition/Round architecture: full platform rewrite (Phases 1-9)
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>
This commit is contained in:
2026-02-15 23:04:15 +01:00
parent 9ab4717f96
commit 6ca39c976b
349 changed files with 69938 additions and 28767 deletions

View File

@@ -34,16 +34,23 @@ import { webhookRouter } from './webhook'
import { projectPoolRouter } from './project-pool'
import { wizardTemplateRouter } from './wizard-template'
import { dashboardRouter } from './dashboard'
// Round redesign Phase 2 routers
import { pipelineRouter } from './pipeline'
import { stageRouter } from './stage'
import { stageFilteringRouter } from './stageFiltering'
import { stageAssignmentRouter } from './stageAssignment'
// Legacy round routers (kept)
import { cohortRouter } from './cohort'
import { liveRouter } from './live'
import { decisionRouter } from './decision'
import { awardRouter } from './award'
// Competition architecture routers (Phase 0+1)
import { competitionRouter } from './competition'
import { roundRouter } from './round'
import { juryGroupRouter } from './juryGroup'
// Competition architecture routers (Phase 2)
import { assignmentPolicyRouter } from './assignmentPolicy'
import { assignmentIntentRouter } from './assignmentIntent'
// Competition architecture routers (Phase 4 - Backend Orchestration)
import { roundEngineRouter } from './roundEngine'
import { roundAssignmentRouter } from './roundAssignment'
import { deliberationRouter } from './deliberation'
import { resultLockRouter } from './resultLock'
/**
* Root tRPC router that combines all domain routers
@@ -84,15 +91,23 @@ export const appRouter = router({
projectPool: projectPoolRouter,
wizardTemplate: wizardTemplateRouter,
dashboard: dashboardRouter,
// Round redesign Phase 2 routers
pipeline: pipelineRouter,
stage: stageRouter,
stageFiltering: stageFilteringRouter,
stageAssignment: stageAssignmentRouter,
// Legacy round routers (kept)
cohort: cohortRouter,
live: liveRouter,
decision: decisionRouter,
award: awardRouter,
// Competition architecture routers (Phase 0+1)
competition: competitionRouter,
round: roundRouter,
juryGroup: juryGroupRouter,
// Competition architecture routers (Phase 2)
assignmentPolicy: assignmentPolicyRouter,
assignmentIntent: assignmentIntentRouter,
// Competition architecture routers (Phase 4 - Backend Orchestration)
roundEngine: roundEngineRouter,
roundAssignment: roundAssignmentRouter,
deliberation: deliberationRouter,
resultLock: resultLockRouter,
})
export type AppRouter = typeof appRouter