Full pipeline/track/stage architecture replacing the legacy round system. Schema: 11 new models (Pipeline, Track, Stage, StageTransition, ProjectStageState, RoutingRule, Cohort, CohortProject, LiveProgressCursor, OverrideAction, AudienceVoter) + 8 new enums. Backend: 9 new routers (pipeline, stage, routing, stageFiltering, stageAssignment, cohort, live, decision, award) + 6 new services (stage-engine, routing-engine, stage-filtering, stage-assignment, stage-notifications, live-control). Frontend: Pipeline wizard (17 components), jury stage pages (7), applicant pipeline pages (3), public stage pages (2), admin pipeline pages (5), shared stage components (3), SSE route, live hook. Phase 6 refit: 23 routers/services migrated from roundId to stageId, all frontend components refitted. Deleted round.ts (985 lines), roundTemplate.ts, round-helpers.ts, round-settings.ts, round-type-settings.tsx, 10 legacy admin pages, 7 legacy jury pages, 3 legacy dialogs. Phase 7 validation: 36 tests (10 unit + 8 integration files) all passing, TypeScript 0 errors, Next.js build succeeds, 13 integrity checks, legacy symbol sweep clean, auto-seed on first Docker startup. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
76 lines
2.5 KiB
Markdown
76 lines
2.5 KiB
Markdown
# Dependency Refit Inventory
|
|
|
|
This inventory is release-blocking. Every listed module must be validated against the new contracts.
|
|
|
|
## Backend Routers
|
|
|
|
- `src/server/routers/_app.ts`
|
|
- `src/server/routers/round.ts`
|
|
- `src/server/routers/filtering.ts`
|
|
- `src/server/routers/live-voting.ts`
|
|
- `src/server/routers/specialAward.ts`
|
|
- `src/server/routers/assignment.ts`
|
|
- `src/server/routers/evaluation.ts`
|
|
- `src/server/routers/file.ts`
|
|
- `src/server/routers/project.ts`
|
|
- `src/server/routers/project-pool.ts`
|
|
- `src/server/routers/application.ts`
|
|
- `src/server/routers/applicant.ts`
|
|
- `src/server/routers/export.ts`
|
|
- `src/server/routers/analytics.ts`
|
|
- `src/server/routers/program.ts`
|
|
- `src/server/routers/roundTemplate.ts`
|
|
- `src/server/routers/gracePeriod.ts`
|
|
- `src/server/routers/webhook.ts`
|
|
|
|
## Backend Services
|
|
|
|
- `src/server/services/smart-assignment.ts`
|
|
- `src/server/services/ai-filtering.ts`
|
|
- `src/server/services/ai-evaluation-summary.ts`
|
|
- `src/server/services/evaluation-reminders.ts`
|
|
- `src/server/services/in-app-notification.ts`
|
|
- `src/server/services/award-eligibility-job.ts`
|
|
- `src/server/services/webhook-dispatcher.ts`
|
|
|
|
## Admin Surfaces
|
|
|
|
- `src/app/(admin)/admin/rounds/**`
|
|
- `src/app/(admin)/admin/awards/**`
|
|
- `src/app/(admin)/admin/reports/page.tsx`
|
|
- `src/components/admin/round-pipeline.tsx`
|
|
- `src/components/admin/assign-projects-dialog.tsx`
|
|
- `src/components/admin/advance-projects-dialog.tsx`
|
|
- `src/components/admin/remove-projects-dialog.tsx`
|
|
- `src/components/admin/file-requirements-editor.tsx`
|
|
- `src/components/forms/round-type-settings.tsx`
|
|
|
|
## Jury, Applicant, Public
|
|
|
|
- `src/app/(jury)/jury/**`
|
|
- `src/components/jury/**`
|
|
- `src/app/(applicant)/applicant/**`
|
|
- `src/app/(public)/apply/**`
|
|
- `src/app/(public)/my-submission/**`
|
|
- `src/app/(public)/vote/**`
|
|
- `src/app/(public)/live-scores/**`
|
|
|
|
## Reporting and Exports
|
|
|
|
- chart and observer modules under `src/components/charts/**` and `src/components/observer/**`
|
|
- export and PDF paths under `src/components/shared/export-pdf-button.tsx`, `src/components/admin/pdf-report.tsx`, `src/server/routers/export.ts`
|
|
|
|
## Schema and Seed Paths
|
|
|
|
- `prisma/schema.prisma`
|
|
- relevant migrations and seed scripts under `prisma/`
|
|
|
|
## Mandatory Legacy Sweep Queries (Release Blockers)
|
|
|
|
1. `rg "trpc\.round" src`
|
|
2. `rg "\broundId\b" src/server src/components src/app`
|
|
3. `rg "round\.settingsJson|roundType" src/server src/components src/app`
|
|
4. `rg "model Round|enum RoundType" prisma/schema.prisma`
|
|
|
|
Allowlist exceptions (if any) must be explicit and approved in Phase 06 gates.
|