AI Slop Code Risk Monitor

karakeep-app/karakeep

SlopCodeMonitor badge for karakeep-app/karakeep Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

A self-hostable bookmark-everything app (links, notes and images) with AI-based automatic tagging and full text search

1.6 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for karakeep-app/karakeep, a TypeScript project with 30,183 GitHub stars. SynthScan examined 435,511 lines of code across 1805 source files, recording 342 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 1.6 (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.

1.6
Adjusted Signal
1.6
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
30.2K
Stars
TypeScript
Language
435.5K
Lines of Code
1.8K
Files
342
Pattern Hits
2026-10-31
Scan Date
0.03
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 2.3/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 5.3/100 · LOW

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

Agent Over-Engineering Ratio 1.5/100 · LOW

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

PR Review Velocity Impact 7.8/100 · LOW

Which changes need focused human review? 342 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 14HIGH 44MEDIUM 8LOW 276

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 342 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.

Magic Placeholder Names44 hits · 220 pts
SeverityFileLineSnippetContext
HIGHtools/compare-models/README.md78KARAKEEP_API_KEY=your_api_keyCODE
HIGHtools/compare-models/README.md97export KARAKEEP_API_KEY=your_api_keyCODE
HIGHdocs/docs/05-integrations/03-mcp.md45 "KARAKEEP_API_KEY": "<YOUR_TOKEN>"CODE
HIGHdocs/docs/05-integrations/03-mcp.md64 "KARAKEEP_API_KEY=<YOUR_TOKEN>",CODE
HIGHdocs/docs/03-configuration/02-different-ai-providers.md79OPENAI_API_KEY=YOUR_API_KEYCODE
HIGHdocs/docs/03-configuration/02-different-ai-providers.md93OPENAI_API_KEY=YOUR_API_KEYCODE
HIGHdocs/docs/03-configuration/02-different-ai-providers.md127OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…rsioned_docs/version-v0.31.0/05-integrations/03-mcp.md28 "KARAKEEP_API_KEY": "<YOUR_TOKEN>"CODE
HIGH…rsioned_docs/version-v0.31.0/05-integrations/03-mcp.md47 "KARAKEEP_API_KEY=<YOUR_TOKEN>",CODE
HIGH…-v0.31.0/03-configuration/02-different-ai-providers.md67OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…-v0.31.0/03-configuration/02-different-ai-providers.md78OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…-v0.31.0/03-configuration/02-different-ai-providers.md111OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…rsioned_docs/version-v0.32.0/05-integrations/03-mcp.md28 "KARAKEEP_API_KEY": "<YOUR_TOKEN>"CODE
HIGH…rsioned_docs/version-v0.32.0/05-integrations/03-mcp.md47 "KARAKEEP_API_KEY=<YOUR_TOKEN>",CODE
HIGH…-v0.32.0/03-configuration/02-different-ai-providers.md67OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…-v0.32.0/03-configuration/02-different-ai-providers.md78OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…-v0.32.0/03-configuration/02-different-ai-providers.md111OPENAI_API_KEY=YOUR_API_KEYCODE
HIGHdocs/versioned_docs/version-v0.28.0/09-mcp.md28 "KARAKEEP_API_KEY": "<YOUR_TOKEN>"CODE
HIGHdocs/versioned_docs/version-v0.28.0/09-mcp.md47 "KARAKEEP_API_KEY=<YOUR_TOKEN>",CODE
HIGH…version-v0.28.0/14-guides/05-different-ai-providers.md41OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…version-v0.28.0/14-guides/05-different-ai-providers.md52OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…version-v0.28.0/14-guides/05-different-ai-providers.md85OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…rsioned_docs/version-v0.33.0/05-integrations/03-mcp.md45 "KARAKEEP_API_KEY": "<YOUR_TOKEN>"CODE
HIGH…rsioned_docs/version-v0.33.0/05-integrations/03-mcp.md64 "KARAKEEP_API_KEY=<YOUR_TOKEN>",CODE
HIGH…-v0.33.0/03-configuration/02-different-ai-providers.md79OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…-v0.33.0/03-configuration/02-different-ai-providers.md93OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…-v0.33.0/03-configuration/02-different-ai-providers.md127OPENAI_API_KEY=YOUR_API_KEYCODE
HIGHdocs/versioned_docs/version-v0.29.0/09-mcp.md28 "KARAKEEP_API_KEY": "<YOUR_TOKEN>"CODE
HIGHdocs/versioned_docs/version-v0.29.0/09-mcp.md47 "KARAKEEP_API_KEY=<YOUR_TOKEN>",CODE
HIGH…version-v0.29.0/14-guides/05-different-ai-providers.md41OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…version-v0.29.0/14-guides/05-different-ai-providers.md52OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…version-v0.29.0/14-guides/05-different-ai-providers.md85OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…rsioned_docs/version-v0.30.0/05-integrations/03-mcp.md28 "KARAKEEP_API_KEY": "<YOUR_TOKEN>"CODE
HIGH…rsioned_docs/version-v0.30.0/05-integrations/03-mcp.md47 "KARAKEEP_API_KEY=<YOUR_TOKEN>",CODE
HIGH…-v0.30.0/03-configuration/02-different-ai-providers.md41OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…-v0.30.0/03-configuration/02-different-ai-providers.md52OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…-v0.30.0/03-configuration/02-different-ai-providers.md85OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…rsioned_docs/version-v0.34.0/05-integrations/03-mcp.md45 "KARAKEEP_API_KEY": "<YOUR_TOKEN>"CODE
HIGH…rsioned_docs/version-v0.34.0/05-integrations/03-mcp.md64 "KARAKEEP_API_KEY=<YOUR_TOKEN>",CODE
HIGH…-v0.34.0/03-configuration/02-different-ai-providers.md79OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…-v0.34.0/03-configuration/02-different-ai-providers.md93OPENAI_API_KEY=YOUR_API_KEYCODE
HIGH…-v0.34.0/03-configuration/02-different-ai-providers.md127OPENAI_API_KEY=YOUR_API_KEYCODE
HIGHapps/mcp/README.md58 "KARAKEEP_API_KEY": "<YOUR_TOKEN>",CODE
HIGHapps/mcp/README.md78 "KARAKEEP_API_KEY=<YOUR_TOKEN>",CODE
Hallucination Indicators14 hits · 140 pts
SeverityFileLineSnippetContext
CRITICALpackages/trpc/routers/prompts.ts20 const prompt = await opts.ctx.db.query.customPrompts.findFirst({CODE
CRITICALpackages/trpc/routers/rules.ts53 const userTags = await opts.ctx.db.query.bookmarkTags.findMany({CODE
CRITICALpackages/trpc/models/users.ts214 const settings = await this.ctx.db.query.users.findFirst({CODE
CRITICALpackages/trpc/models/users.ts294 ? this.ctx.db.query.assets.findFirst({CODE
CRITICALpackages/trpc/models/users.ts305 ? this.ctx.db.query.assets.findFirst({CODE
CRITICALpackages/trpc/models/users.ts403 const userObj = await this.ctx.db.query.users.findFirst({CODE
CRITICALpackages/trpc/models/users.ts700 const userObj = await this.ctx.db.query.users.findFirst({CODE
CRITICALpackages/trpc/models/lists.ts741 await this.ctx.db.query.listCollaborators.findMany({CODE
CRITICALpackages/trpc/models/lists.ts913 this.ctx.db.query.listCollaborators.findMany({CODE
CRITICALpackages/trpc/models/lists.ts935 const owner = await this.ctx.db.query.users.findFirst({CODE
CRITICALpackages/trpc/models/lists.ts1179 const bookmark = await this.ctx.db.query.bookmarks.findFirst({CODE
CRITICALpackages/trpc/models/lists.ts1229 const bookmark = await this.ctx.db.query.bookmarks.findFirst({CODE
CRITICALpackages/trpc/models/tags.ts359 await this.ctx.db.query.tagsOnBookmarks.findMany({CODE
CRITICALpackages/api/routes/public/assets.ts40 const assetDb = await c.var.ctx.db.query.assets.findFirst({CODE
Hyper-Verbose Identifiers131 hits · 131 pts
SeverityFileLineSnippetContext
LOWdocs/src/theme/DocSidebarItem/Category/index.tsx53function useAutoExpandActiveCategory({CODE
LOWdocs/src/theme/DocSidebarItem/Category/index.tsx79function useCategoryHrefWithSSRFallback(CODE
LOWpackages/plugins/vectorstore-meilisearch/src/index.ts27function filterToMeiliSearchFilter(filter: VectorFilterQuery): string {CODE
LOWpackages/plugins/search-meilisearch/src/index.ts18function filterToMeiliSearchFilter(filter: FilterQuery): string {CODE
LOWpackages/trpc/stats.ts29function getOrCreateMetric<T extends Metric>(CODE
LOWpackages/trpc/testUtils.ts101export async function getApiKeyCallerForPlainKey(db: TestDB, plainKey: string) {CODE
LOWpackages/trpc/index.ts97 .use(function rejectMutationsInReadOnlyModes(opts) {CODE
LOWpackages/trpc/index.ts182export function createScopedAuthedProcedure(resource: ZApiKeyScopeResource) {CODE
LOWpackages/trpc/index.ts204export function createAdminScopedProcedure(CODE
LOWpackages/trpc/routers/bookmarks.ts156 return async function bookmarksQueriedMiddleware(opts: {CODE
LOWpackages/trpc/routers/bookmarks.ts174 return function semanticSearchRateLimitMiddleware(opts: {CODE
LOWpackages/trpc/routers/bookmarks.ts217async function shouldUseLowPriorityQueues(CODE
LOWpackages/trpc/routers/subscriptions.ts91function computeSubscriptionTransition(CODE
LOWpackages/trpc/lib/revenueCat.ts122export function computeInAppSubscriptionState(CODE
LOWpackages/trpc/lib/revenueCat.ts241export function syncRevenueCatDataToDatabase(CODE
LOWpackages/trpc/lib/revenueCat.ts272async function fetchAndStoreRevenueCatState(CODE
LOWpackages/trpc/lib/revenueCat.ts351export function isValidRevenueCatWebhookAuthorization(CODE
LOWpackages/trpc/lib/revenueCat.ts369export function getRevenueCatWebhookAppUserIds(CODE
LOWpackages/trpc/lib/search.ts59export async function getBookmarksConditionFromMatcher(CODE
LOWpackages/trpc/lib/search.ts292export async function getBookmarkIdsFromMatcher(CODE
LOWpackages/trpc/lib/impersonate.ts8export async function buildImpersonatingAuthedContext(CODE
LOWpackages/trpc/lib/subscriptionEntitlements.ts15export function getActivePaidSubscriptionProvider(CODE
LOWpackages/shared/inference.ts31function validateEmbeddingDimensions(embeddings: number[][]): void {CODE
LOWpackages/shared/prompts.ts53export function constructTextTaggingPrompt(CODE
LOWpackages/shared/prompts.ts112export function buildTextPromptUntruncated(CODE
LOWpackages/shared/prompts.ts131export function buildSummaryPromptUntruncated(CODE
LOWpackages/shared/types/apiKeys.ts86function getReadWriteScopeForReadScope(scope: ZApiKeyScope) {CODE
LOWpackages/shared/utils/tag.ts39export function getPotentialRelevantTagsPrompt(CODE
LOWpackages/shared/utils/reading-progress-dom.ts151function getReadingPositionWithViewport(CODE
LOWpackages/shared/utils/userName.ts5export function containsUnsafeUserNameMarkup(input: string): boolean {CODE
LOWpackages/shared/utils/url.ts1export function setUrlHostnameFromResolvedAddress(url: URL, address: string) {CODE
LOWpackages/shared/utils/bookmarkUtils.ts4export function getBookmarkLinkAssetIdOrUrl(bookmark: ZBookmarkedLink) {CODE
LOWpackages/shared/utils/bookmarkUtils.ts44export function isBookmarkStillSummarizing(bookmark: ZBookmark) {CODE
LOWpackages/shared/utils/bookmarkUtils.ts56export function getBookmarkRefreshInterval(CODE
LOWpackages/shared/utils/assetUtils.ts7export function humanFriendlyNameForAssertType(type: ZAssetType) {CODE
LOWpackages/shared/import-export/parsers.ts53function parseNetscapeBookmarkFile(textContent: string): ParsedBookmark[] {CODE
LOWpackages/shared/import-export/parsers.ts183function parseKarakeepBookmarkFile(textContent: string): ParsedImportFile {CODE
LOWpackages/shared/import-export/parsers.ts240function parseOmnivoreBookmarkFile(textContent: string): ParsedBookmark[] {CODE
LOWpackages/shared/import-export/parsers.ts270function parseLinkwardenBookmarkFile(textContent: string): ParsedBookmark[] {CODE
LOWpackages/shared/import-export/parsers.ts326function parseTabSessionManagerStateFile(CODE
LOWpackages/shared/import-export/parsers.ts426function parseInstapaperBookmarkFile(textContent: string): ParsedBookmark[] {CODE
LOWpackages/shared/import-export/parsers.ts498function parseReadwiseReaderBookmarkFile(CODE
LOWpackages/api/middlewares/rateLimit.ts9export function createRateLimitMiddleware(config: RateLimitConfig) {CODE
LOWpackages/api/utils/readableContent.ts15export function encodeReadableContentCursor(CODE
LOWpackages/api/utils/readableContent.ts21export function decodeReadableContentCursor(CODE
LOWpackages/e2e_tests/tests/assetdb/assetdb-utils.ts125export function createLocalFileSystemStore(CODE
LOWpackages/shared-react/hooks/bookmarks.ts12export function useAutoRefreshingBookmarkQuery(CODE
LOWpackages/shared-react/hooks/bookmarks.ts51export function useCreateBookmarkWithPostHook(CODE
LOWpackages/shared-react/hooks/bookmarks.ts222export function useBookmarkPostCreationHook() {CODE
LOWpackages/shared-react/hooks/query-invalidation.ts27export function scheduleInvalidateQueries(CODE
LOWpackages/shared-react/hooks/bookmark-grid-context.tsx11export function BookmarkGridContextProvider({CODE
LOWpackages/shared-react/hooks/lists.ts115export function useRemoveBookmarkFromList(CODE
LOWpackages/shared-react/hooks/lists.ts180export function augmentBookmarkListsWithInitialData(CODE
LOWpackages/shared-react/hooks/bookmark-list-context.tsx11export function BookmarkListContextProvider({CODE
LOWapps/web/components/ui/collapsible.tsx13function CollapsibleTriggerTriangle({CODE
LOWapps/web/components/ui/collapsible.tsx33function CollapsibleTriggerChevron({CODE
LOW…ents/dashboard/sidebar/InvitationNotificationBadge.tsx7export function InvitationNotificationBadge() {CODE
LOW…eb/components/dashboard/lists/BookmarkListSelector.tsx132function BookmarkListSingleSelector({CODE
LOW…eb/components/dashboard/lists/BookmarkListSelector.tsx180function BookmarkListMultiSelector({CODE
LOW…nents/dashboard/lists/DeleteListConfirmationDialog.tsx13export default function DeleteListConfirmationDialog({CODE
71 more matches not shown…
Fake / Example Data110 hits · 112 pts
SeverityFileLineSnippetContext
LOWpackages/trpc/routers/subscriptions.revenueCat.test.ts125async function createFreeUser(db: TestDB, email = "test@test.com") {CODE
LOWpackages/trpc/routers/subscriptions.test.ts113 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts139 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts180 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts207 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts238 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts269 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts336 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts417 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts700 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts740 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts762 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts799 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts839 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts864 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts898 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts915 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts941 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts1010 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts1085 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts1158 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts1219 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts1311 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts1456 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts1539 email: "test@test.com",CODE
LOWpackages/trpc/routers/subscriptions.test.ts1623 email: "test@test.com",CODE
LOWpackages/trpc/routers/apiKeys.test.ts38 email: "test@test.com",CODE
LOWpackages/trpc/routers/apiKeys.test.ts83 email: "test@test.com",CODE
LOWpackages/trpc/routers/apiKeys.test.ts110 email: "test@test.com",CODE
LOWpackages/trpc/routers/apiKeys.test.ts166 email: "test@test.com",CODE
LOWpackages/trpc/routers/apiKeys.test.ts194 email: "test@test.com",CODE
LOWpackages/trpc/routers/apiKeys.test.ts246 email: "test@test.com",CODE
LOWpackages/trpc/routers/apiKeys.test.ts271 email: "test@test.com",CODE
LOWpackages/trpc/routers/apiKeys.test.ts296 email: "test@test.com",CODE
LOWpackages/trpc/routers/apiKeys.test.ts324 email: "test@test.com",CODE
LOWpackages/trpc/routers/apiKeys.test.ts374 email: "test@test.com",CODE
LOWpackages/trpc/routers/apiKeys.test.ts396 email: "test@test.com",CODE
LOWpackages/trpc/routers/apiKeys.test.ts738 email: "test@test.com",CODE
LOWpackages/trpc/lib/__tests__/ruleEngine.test.ts96 .values({ name: "Test User", email: "test@test.com" })CODE
LOWpackages/api/middlewares/rateLimit.test.ts64 email: "user@example.com",CODE
LOWpackages/e2e_tests/setup/seed.ts10 email: "admin@example.com",CODE
LOWpackages/e2e_tests/setup/seed.ts15 email: "admin@example.com",CODE
LOW⚡apps/web/server/auth.test.ts202 await signUp("user@example.com");CODE
LOW⚡apps/web/server/auth.test.ts204 body: { email: "user@example.com", password: "password123" },CODE
LOW⚡apps/web/server/auth.test.ts210 email: "user@example.com",CODE
LOW⚡apps/web/server/auth.test.ts220 const { cookie } = await signUp("user@example.com");CODE
LOW⚡apps/web/server/auth.test.ts274 expect((await signIn("user@example.com", "old-password")).status).toBe(401);CODE
LOW⚡apps/web/server/auth.test.ts275 expect((await signIn("user@example.com", "new-password")).status).toBe(200);CODE
LOW⚡apps/web/server/auth.test.ts280 await signUp("user@example.com");CODE
LOW⚡apps/web/server/auth.test.ts282 body: { email: "user@example.com" },CODE
LOW⚡apps/web/server/auth.test.ts314 expect(verificationUrl.searchParams.get("email")).toBe("user@example.com");CODE
LOW⚡apps/web/server/auth.test.ts321 const wrongPassword = await signIn("user@example.com", "wrong-password");CODE
LOW⚡apps/web/server/auth.test.ts323 const unverified = await signIn("user@example.com");CODE
LOW⚡apps/web/server/auth.test.ts331 expect((await signIn("user@example.com")).status).toBe(200);CODE
LOW⚡apps/web/server/auth.test.ts334 const duplicate = await signUp("user@example.com");CODE
LOW⚡apps/web/server/auth.test.ts340 await signUp("user@example.com", "old-password");CODE
LOW⚡apps/web/server/auth.test.ts342 await signIn("user@example.com", "old-password");CODE
LOW⚡apps/web/server/auth.test.ts411 expect((await signUp("user@example.com")).status).toBe(403);CODE
LOW⚡apps/web/server/auth.test.ts412 expect((await signIn("user@example.com")).status).toBe(403);CODE
LOW⚡apps/web/server/auth.test.ts414 body: { email: "user@example.com" },CODE
50 more matches not shown…
Verbosity Indicators15 hits · 26 pts
SeverityFileLineSnippetContext
LOWpackages/trpc/models/lists.ts432 // For owner lists, we need to check if they actually have collaboratorsCOMMENT
LOWpackages/e2e_tests/tests/api/backups.test.ts158 // Step 1: Create some test bookmarksCOMMENT
LOWpackages/e2e_tests/tests/api/backups.test.ts193 // Step 2: Trigger a backupCOMMENT
LOWpackages/e2e_tests/tests/api/backups.test.ts206 // Step 3: Poll until backup is completed or failedCOMMENT
LOW⚡packages/e2e_tests/tests/api/backups.test.ts231 // Step 4: Verify backup completed successfullyCOMMENT
LOW⚡packages/e2e_tests/tests/api/backups.test.ts238 // Step 5: Download the backupCOMMENT
LOWpackages/e2e_tests/tests/api/backups.test.ts257 // Step 6: Unzip and validate the backup contentsCOMMENT
LOWpackages/e2e_tests/tests/api/backups.test.ts322 // Step 7: Verify the backup appears in the list with updated statusCOMMENT
LOWapps/workers/workers/crawlerWorker.ts2143 // Archival is a heavy operation, so we need to check if the user is within reasonable quota before proceedingCOMMENT
LOWapps/workers/workers/backupWorker.ts208 // Step 1: Stream bookmarks to JSON fileCOMMENT
LOWapps/workers/workers/backupWorker.ts231 // Step 2: Compress the JSON file as zipCOMMENT
LOW⚡apps/workers/workers/backupWorker.ts247 // Step 3: Check quota and store as assetCOMMENT
LOW⚡apps/workers/workers/backupWorker.ts256 // Step 4: Create asset recordCOMMENT
LOWapps/workers/workers/backupWorker.ts277 // Step 5: Update backup recordCOMMENT
LOWapps/workers/workers/backupWorker.ts289 // Step 6: Clean up old backups based on retentionCOMMENT
Structural Annotation Overuse13 hits · 22 pts
SeverityFileLineSnippetContext
LOWpackages/e2e_tests/tests/api/backups.test.ts158 // Step 1: Create some test bookmarksCOMMENT
LOWpackages/e2e_tests/tests/api/backups.test.ts193 // Step 2: Trigger a backupCOMMENT
LOWpackages/e2e_tests/tests/api/backups.test.ts206 // Step 3: Poll until backup is completed or failedCOMMENT
LOW⚡packages/e2e_tests/tests/api/backups.test.ts231 // Step 4: Verify backup completed successfullyCOMMENT
LOW⚡packages/e2e_tests/tests/api/backups.test.ts238 // Step 5: Download the backupCOMMENT
LOWpackages/e2e_tests/tests/api/backups.test.ts257 // Step 6: Unzip and validate the backup contentsCOMMENT
LOWpackages/e2e_tests/tests/api/backups.test.ts322 // Step 7: Verify the backup appears in the list with updated statusCOMMENT
LOWapps/workers/workers/backupWorker.ts208 // Step 1: Stream bookmarks to JSON fileCOMMENT
LOWapps/workers/workers/backupWorker.ts231 // Step 2: Compress the JSON file as zipCOMMENT
LOW⚡apps/workers/workers/backupWorker.ts247 // Step 3: Check quota and store as assetCOMMENT
LOW⚡apps/workers/workers/backupWorker.ts256 // Step 4: Create asset recordCOMMENT
LOWapps/workers/workers/backupWorker.ts277 // Step 5: Update backup recordCOMMENT
LOWapps/workers/workers/backupWorker.ts289 // Step 6: Clean up old backups based on retentionCOMMENT
Modern AI Meta-Vocabulary7 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md27- LLM Agents (e.g. OpenClaw, Hermes) friendly with powerful [CLI](https://docs.karakeep.com/integrations/command-line), CODE
MEDIUMdocs/docs/01-getting-started/01-intro.md19- LLM Agents (e.g. OpenClaw, Hermes) friendly with powerful [CLI](https://docs.karakeep.com/integrations/command-line), CODE
MEDIUM…ed_docs/version-v0.32.0/01-getting-started/01-intro.md20- 🤖 LLM Agents (e.g. OpenClaw, Hermes) friendly with powerful [CLI](https://docs.karakeep.com/integrations/command-line)CODE
MEDIUM…ed_docs/version-v0.33.0/01-getting-started/01-intro.md19- LLM Agents (e.g. OpenClaw, Hermes) friendly with powerful [CLI](https://docs.karakeep.com/integrations/command-line), CODE
MEDIUM…ed_docs/version-v0.34.0/01-getting-started/01-intro.md19- LLM Agents (e.g. OpenClaw, Hermes) friendly with powerful [CLI](https://docs.karakeep.com/integrations/command-line), CODE
MEDIUMrelease-notes/2026-05-08-v0.32.0.md22 * We're publishing an official skill for karakeep on ClawHub and skills.sh (details [here](https://docs.karakeep.app/nCOMMENT
MEDIUMapps/landing/public/llms.txt27- [Agent skills documentation](https://docs.karakeep.com/integrations/agentic-skills)CODE
Over-Commented Block4 hits · 4 pts
SeverityFileLineSnippetContext
LOWscripts/dev-worktree.sh1#!/usr/bin/env bashCOMMENT
LOW.github/workflows/pullfrog.yml41 DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}COMMENT
LOW.github/workflows/pullfrog.yml61 # VERTEX_MODEL_ID: <vertex-model-id>COMMENT
LOWapps/landing/vite-env.d.ts1/// <reference types="vite-plugin-svgr/client" />COMMENT
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOWstart-dev.sh13# Check if Docker is installedCOMMENT
LOWstart-dev.sh19# Check if pnpm is installedCOMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/ci.yml14# You can leverage Vercel Remote Caching with Turbo to speed up your buildsCOMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/dev-worktree.sh6# Usage:COMMENT