Legacy parity matrix

Baseline (left): legacy monorepo AllureGroupOldapps/connect (clone or path on your machine)
Current (right): this repo (AllureConnect)
Indexed: 2026-03-26 — see diff -rq snapshot in git history / this document.

Tag legend: content | function | theme

App shell (signed-in)

Legacy path / behavior Current path / behavior Gap Tag
app/dashboard/layout.tsx — dark gradient + InteractiveBackground + relative z-10 children app/dashboard/layout.tsx — Clerk requireCustomerViewerAccess, AppShell, light connect-shell via globals.css Visual: legacy dark vs current light (intentional). Structure: both wrap nav + main. theme
app/admin/layout.tsx Same pattern Same theme
Sidebar: legacy inline in page components vs AppShell + AppShellNav Unified AppShell function: parity OK; nav from lib/navigation.ts function
Legacy dashboard/dispatch/[id] dashboard/dispatch/[dispatchId] Route param rename only function

Marketing (public)

Legacy Current Gap Tag
Mixed: some pages used InteractiveBackground + dark gradient ConnectPublicShell + light tokens + MarketingParticleField (fixed, mouse-reactive) theme: light-first; particles + grid restored theme
app/pricing, features, help, docs — separate page.tsx Same routes Copy/section diffs per page (see file diff) content
app/legal/terms, privacy, fair-use Single app/legal/page.tsx content: subroutes restored in this repo content
app/vr — full landing (VRHero, features, …) + dark Was AppShell stub content: VR landing restored (light-styled) content

Auth shell

Legacy Current Gap Tag
app/(auth)/layout.tsx in legacy Not always present in new repo Layout handled per-route + AuthShell function
reset-password route Missing in new Add if Clerk recovery flow needs dedicated route function
Sign-in pages Clerk + AuthShell, token + verify + sso-callback Token flow: see docs/allure-connect-next-steps.md function

Backgrounds and motion

Legacy Current Gap Tag
components/landing/interactive-background.tsx — canvas, spring mouse, fixed viewport MarketingParticleField — fixed canvas, mouse forces, light gradient base Behavior aligned (fixed, reactive); algorithms differ theme
Dashboard wrapped InteractiveBackground No particles on signed-in shell (light, distraction-free) Intentional product choice theme

API / docs

Legacy Current Gap Tag
app/docs/[...slug]/page.tsx reads monorepo docs/scorm-api/**/*.md app/docs/[...slug]/page.tsx + docs/scorm-api/** ported from AllureGroupOld/docs/scorm-api; hub lists classic sections Raw Markdown in browser (not rendered HTML); interactive API remains Swagger function
OpenAPI export + /api/docs Swagger UI /api/docs/openapi (JSON) + /api/docs (Swagger UI) + lib/openapi.ts Parity restored (branding: Allure Connect URLs / support email) function

Inventory diff summary (high level)

  • Dashboard / admin: Page files differ (Convex vs old auth); route coverage matches inventory; param [id] vs [packageId] / [dispatchId] only.
  • Auth: New routes: sign-in/token, verify, sso-callback. Legacy: reset-password only on old side.
  • API: Many admin/* subpaths only on one side (Convex migration); customer routes largely aligned.
  • Legal: Subpages exist in legacy; consolidated then re-split in Connect.

Deliverables tracking

Deliverable Location
Light tokens app/globals.css (:root --connect-*)
Shell behavior components/app-shell.tsx, components/connect-public-shell.tsx
VR marketing content components/vr/*, app/vr/page.tsx
Legal subpages app/legal/terms, privacy, fair-use
Docs deep links app/docs/[...slug]/page.tsx (renders docs/*.md)
Light theme reference docs/light-theme-shells.md

Inventory diff (2026-03-26 snapshot)

Structured diff -rq was run for app/dashboard, app/admin, app/(auth), app/docs, marketing routes, app/onboarding, and app/api between AllureGroupOld/apps/connect and this repo. Outcomes are summarized in dimension tables above; representative differences include legacy-only client.tsx splits, [id] vs [packageId] route folders, new Clerk routes (sign-in/token, verify, sso-callback), and API surface drift on admin internals (Convex migration). No further action required for this checklist item beyond maintaining the matrix as files change.