AI Slop Code Risk Monitor

chrisvel/tududi

SlopCodeMonitor badge for chrisvel/tududi Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

A calm, open system for organizing life and work. Tasks, projects, notes, areas, and smart workflows - self-hosted or hosted.

0.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for chrisvel/tududi, a JavaScript project with 3,496 GitHub stars. SynthScan examined 476,829 lines of code across 1716 source files, recording 339 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 0.9 (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.

0.9
Adjusted Signal
0.9
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
3.5K
Stars
JavaScript
Language
476.8K
Lines of Code
1.7K
Files
339
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

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.

Cognitive Ownership Risk 1.7/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 125 finding(s).

Hallucinated Dependency & Supply Chain Risk 2.3/100 · LOW

Are imports declared and package/API names verified? 192 finding(s).

Agent Over-Engineering Ratio 1.3/100 · LOW

Are wrappers, guards, and repeated structures necessary? 77 finding(s).

PR Review Velocity Impact 4.3/100 · LOW

Which changes need focused human review? 339 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 2HIGH 2MEDIUM 25LOW 310

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 339 distinct pattern matches across 11 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.

Fake / Example Data188 hits · 188 pts
SeverityFileLineSnippetContext
LOWfrontend/utils/__tests__/inboxTokens.test.ts24 splitInboxTokens('x +"Birthday party Saturday 3pm" @"John Doe"')CODE
LOWfrontend/utils/__tests__/inboxTokens.test.ts29 { text: '@"John Doe"', kind: 'person' },CODE
LOWfrontend/__tests__/Layout.test.tsx127 currentUser={{ email: 'user@example.com' } as any}CODE
LOWfrontend/__tests__/Layout.test.tsx218 currentUser={{ email: 'user@example.com' } as any}CODE
LOWbackend/tests/unit/modules/oidc/auditService.test.js176 'user@example.com',CODE
LOWbackend/tests/unit/modules/oidc/service.test.js180 email: 'user@example.com',CODE
LOWbackend/tests/unit/modules/oidc/service.test.js195 expect(result.claims.email).toBe('user@example.com');CODE
LOWbackend/tests/unit/modules/oidc/service.test.js229 claims: () => ({ sub: 'user-sub-123', email: 'user@example.com' }),CODE
LOWbackend/tests/unit/modules/oidc/service.test.js243 expect(result.claims.email).toBe('user@example.com');CODE
LOWbackend/tests/unit/services/waitlistService.test.js26 'someone@example.org',CODE
LOWbackend/tests/unit/services/rolesCapabilities.test.js9 admin = await createTestUser({ email: 'admin@example.com' });CODE
LOWbackend/tests/unit/services/userService.test.js9 expect(validateEmail('user@example.com')).toBe(true);CODE
LOWbackend/tests/unit/services/userService.test.js11 expect(validateEmail('user+tag@example.org')).toBe(true);CODE
LOWbackend/tests/integration/people-unified.test.js36 email: 'admin@example.com',CODE
LOWbackend/tests/integration/people-unified.test.js62 phone: '555-0100',CODE
LOWbackend/tests/integration/people-unified.test.js183 phone: '555-0199',CODE
LOWbackend/tests/integration/people-unified.test.js199 expect(entry.phone).toBe('555-0100');CODE
LOWbackend/tests/integration/people-unified.test.js233 expect(res.body.phone).toBe('555-0100');CODE
LOWbackend/tests/integration/people-unified.test.js240 await kidPerson.update({ phone: '555-0199', notes: 'kid notes' });CODE
LOWbackend/tests/integration/people-unified.test.js312 .send({ phone: '555-0111' });CODE
LOWbackend/tests/integration/member-sign-in-link.test.js54 admin = await createTestUser({ email: 'admin@example.com' });CODE
LOWbackend/tests/integration/user-create-script.test.js47 'admin@example.com',CODE
LOWbackend/tests/integration/first-time-setup.test.js13 email: 'admin@example.com',CODE
LOWbackend/tests/integration/first-time-setup.test.js27 email: 'user@example.com',CODE
LOWbackend/tests/integration/first-time-setup.test.js50 email: 'admin@example.com',CODE
LOW…nd/tests/integration/user-management-hardening.test.js25 admin = await createTestUser({ email: 'admin@example.com' });CODE
LOW…nd/tests/integration/user-management-hardening.test.js215 email: 'admin@example.com',CODE
LOWbackend/tests/integration/admin-users-no-email.test.js42 admin = await createTestUser({ email: 'admin@example.com' });CODE
LOWbackend/tests/integration/admin-users-no-email.test.js177 expect(users['admin@example.com'].account_status).toBe('active');CODE
LOWbackend/tests/integration/people-assignable.test.js181 phone: '555-0100',CODE
LOWbackend/tests/integration/people-assignable.test.js222 { phone: '555-0100', notes: 'private note' },CODE
LOWbackend/tests/integration/roles-capabilities.test.js20 admin = await createTestUser({ email: 'admin@example.com' });CODE
LOWbackend/tests/integration/roles-capabilities.test.js182 expect(byEmail['admin@example.com'].role).toBe('admin');CODE
LOWbackend/tests/integration/admin-users-cascade.test.js36 adminUser = await createTestUser({ email: 'admin@example.com' });CODE
LOWbackend/tests/integration/admin-users-cascade.test.js37 adminAgent = await loginAgent('admin@example.com');CODE
LOWbackend/tests/integration/groups-admin.test.js23 admin = await createTestUser({ email: 'admin@example.com' });CODE
LOWbackend/tests/integration/groups-admin.test.js27 adminAgent = await loginAgent('admin@example.com');CODE
LOWbackend/tests/integration/groups-admin.test.js268 expect(JSON.stringify(res.body)).not.toContain('admin@example.com');CODE
LOW…nd/tests/integration/user-management-integrity.test.js48 admin = await createTestUser({ email: 'admin@example.com' });CODE
LOWbackend/tests/integration/admin-users.test.js24 adminUser = await createTestUser({ email: 'admin@example.com' });CODE
LOWbackend/tests/integration/admin-users.test.js25 adminAgent = await loginAgent('admin@example.com');CODE
LOWbackend/tests/integration/admin-users.test.js39 const user = await createTestUser({ email: 'user@example.com' });CODE
LOWbackend/tests/integration/admin-users.test.js40 const agent = await loginAgent('user@example.com');CODE
LOWbackend/tests/integration/admin-users.test.js52 const found = res.body.find((u) => u.email === 'admin@example.com');CODE
LOWbackend/tests/integration/admin-users.test.js73 expect(byEmail('admin@example.com').email_verified).toBe(true);CODE
LOWbackend/tests/integration/members.test.js33 admin = await createTestUser({ email: 'admin@example.com' });CODE
LOWbackend/tests/integration/members.test.js313 phone: '555-0100',CODE
LOWbackend/tests/integration/members.test.js372 expect(person.phone).toBe('555-0100');CODE
LOWbackend/tests/integration/admin-oidc-config.test.js47 adminUser = await createTestUser({ email: 'admin@example.com' });CODE
LOWbackend/tests/integration/admin-oidc-config.test.js48 adminAgent = await loginAgent('admin@example.com');CODE
LOWbackend/tests/integration/admin-oidc-config.test.js72 await createTestUser({ email: 'user@example.com' });CODE
LOWbackend/tests/integration/admin-oidc-config.test.js73 const agent = await loginAgent('user@example.com');CODE
LOWbackend/tests/integration/mcp/mcp-roles.test.js63 admin = await createTestUser({ email: 'admin@example.com' });CODE
LOWbackend/docs/swagger/auth.js77 * example: "user@example.com"COMMENT
LOWbackend/modules/landing/locales/sl/landing.json318 "placeholder": "vi@email.com",CODE
LOWbackend/modules/landing/locales/sk/landing.json370 "placeholder": "vy@email.com",CODE
LOWbackend/modules/landing/locales/pl/landing.json318 "placeholder": "ty@email.com",CODE
LOWbackend/modules/landing/locales/vi/landing.json318 "placeholder": "ban@email.com",CODE
LOWbackend/modules/landing/locales/sv/landing.json318 "placeholder": "du@email.com",CODE
LOWbackend/modules/landing/locales/da/landing.json318 "placeholder": "dig@email.com",CODE
128 more matches not shown…
Decorative Section Separators22 hits · 66 pts
SeverityFileLineSnippetContext
MEDIUMfrontend/components/Inbox/InboxItems.tsx216 // ── Item handlers ─────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/components/Inbox/InboxItemDetail.tsx129 // ── Parsing helpers ───────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/components/Inbox/InboxItemDetail.tsx256 // ── Derived values ────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/components/Inbox/InboxItemDetail.tsx269 // ── Inline text segment renderer ──────────────────────────────────────────COMMENT
MEDIUMfrontend/components/Inbox/InboxItemDetail.tsx393 // ── Conversion helpers ────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/components/Inbox/InboxItemDetail.tsx593 // ── Edit-mode footer ──────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/components/Inbox/InboxItemDetail.tsx644 // ── Render ────────────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/components/Eisenhower/EisenhowerMatrix.tsx156 // ── Drag handlers ──────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/components/Eisenhower/EisenhowerMatrix.tsx206 // ── Config ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/components/Eisenhower/EisenhowerMatrix.tsx260 // ── Cell renderer ──────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/components/Eisenhower/EisenhowerMatrix.tsx337 // ── Render ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMfrontend/components/AI/TaskAIInsights.tsx293 // ── Expanded ───────────────────────────────────────────────────────COMMENT
MEDIUMpublic/sw.js33// ─── Install ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpublic/sw.js46// ─── Activate ───────────────────────────────────────────────────────────────COMMENT
MEDIUMpublic/sw.js61// ─── Message handler ─────────────────────────────────────────────────────────COMMENT
MEDIUMpublic/sw.js96// ─── Fetch ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMpublic/sw.js154// ─── API GET: network-first, stale cache fallback ────────────────────────────COMMENT
MEDIUMpublic/sw.js203// ─── API calls that are never queued (stateless, nothing to replay) ──────────COMMENT
MEDIUMpublic/sw.js219// ─── API Mutations: queue when offline, replay on sync ───────────────────────COMMENT
MEDIUMpublic/sw.js276// ─── Background Sync ─────────────────────────────────────────────────────────COMMENT
MEDIUMpublic/sw.js351// ─── Push notifications ──────────────────────────────────────────────────────COMMENT
MEDIUMpublic/sw.js448// ─── IndexedDB helpers ───────────────────────────────────────────────────────COMMENT
Hyper-Verbose Identifiers55 hits · 55 pts
SeverityFileLineSnippetContext
LOWfrontend/utils/bannersService.ts12export function extractCreatorFromFilename(filename: string): string {CODE
LOWfrontend/components/Task/CommentComposer.tsx64function findMentionTriggerInEditor(CODE
LOWbackend/config/authConfig.js7async function validateAuthConfiguration() {CODE
LOWbackend/tests/helpers/caldav-test-utils.js3function extendSupertestWithCalDAV(Test) {CODE
LOWbackend/utils/notificationPreferences.js93function shouldSendInAppNotification(user, notificationType) {CODE
LOWbackend/utils/notificationPreferences.js120function shouldSendTelegramNotification(user, notificationType) {CODE
LOWbackend/utils/notificationPreferences.js144function shouldSendPushNotification(user, notificationType) {CODE
LOWbackend/utils/notificationPreferences.js161function shouldSendAppriseNotification(user, notificationType) {CODE
LOWbackend/utils/notificationPreferences.js210function getDefaultNotificationPreferences() {CODE
LOWbackend/utils/notificationPreferences.js220function ensureNotificationPreferences(preferences) {CODE
LOWbackend/utils/timezone-utils.js170function processDueDateForResponse(utcDueDate, userTimezone) {CODE
LOWbackend/utils/timezone-utils.js182function processDeferUntilForStorage(deferUntilString, userTimezone) {CODE
LOWbackend/utils/timezone-utils.js200function processDeferUntilForResponse(utcDeferUntil, userTimezone) {CODE
LOWbackend/utils/db-dialect.js26async function withForeignKeyChecksDisabled(sequelize, fn, options = {}) {CODE
LOWbackend/scripts/lib/dialectGuard.js13function guardAgainstAccidentalDialectSwitch(dialect) {CODE
LOWbackend/modules/comments/service.js49async function resolveMentionedPeopleMap(uids) {CODE
LOWbackend/modules/tasks/deferredTaskService.js171async function sendBatchedDeferredTelegramMessage(user, items) {CODE
LOWbackend/modules/tasks/dueTaskService.js203async function sendBatchedTaskTelegramMessage(CODE
LOWbackend/modules/tasks/dueTaskService.js257function generateNotificationContent(taskName, dueDate, now, isOverdue) {CODE
LOWbackend/modules/tasks/queries/metrics-queries.js40async function countTasksPendingOverMonth(visibleTasksWhere) {CODE
LOWbackend/modules/tasks/queries/metrics-queries.js361async function fetchSomedayExcludedTaskIds(userId) {CODE
LOWbackend/modules/tasks/queries/metrics-queries.js464async function fetchSomedayFallbackTasks(CODE
LOWbackend/modules/tasks/queries/query-builders.js516function getTaskIncludeConfigLight() {CODE
LOWbackend/modules/tasks/utils/validation.js109function validateDeferUntilAndDueDate(CODE
LOWbackend/modules/tasks/utils/validation.js256async function getRecurringParentEndDate(recurringParentId, userId) {CODE
LOWbackend/modules/tasks/operations/parent-child.js6async function checkAndUpdateParentTaskCompletion(parentTaskId, userId) {CODE
LOWbackend/modules/tasks/operations/parent-child.js156async function handleParentChildOnStatusChange(CODE
LOWbackend/modules/projects/dueProjectService.js203async function sendBatchedProjectTelegramMessage(CODE
LOWbackend/modules/projects/dueProjectService.js257function generateNotificationContent(projectName, dueDate, now, isOverdue) {CODE
LOWbackend/modules/spreadsheets/core/zipGuard.js36function findEndOfCentralDirectory(buffer) {CODE
LOWbackend/modules/admin/validation.js159function validateToggleRegistration(body) {CODE
LOWbackend/modules/mcp/tools/projectTools.js80function assertNotGoalAndMaintenance(params, goalId) {CODE
LOWbackend/modules/mcp/tools/tagResolver.js26async function resolveTagsForTransaction(tagsInput, userId, transaction) {CODE
LOWbackend/modules/telegram/telegramInitializer.js6async function initializeTelegramPolling() {CODE
LOWbackend/modules/telegram/telegramNotificationService.js24function formatNotificationMessage(user, notification) {CODE
LOWbackend/modules/ai-assistant/service.js209function isResponseFormatRejection(err) {CODE
LOWbackend/modules/ai-assistant/service.js228function swapToMaxCompletionTokens(params) {CODE
LOWbackend/modules/ai-assistant/service.js627async function updateTaskInsightsDismissed(taskUid, userId, dismissed) {CODE
LOWbackend/modules/ai-assistant/service.js846async function updateProjectInsightsDismissed(projectUid, userId, dismissed) {CODE
LOWbackend/modules/caldav/webdav/projects.js142async function handleCalendarHomePropfind(req, res) {CODE
LOWbackend/modules/caldav/webdav/report.js175async function buildCalendarQueryResponse(CODE
LOWbackend/modules/caldav/icalendar/vtodo-serializer.js241async function serializeCollectionToVCALENDAR(tasks, options = {}) {CODE
LOWbackend/modules/daily-plan/planningSettings.js55function normalizeSuggestionSettings(planning) {CODE
LOWbackend/modules/billing/subscriptionMapper.js19function subscriptionToAccountFields(sub) {CODE
LOWbackend/modules/billing/subscriptionMapper.js43function deletedSubscriptionFields(sub) {CODE
LOWbackend/modules/billing/providers/paddle.js101function subscriptionToAccountFields(sub) {CODE
LOWbackend/modules/billing/providers/lemonsqueezy.js85function subscriptionToAccountFields(resource) {CODE
LOWbackend/services/rolesService.js167async function assertAnotherAdminRemains(transaction, message) {CODE
LOWbackend/services/permissionSources.js67async function countDistinctUsersByResource(resourceType, resourceUids) {CODE
LOWbackend/services/containerShareSync.js110async function syncProjectSharesFromContainer(projectId) {CODE
LOWbackend/services/containerShareSync.js337async function dropProjectSharesFromContainer(projectId, from = null) {CODE
LOWbackend/services/backupService.js94function checkVersionCompatibility(backupVersion) {CODE
LOWbackend/services/permissionsService.js277async function ownershipOrPermissionWhere(resourceType, userId, cache = null) {CODE
LOWbackend/services/permissionsCalculators.js14async function collectProjectDescendants(projectId) {CODE
LOWbackend/services/accountErasureService.js86async function handOverTasksInOthersProjects(userId, transaction) {CODE
Structural Annotation Overuse31 hits · 53 pts
SeverityFileLineSnippetContext
LOW⚡backend/tests/integration/inbox-no-tags.test.js269 // Step 1: Verify no tags existCOMMENT
LOW⚡backend/tests/integration/inbox-no-tags.test.js274 // Step 2: Create inbox itemCOMMENT
LOW⚡backend/tests/integration/inbox-no-tags.test.js281 // Step 3: Retrieve inbox itemsCOMMENT
LOW⚡backend/tests/integration/inbox-no-tags.test.js287 // Step 4: Update inbox itemCOMMENT
LOW⚡backend/tests/integration/inbox-no-tags.test.js294 // Step 5: Process inbox itemCOMMENT
LOW⚡backend/tests/integration/inbox-no-tags.test.js301 // Step 6: Verify processed item is not in main inbox listCOMMENT
LOWbackend/scripts/reset-and-seed.js34 // Step 1: Delete existing databaseCOMMENT
LOW⚡backend/scripts/reset-and-seed.js48 // Step 2: Reset database using sequelize.syncCOMMENT
LOW⚡backend/scripts/reset-and-seed.js53 // Step 3: Seed basic development dataCOMMENT
LOW⚡backend/scripts/reset-and-seed.js59 // Step 4: Generate notificationsCOMMENT
LOWdocs/14-mcp-integration.md1197### Step 1: Generate an API TokenCOMMENT
LOWdocs/14-mcp-integration.md1204### Step 2: Configure Claude DesktopCOMMENT
LOWdocs/development-workflow.md185### Step 1: Create Database MigrationCOMMENT
LOWdocs/development-workflow.md216### Step 2: Update Sequelize ModelCOMMENT
LOWdocs/development-workflow.md236### Step 3: Update Serializer (API Response)COMMENT
LOWdocs/development-workflow.md250### Step 4: Update Builder (API Input)COMMENT
LOWdocs/development-workflow.md266### Step 5: Add Validation (Optional)COMMENT
LOWdocs/development-workflow.md290### Step 6: Update Swagger DocumentationCOMMENT
LOWdocs/development-workflow.md314### Step 7: Update Frontend TypeScript InterfaceCOMMENT
LOWdocs/development-workflow.md326### Step 8: Update Frontend ComponentCOMMENT
LOWdocs/development-workflow.md349### Step 9: Write TestsCOMMENT
LOWdocs/development-workflow.md380### Step 10: Run Tests and ChecksCOMMENT
LOWdocs/development-workflow.md396### Step 11: Commit ChangesCOMMENT
LOWdocs/backend-patterns.md426### Step 1: Create Directory StructureCOMMENT
LOWdocs/backend-patterns.md433### Step 2: Create routes.jsCOMMENT
LOWdocs/backend-patterns.md480### Step 3: Create repository.jsCOMMENT
LOWdocs/backend-patterns.md535### Step 4: Create ModelCOMMENT
LOWdocs/backend-patterns.md539### Step 5: Register Routes in app.jsCOMMENT
LOWdocs/backend-patterns.md551### Step 6: Add Swagger DocumentationCOMMENT
LOWdocs/backend-patterns.md574### Step 7: Write TestsCOMMENT
LOWdocs/backend-patterns.md627### Step 8: Create Frontend Integration (Optional)COMMENT
Over-Commented Block24 hits · 24 pts
SeverityFileLineSnippetContext
LOWtailwind.config.js41 plugins: [],COMMENT
LOWtailwind.config.js61 // text: {COMMENT
LOWfrontend/components/Project/projectTableLayout.ts1// Column tracks shared by the projects table header and its rows. Cells thatCOMMENT
LOWfrontend/components/Task/taskSheet.ts1// "Quiet sheet" task lists: rows sit on one shared surface instead ofCOMMENT
LOWbackend/app.js281// Counts page views for the admin dashboard. Before the host switches so theCOMMENT
LOWbackend/middleware/uploadsAccess.js121 raw: true,COMMENT
LOWbackend/tests/upgrade/schema-parity.test.js1// Guards against drift between the three ways a tududi schema comes to exist:COMMENT
LOWbackend/scripts/migration-create.js41// - no PRAGMA, sqlite_master, AUTOINCREMENT or backtick identifiersCOMMENT
LOWbackend/scripts/migration-create.js61 // autoIncrement: true,COMMENT
LOWbackend/modules/ai-assistant/service.js21 6: 'planned',COMMENT
LOWbackend/modules/daily-plan/ranking.js1'use strict';COMMENT
LOWbackend/modules/billing/providers/index.js1'use strict';COMMENT
LOWbackend/modules/billing/providers/index.js21// open the overlay instead of a url)COMMENT
LOWbackend/services/userDataTransfer.js1'use strict';COMMENT
LOWdocs/development-workflow.md61COMMENT
LOWdocs/examples/docker-compose.postgres.yml1# Tududi with PostgreSQLCOMMENT
LOWdocs/examples/docker-compose.hosted.yml1# tududi as a hosted, multi-user service on one machine.COMMENT
LOWdocs/examples/docker-compose.hosted.yml101# APP_DOMAIN=app.example.comCOMMENT
LOWpublic/sw.js1// v2: manifest.json gained a share_target member, and the static cache isCOMMENT
LOWscripts/release-notes.sh1#!/bin/bashCOMMENT
LOWscripts/create-version.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/test-upgrade-docker.sh1#!/usr/bin/env bashCOMMENT
LOW.github/codeql-config.yml1name: "CodeQL Config"COMMENT
LOW.github/workflows/docker-publish.yml1name: Publish Docker imageCOMMENT
Verbosity Indicators10 hits · 22 pts
SeverityFileLineSnippetContext
LOW⚡backend/tests/integration/inbox-no-tags.test.js269 // Step 1: Verify no tags existCOMMENT
LOW⚡backend/tests/integration/inbox-no-tags.test.js274 // Step 2: Create inbox itemCOMMENT
LOW⚡backend/tests/integration/inbox-no-tags.test.js281 // Step 3: Retrieve inbox itemsCOMMENT
LOW⚡backend/tests/integration/inbox-no-tags.test.js287 // Step 4: Update inbox itemCOMMENT
LOW⚡backend/tests/integration/inbox-no-tags.test.js294 // Step 5: Process inbox itemCOMMENT
LOW⚡backend/tests/integration/inbox-no-tags.test.js301 // Step 6: Verify processed item is not in main inbox listCOMMENT
LOWbackend/scripts/reset-and-seed.js34 // Step 1: Delete existing databaseCOMMENT
LOW⚡backend/scripts/reset-and-seed.js48 // Step 2: Reset database using sequelize.syncCOMMENT
LOW⚡backend/scripts/reset-and-seed.js53 // Step 3: Seed basic development dataCOMMENT
LOW⚡backend/scripts/reset-and-seed.js59 // Step 4: Generate notificationsCOMMENT
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICALbackend/tests/unit/utils/migration-utils.test.js232 const calls = queryInterface.sequelize.query.mock.calls.map(CODE
CRITICALbackend/tests/unit/utils/migration-utils.test.js332 const calls = queryInterface.sequelize.query.mock.calls.map(CODE
Magic Placeholder Names2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHREADME.md310curl -H "Authorization: Bearer YOUR_API_KEY" \CODE
HIGHREADME.md315 -H "Authorization: Bearer YOUR_API_KEY" \CODE
AI Slop Vocabulary2 hits · 5 pts
SeverityFileLineSnippetContext
MEDIUMpackage-lock.json20049 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz",CODE
MEDIUM.github/codeql-config.yml15# but the implementation is secure and follows OWASP best practices.COMMENT
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/docker-entrypoint.sh14# Check if app user exists firstCOMMENT
LOWe2e/bin/run-e2e.sh27# Check if Playwright is installedCOMMENT
Modern AI Meta-Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMCLAUDE.md73npm run migration:create # scaffold a new migrationCODE