Rallly is an open-source scheduling and collaboration tool designed to make organizing events and meetings easier.
This report summarizes scanner evidence for lukevella/rallly, a TypeScript project with 5,334 GitHub stars. SynthScan examined 215,967 lines of code across 1457 source files, recording 250 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 1.8 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 164 finding(s).
Are imports declared and package/API names verified? 43 finding(s).
Are wrappers, guards, and repeated structures necessary? 167 finding(s).
Which changes need focused human review? 250 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 250 distinct pattern matches across 8 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packages/database/prisma/seed/data.ts | 22 | // ─── Users ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/database/prisma/seed/data.ts | 58 | // ─── Spaces ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/database/prisma/seed/data.ts | 84 | // ─── Subscriptions ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/database/prisma/seed/data.ts | 122 | // ─── Poll definitions ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/database/prisma/seed/data.ts | 155 | // ── Personal space polls ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/database/prisma/seed/data.ts | 482 | // ── Acme Inc polls ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/database/prisma/seed/data.ts | 1081 | // ─── Event Types ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/database/prisma/seed/data.ts | 1099 | // ── Personal space (space-1) ───────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/database/prisma/seed/data.ts | 1128 | // ── Acme Inc (space-2) ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/database/prisma/seed/data.ts | 1181 | // ─── Scheduled Events ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/database/prisma/seed/data.ts | 1205 | // ── Personal space events ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/database/prisma/seed/data.ts | 1320 | // ── Acme Inc events ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 2 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 7 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 14 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 18 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 24 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 29 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 51 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 54 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 58 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 61 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 69 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 72 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 82 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 86 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 90 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 95 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 114 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 118 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 126 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 129 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 137 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .github/workflows/docker-image.yml | 141 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/docker-image.yml | 152 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/docker-image.yml | 154 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/docker-image.yml | 165 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/docker-image.yml | 168 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/docker-image.yml | 182 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/docker-image.yml | 184 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/delete-stale-preview-branches.yml | 2 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/delete-stale-preview-branches.yml | 11 | # ----------------------------------------------------------------- | COMMENT |
| MEDIUM | apps/web/src/trpc/routers/spaces.ts | 8 | // ── Mutations ──────────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …es/ui/src/event-calendar/event-calendar-month-view.tsx | 1002 | function EventCalendarMoreIndicator({ | CODE |
| LOW | …es/ui/src/event-calendar/event-calendar-month-view.tsx | 1092 | function EventCalendarMoreDefaultContent({ | CODE |
| LOW | …ui/src/event-calendar/event-calendar-resource-view.tsx | 63 | function EventCalendarResourceView({ | CODE |
| LOW | …ui/src/event-calendar/event-calendar-resource-view.tsx | 338 | function EventCalendarResourceAllDayCell({ | CODE |
| LOW | …ui/src/event-calendar/event-calendar-resource-view.tsx | 452 | function EventCalendarResourceColumn({ | CODE |
| LOW | packages/ui/src/event-calendar/event-calendar.tsx | 917 | function useEventCalendarNavigation(): { | CODE |
| LOW | packages/ui/src/event-calendar/event-calendar.tsx | 966 | function useEventCalendarSelection(): { | CODE |
| LOW | packages/ui/src/event-calendar/event-calendar.tsx | 982 | function useEventCalendarInteractions(): { | CODE |
| LOW | packages/ui/src/event-calendar/event-calendar.tsx | 1125 | function useEventCalendarViewSettings(): { | CODE |
| LOW | packages/ui/src/event-calendar/event-calendar.tsx | 1539 | function useEventCalendarViewContext(): { view: CalendarView } { | CODE |
| LOW | packages/ui/src/event-calendar/event-calendar-nav.tsx | 273 | function EventCalendarViewSwitcher({ | CODE |
| LOW | packages/ui/src/event-calendar/event-calendar-nav.tsx | 416 | function EventCalendarViewShortcut({ children }: { children: ReactNode }) { | CODE |
| LOW | …ges/ui/src/event-calendar/event-calendar-time-grid.tsx | 387 | function useEventCalendarAllDayBars(days: Date[]): { | CODE |
| LOW | …ges/ui/src/event-calendar/event-calendar-time-grid.tsx | 1180 | function EventCalendarNowIndicator({ | CODE |
| LOW | packages/emails/src/transport.ts | 12 | export function createTransportForProvider(provider: EmailProvider) { | CODE |
| LOW | …/emails/src/templates/new-participant-confirmation.tsx | 28 | async function NewParticipantConfirmationEmail({ | CODE |
| LOW | …/emails/src/templates/new-participant-confirmation.tsx | 123 | export async function sendNewParticipantConfirmationEmail({ | CODE |
| LOW | …es/emails/src/templates/account-deletion-scheduled.tsx | 27 | async function AccountDeletionScheduledEmail({ | CODE |
| LOW | …es/emails/src/templates/account-deletion-scheduled.tsx | 127 | export async function sendAccountDeletionScheduledEmail({ | CODE |
| LOW | packages/emails/src/templates/finalized-participant.tsx | 167 | export async function sendFinalizeParticipantEmail({ | CODE |
| LOW | …kages/emails/src/templates/event-rsvp-confirmation.tsx | 32 | async function EventRsvpConfirmationEmail({ | CODE |
| LOW | …kages/emails/src/templates/event-rsvp-confirmation.tsx | 141 | export async function sendEventRsvpConfirmationEmail({ | CODE |
| LOW | packages/languages/src/get-preferred-locale.ts | 5 | export function getPreferredLocaleFromHeaders({ | CODE |
| LOW | …posthog/src/scripts/backfill-space-group-properties.ts | 83 | (async function backfillSpaceGroupProperties() { | CODE |
| LOW | packages/posthog/src/scripts/purge-guest-profiles.ts | 250 | async function countQueuedEventDeletions(personUuid: string) { | CODE |
| LOW | …s/billing/src/scripts/cleanup-portal-configurations.ts | 42 | (async function cleanupPortalConfigurations() { | CODE |
| LOW | apps/landing/src/components/compare-table.tsx | 86 | export function CompareTableFeatureDescription({ | CODE |
| LOW | apps/landing/src/i18n/middleware.ts | 30 | function shouldRedirectFallbackLocale(pathname: string): boolean { | CODE |
| LOW | …cale]/control-panel/control-panel-sidebar-provider.tsx | 6 | export function ControlPanelSidebarProvider({ | CODE |
| LOW | …ontrol-panel/branding/components/branding-settings.tsx | 27 | async function ConfiguredByEnvironmentVariableAlert() { | CODE |
| LOW | …ontrol-panel/branding/components/branding-settings.tsx | 45 | async function StorageNotConfiguredAlert() { | CODE |
| LOW | …ontrol-panel/branding/components/branding-settings.tsx | 79 | async function SetEnvironmentVariableAlert({ variable }: { variable: string }) { | CODE |
| LOW | …/app/[locale]/(space)/settings/general/page-client.tsx | 39 | export function GeneralSettingsPageClient() { | CODE |
| LOW | …/profile/components/cancel-account-deletion-button.tsx | 9 | export function CancelAccountDeletionButton() { | CODE |
| LOW | …ttings/profile/components/account-deletion-summary.tsx | 74 | export function AccountDeletionSummarySkeleton() { | CODE |
| LOW | …/settings/profile/components/delete-account-dialog.tsx | 39 | function ScheduleAccountDeletionDialog({ | CODE |
| LOW | …/settings/profile/components/delete-account-dialog.tsx | 108 | function InstantDeleteAccountDialog({ | CODE |
| LOW | …ale]/(space)/settings/billing/components/plan-card.tsx | 25 | export function PlanCardHeadingDescription({ | CODE |
| LOW | …dashboard)/members/components/invite-member-dialog.tsx | 45 | function useInviteMemberFormSchema() { | CODE |
| LOW | apps/web/src/emails/queue.ts | 63 | export function scheduleQueuedEmailDelivery({ batchId }: { batchId: string }) { | CODE |
| LOW | apps/web/src/emails/queue.ts | 87 | export function startQueuedEmailScheduler() { | CODE |
| LOW | apps/web/src/features/instance-settings/mutations.ts | 63 | export async function updateInstanceFooterLinks(footerLinks: FooterLink[]) { | CODE |
| LOW | apps/web/src/features/auth/schema.ts | 16 | export function usePasswordValidationSchema() { | CODE |
| LOW | apps/web/src/features/auth/utils.ts | 14 | export function calculatePasswordStrength(password: string): number { | CODE |
| LOW | apps/web/src/features/review-request/data.ts | 16 | export async function getReviewRequestRecipient(userId: string) { | CODE |
| LOW | apps/web/src/features/review-request/utils.ts | 14 | export function isEligibleForReviewRequest({ | CODE |
| LOW | apps/web/src/features/review-request/mutations.ts | 47 | async function queueReviewRequestOrThrow({ | CODE |
| LOW | apps/web/src/features/user/mutations.ts | 203 | export async function deleteOrphanedAnonymousUsers() { | CODE |
| LOW | apps/web/src/features/user/account-deletion/data.ts | 5 | export async function findUsersScheduledForRemoval({ | CODE |
| LOW | apps/web/src/features/user/account-deletion/data.ts | 27 | export async function getAccountDeletionSummary({ | CODE |
| LOW | apps/web/src/features/email-queue/data.ts | 19 | export async function listPurgeableQueuedEmailIds({ | CODE |
| LOW | apps/web/src/features/conferencing/utils.ts | 18 | export function integrationIdToConferencingProvider( | CODE |
| LOW | apps/web/src/features/conferencing/utils.ts | 45 | export function zoomMeetingToConferencing( | CODE |
| LOW | apps/web/src/features/conferencing/utils.ts | 81 | export function teamsMeetingToConferencing( | CODE |
| LOW | apps/web/src/features/conferencing/utils.ts | 117 | export function webexMeetingToConferencing( | CODE |
| LOW | apps/web/src/features/conferencing/utils.ts | 187 | export function getMicrosoftTeamsAuthority(tenantId: string) { | CODE |
| LOW | apps/web/src/features/conferencing/utils.ts | 253 | export async function verifyZoomWebhookSignature({ | CODE |
| LOW | apps/web/src/features/conferencing/utils.ts | 294 | export async function createZoomUrlValidationResponse({ | CODE |
| LOW | apps/web/src/features/conferencing/constants.ts | 26 | export function getConfiguredConferencingProviders(): ConferencingProvider[] { | CODE |
| LOW | apps/web/src/features/conferencing/constants.ts | 46 | export function getAvailableConferencingProviders(): ConferencingProvider[] { | CODE |
| 64 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ills/two-factor-authentication-best-practices/SKILL.md | 280 | email: "user@example.com", | CODE |
| LOW | .agents/skills/organization-best-practices/SKILL.md | 106 | await authClient.organization.inviteMember({ email: "user@example.com", role: "member" }); | CODE |
| LOW | .agents/skills/organization-best-practices/SKILL.md | 158 | memberIdOrEmail: "user@example.com", | CODE |
| LOW | packages/database/prisma/seed/data.ts | 67 | { id: "space-2", name: "Acme Inc", ownerId: "user-1", tier: "pro" }, | CODE |
| LOW | packages/screenshots/capture/participant-guide.spec.ts | 101 | await dialog.getByLabel("Name").fill("John Doe"); | CODE |
| LOW | packages/screenshots/capture/participant-guide.spec.ts | 108 | await page.getByText("John Doe").waitFor(); | CODE |
| LOW | packages/emails/src/send.test.tsx | 32 | to: "user@example.com", | CODE |
| LOW | packages/emails/src/send.test.tsx | 49 | to: "user@example.com", | CODE |
| LOW | packages/emails/src/send.test.tsx | 68 | to: "user@example.com", | CODE |
| LOW | packages/emails/src/send.test.tsx | 81 | to: "user@example.com", | CODE |
| LOW | packages/emails/src/send.test.tsx | 97 | to: "user@example.com", | CODE |
| LOW⚡ | packages/emails/src/transport.test.ts | 40 | process.env.SMTP_USER = "user@example.com"; | CODE |
| LOW⚡ | packages/emails/src/transport.test.ts | 47 | auth: { user: "user@example.com", pass: "password" }, | CODE |
| LOW⚡ | packages/emails/src/transport.test.ts | 53 | process.env.SMTP_USER = "user@example.com"; | CODE |
| LOW | packages/emails/src/templates/new-poll.tsx | 93 | name: "John Doe", | CODE |
| LOW | packages/emails/src/templates/new-participant.tsx | 161 | participantName: "John Doe", | CODE |
| LOW | packages/emails/src/templates/finalized-host.tsx | 105 | name: "John Doe", | CODE |
| LOW | packages/emails/src/templates/new-participant.test.tsx | 8 | participantName: "Jane Doe", | CODE |
| LOW | …es/emails/src/templates/finalized-participant.test.tsx | 8 | hostName: "Jane Doe", | CODE |
| LOW | apps/web/tests/admin-setup.spec.ts | 7 | const REGULAR_USER_EMAIL = "user@example.com"; | CODE |
| LOW | apps/web/public/locales/da/app.json | 32 | "addressPlaceholder": "123 Main Street", | CODE |
| LOW | apps/web/public/locales/en/app.json | 40 | "addressPlaceholder": "123 Main Street", | CODE |
| LOW | apps/web/src/app/api/v1/schemas.ts | 431 | name: z.string().meta({ example: "John Doe" }), | CODE |
| LOW | apps/web/src/app/api/v1/[...route]/route.test.ts | 2059 | name: "John Doe", | CODE |
| LOW | apps/web/src/app/api/v1/[...route]/route.test.ts | 2101 | name: "John Doe", | CODE |
| LOW | apps/web/src/app/api/v1/[...route]/route.test.ts | 2239 | name: "John Doe", | CODE |
| LOW | apps/web/src/app/api/private/schemas.ts | 179 | name: z.string().meta({ example: "John Doe" }), | CODE |
| LOW | apps/web/src/app/api/private/[...route]/route.test.ts | 1248 | name: "John Doe", | CODE |
| LOW | apps/web/src/app/api/private/[...route]/route.test.ts | 1286 | name: "John Doe", | CODE |
| LOW | apps/web/src/app/api/private/[...route]/route.test.ts | 1387 | name: "John Doe", | CODE |
| LOW | apps/web/src/features/auth/utils.test.ts | 31 | expect(isEmailBlocked("user@example.com")).toBe(false); | CODE |
| LOW | apps/web/src/features/auth/actions.test.ts | 61 | user: { id: "user-1", email: "user@example.com", locale: undefined }, | CODE |
| LOW | apps/web/src/features/auth/actions.test.ts | 73 | user: { id: "user-1", email: "user@example.com", locale: undefined }, | CODE |
| LOW | …rc/features/event-types/components/event-type-form.tsx | 291 | defaultValue: "123 Main Street", | CODE |
| LOW | apps/web/src/features/space/utils.test.ts | 131 | expect(inferIndustry({ email: "ada@example.org" })).toBe("non_profit"); | CODE |
| LOW | apps/web/src/features/space/loaders.test.ts | 36 | email: "user@example.com", | CODE |
| LOW⚡ | apps/web/src/lib/oauth/microsoft-claims.test.ts | 32 | email: "user@example.com", | CODE |
| LOW⚡ | apps/web/src/lib/oauth/microsoft-claims.test.ts | 42 | verified_primary_email: ["user@example.com"], | CODE |
| LOW⚡ | apps/web/src/lib/oauth/microsoft-claims.test.ts | 47 | email: "user@example.com", | CODE |
| LOW⚡ | apps/web/src/lib/oauth/microsoft-claims.test.ts | 48 | verified_secondary_email: ["other@example.com", "user@example.com"], | CODE |
| LOW⚡ | apps/web/src/lib/oauth/microsoft-claims.test.ts | 56 | email: "user@example.com", | CODE |
| LOW | apps/web/src/lib/utils/ics.test.ts | 144 | { name: "John Doe", email: "john@example.com" }, | CODE |
| LOW | apps/docs/api-reference/openapi.json | 275 | "example": "John Doe" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .agents/skills/create-auth-skill/SKILL.md | 18 | ### Step 1: Scan the project | COMMENT |
| LOW | .agents/skills/create-auth-skill/SKILL.md | 28 | ### Step 2: Ask planning questions | COMMENT |
| LOW | .agents/skills/create-auth-skill/SKILL.md | 81 | ### Step 3: Summarize the plan | COMMENT |
| LOW⚡ | apps/web/tests/guest-to-user-migration.spec.ts | 30 | // Step 1: Create a poll as guest | COMMENT |
| LOW⚡ | apps/web/tests/guest-to-user-migration.spec.ts | 36 | // Step 2: Navigate to registration (redirects to the combined login page) | COMMENT |
| LOW⚡ | apps/web/tests/guest-to-user-migration.spec.ts | 40 | // Step 3: Complete registration | COMMENT |
| LOW⚡ | apps/web/tests/guest-to-user-migration.spec.ts | 44 | // Step 4: Setup returns them to the poll, now adopted into their space | COMMENT |
| LOW | apps/web/tests/guest-to-user-migration.spec.ts | 57 | // Step 1: Create a poll as guest | COMMENT |
| LOW⚡ | apps/web/tests/guest-to-user-migration.spec.ts | 71 | // Step 2: Navigate to registration | COMMENT |
| LOW⚡ | apps/web/tests/guest-to-user-migration.spec.ts | 75 | // Step 3: Complete login | COMMENT |
| LOW⚡ | apps/web/tests/guest-to-user-migration.spec.ts | 81 | // Step 4: Verify the poll has been linked to the logged-in user | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | apps/web/tests/guest-to-user-migration.spec.ts | 30 | // Step 1: Create a poll as guest | COMMENT |
| LOW⚡ | apps/web/tests/guest-to-user-migration.spec.ts | 36 | // Step 2: Navigate to registration (redirects to the combined login page) | COMMENT |
| LOW⚡ | apps/web/tests/guest-to-user-migration.spec.ts | 40 | // Step 3: Complete registration | COMMENT |
| LOW⚡ | apps/web/tests/guest-to-user-migration.spec.ts | 44 | // Step 4: Setup returns them to the poll, now adopted into their space | COMMENT |
| LOW | apps/web/tests/guest-to-user-migration.spec.ts | 57 | // Step 1: Create a poll as guest | COMMENT |
| LOW⚡ | apps/web/tests/guest-to-user-migration.spec.ts | 71 | // Step 2: Navigate to registration | COMMENT |
| LOW⚡ | apps/web/tests/guest-to-user-migration.spec.ts | 75 | // Step 3: Complete login | COMMENT |
| LOW⚡ | apps/web/tests/guest-to-user-migration.spec.ts | 81 | // Step 4: Verify the poll has been linked to the logged-in user | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …es/ui/src/event-calendar/event-calendar-month-view.tsx | 721 | // Static (at-rest) split: what the cell shows with no drag, and - crucially - | COMMENT |
| LOW | .github/workflows/db-backup.yml | 1 | name: Database backup | COMMENT |
| LOW | .github/workflows/docker-image.yml | 1 | name: Build and Publish Container Image | COMMENT |
| LOW | .github/workflows/docker-image.yml | 81 | COMMENT | |
| LOW | apps/landing/src/components/home/how-it-works/motion.ts | 1 | // Shared motion vocabulary for the how it works demos, so the three steps | COMMENT |
| LOW | …nding/src/components/home/how-it-works/demo-cursor.tsx | 1 | "use client"; | COMMENT |
| LOW | apps/landing/src/components/home/how-it-works/accent.ts | 1 | // The accent gradient from the hero event card. The demos' primary actions | COMMENT |
| LOW | …/landing/src/components/home/hero-demo/demo-presets.ts | 41 | // never visible — a winner parked there leaves the reader looking at a demo | COMMENT |
| LOW | apps/web/src/features/user/mutations.ts | 41 | COMMENT | |
| LOW | apps/web/src/features/user/mutations.ts | 141 | } | COMMENT |
| LOW | …ms/poll-options-form/month-calendar/month-calendar.tsx | 581 | // annotation={ | COMMENT |
| LOW | apps/web/src/features/moderation/constants.ts | 1 | // Flagged verdicts a user may collect in one window before the account is | COMMENT |
| LOW | apps/web/src/lib/tenant-scope.ts | 1 | // Tenant-scope types live in lib rather than features/space so content | COMMENT |
| LOW | apps/web/src/lib/auth.ts | 581 | databaseHooks: { | COMMENT |
| LOW | apps/web/src/lib/oauth/constants.ts | 1 | // Flash key the OAuth callback writes and settings pages read (`lib/flash`). | COMMENT |
| LOW | …s/web/src/lib/auth-plugins/host-only-cookie-cleanup.ts | 21 | matcher: () => !!env.NEXT_PUBLIC_COOKIE_DOMAIN, | COMMENT |
| LOW | apps/web/src/lib/feature-flags/config.ts | 21 | feedback: isFeedbackEnabled, | COMMENT |
| LOW | apps/web/src/lib/feature-flags/config.ts | 41 | inProcessRateLimit: isSelfHosted, | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | .agents/skills/prisma-cli/SKILL.md | 63 | # Initialize with AI-generated schema | COMMENT |
| HIGH | .agents/skills/prisma-cli/references/init.md | 68 | ### AI-generated schema | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/create-release.sh | 35 | # Check if package.json exists | COMMENT |