Repository Analysis

civitai/civitai

A repository of models, textual inversions, and more

4.1 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of civitai/civitai, a TypeScript project with 7,240 GitHub stars. SynthScan v2.0 examined 1,728,623 lines of code across 8448 source files, recording 4597 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 4.1 places this repository in the Likely human-written band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

4.1
Adjusted Score
4.1
Raw Score
100%
Time Factor
2026-08-28
Last Push
7.2K
Stars
TypeScript
Language
1.7M
Lines of Code
8.4K
Files
4.6K
Pattern Hits
2026-08-29
Scan Date
0.01
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 95HIGH 23MEDIUM 746LOW 3733

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 4597 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Over-Commented Block2231 hits · 2042 pts
SeverityFileLineSnippetContext
LOWplaywright.preview.config.ts21 testDir: './tests',COMMENT
LOWeslint-local-rules.js921COMMENT
LOWtsconfig.tests.json1{COMMENT
LOWtsconfig.scripts.json1{COMMENT
LOW.eslintrc.js21 // "plugin:import/typescript",COMMENT
LOW.eslintrc.js41 // callback (blows the txn timeout budget). See eslint-local-rules.js.COMMENT
LOW.eslintrc.js61 // The severity has to be read against .github/workflows/lint.yml, whichCOMMENT
LOW.eslintrc.js81 // before it merges" is both cheap and correct.COMMENT
LOW.eslintrc.js101 // factory that listed only `RoutedDialogLink`; the carousel suite died atCOMMENT
LOW.eslintrc.js121 // factory is a landmine rather than a complete stand-in;COMMENT
LOW.eslintrc.js141 // ~/shared/data-graph/generation/config/workflows 27 32 1COMMENT
LOW.eslintrc.js201 // on `main` for every open PR (#3505 / #3506).COMMENT
LOW.eslintrc.js221 // third cache-helpers factory with this hazard. It is REPORTED, not silencedCOMMENT
LOW.eslintrc.js241 // in scope today (nowpayments.service.ts). Counts and the reasoning are inCOMMENT
LOW.eslintrc.js261 // 'error', matching no-wholesale-module-mock / no-module-scope-cache andCOMMENT
LOW.eslintrc.js281 // broken images today, across 6 files. The rule reports 16 sites in 5COMMENT
LOWtsconfig.json81 "./node_modules/*",COMMENT
LOWtsconfig.json101 // files there carry them, and ALL 15 were added within one month. IncludingCOMMENT
LOWplaywright.config.ts61 // name: 'Mobile Chrome',COMMENT
LOWdocker-compose.base.yml121COMMENT
LOWtest/component-setup.tsx161// insecure context with no clipboard permission, so the REAL `writeText`COMMENT
LOWtest/component-setup.tsx181// `await act(async () => root.unmount())` and only THENCOMMENT
LOWtests/preview-moderation.spec.ts181 // If the CSRF/origin gate (createContext.ts) rejects this direct tRPC POST withCOMMENT
LOWtests/preview-moderation.spec.ts201 //COMMENT
LOWtests/preview-buzz.spec.ts81 // "Memberships | Civitai"> regardless of branch (green plans vs. yellowCOMMENT
LOWtests/preview-remix.spec.ts41COMMENT
LOWtests/preview-og.spec.ts61// be one of `images.qualities` (default `[75]`), and a query string on a LOCALCOMMENT
LOWtests/preview-membership.spec.ts41 // land on the membership page itself (getServerSideProps only redirectsCOMMENT
LOWtests/preview-generation.spec.ts121 // retries fire within seconds — too fast to outlast a load spike. Retry the wholeCOMMENT
LOWtests/preview-generation.spec.ts161 expect(resp?.status(), 'HTTP status for /generate').toBeLessThan(400);COMMENT
LOWtests/preview-auth.setup.ts101 // capped at 60s) so one route compiles at a time (parallel heavy renders OOM theCOMMENT
LOWtests/preview-auth.setup.ts141 }COMMENT
LOWtests/preview-apps-marketplace.spec.ts101 // The marketplace index renders for an appBlocks-enabled viewer (the mod) andCOMMENT
LOWtests/preview-apps-marketplace.spec.ts161 Array.isArray(detail!.manifest.targets ?? []),COMMENT
LOWtests/preview-apps-page.spec.ts121 // the e2e proof the page-mint path works (two-flag gate cleared, syntheticCOMMENT
LOW.claude/skills/deploy-status/deploy-chain.sh1#!/usr/bin/env bashCOMMENT
LOWdocs/adding-basemodel-ecosystem-guide.md741```COMMENT
LOWdocs/features/prompt-snippets-schema.md101COMMENT
LOWdocs/features/prompt-snippets.md201async function expandSnippetsToTargets(input: {COMMENT
LOWscripts/nix/dev-up.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/nix/test-pins.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/test-perf/trace-setup.ts81 } catch (err) {COMMENT
LOWscripts/test-perf/__tests__/trace-flush.test.ts221 // The interval backstop exists so a long run still leaves a snapshot; every out-of-range valueCOMMENT
LOWscripts/oneoffs/drain-cosmetic-phash-lane.ts101 );COMMENT
LOWscripts/mutation/listing-problems-kind.suite.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/__tests__/check-server-graph-singletons.test.ts121 expect(entry.globalKey).toBeTruthy();COMMENT
LOWscripts/__tests__/typecheck-tests-gate.test.ts1341 [plain('src\\a\\__tests__\\x.test.ts'), plain('src/a/__tests__/x.test.ts')].join('\n')COMMENT
LOWscripts/__tests__/dev-server-port-reservation.test.ts41COMMENT
LOWscripts/__tests__/main-branch-ci-coverage.test.ts1import { readFileSync, readdirSync } from 'node:fs';COMMENT
LOWpackages/civitai-telemetry/src/client.ts21// globalThis (the real V8 global, shared across all webpack bundles in one Node process — the sameCOMMENT
LOWpackages/civitai-telemetry/src/client.ts221// resolver, labeled by procedure path. Used to rank heavy-pool isolationCOMMENT
LOWpackages/civitai-telemetry/src/otel-logs.ts21 type LogRecordProcessor,COMMENT
LOWpackages/civitai-telemetry/src/otel-logs.ts41// lands in a registry nothing scrapes: it is registered, it increments, and it is absentCOMMENT
LOWpackages/civitai-telemetry/src/otel-logs.ts81 registers: [instrumentationRegistry],COMMENT
LOWpackages/civitai-telemetry/src/otel-logs.ts121}COMMENT
LOWpackages/civitai-storage/src/schema.ts1import * as z from 'zod';COMMENT
LOWpackages/civitai-storage/src/errors.ts1// Pure classification of an S3/AWS-SDK error thrown while finalizing (complete) or aborting aCOMMENT
LOWpackages/civitai-storage/src/upload.ts1// Browser-safe upload execution. Consumes a presign response (from the server-only createStorageClient,COMMENT
LOWpackages/civitai-auth/src/sign.ts1// HUB sign side (Path C). The hub is the ONLY minter. ES256-signed JWS, so spokes verify withCOMMENT
LOWpackages/civitai-auth/src/constants.ts1// Shared auth-contract constants — single source of truth so the hub, the main app, and everyCOMMENT
2171 more matches not shown…
Decorative Section Separators628 hits · 1860 pts
SeverityFileLineSnippetContext
MEDIUMdocs/features/prompt-snippets-nested-resolution.md166┌─ expandValue(#hero, sourceSetId=MyFantasyPack, depth=1) ──────────────┐CODE
MEDIUMdocs/features/prompt-snippets-nested-resolution.md176┌─ expandValue(#weapon, sourceSetId=MyFantasyPack, depth=2) ────────────┐CODE
MEDIUMdocs/features/prompt-snippets-nested-resolution.md191┌─ expandValue(#location, sourceSetId=MyFantasyPack, depth=1) ──────────┐CODE
MEDIUMscripts/seed-comics.ts82 // ── Comic 1: SFW (PG) ────────────────────────────────────────────────COMMENT
MEDIUMscripts/seed-comics.ts186 // ── Comic 2: PG-13 (mild content) ────────────────────────────────────COMMENT
MEDIUMscripts/seed-comics.ts264 // ── Comic 3: R-rated (violence, noir themes) ─────────────────────────COMMENT
MEDIUMpackages/civitai-redis/src/cluster-selfheal.ts204 // ── TRIGGER 1: DEADLINE-HIT RATE (sawtooth-immune — the real-wave signal) ──────────COMMENT
MEDIUMpackages/civitai-redis/src/cluster-selfheal.ts216 // ── TRIGGER 2: SUSTAINED INFLIGHT (legacy continuous-breach path) ──────────────────COMMENT
MEDIUMpackages/civitai-redis/src/cluster-selfheal.ts235 // ── TRIGGER ──────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/civitai-redis/src/env.ts42 // ── CLUSTER SELF-HEAL WATCHDOG (FIX #1/#2/#3) ──────────────────────────────────────COMMENT
MEDIUMpackages/civitai-redis/src/env.ts42 // ── CLUSTER SELF-HEAL WATCHDOG (FIX #1/#2/#3) ──────────────────────────────────────COMMENT
MEDIUMpackages/civitai-redis/src/env.ts82 // ── SYS (SENTINEL) SELF-HEAL WATCHDOG ──────────────────────────────────────────────COMMENT
MEDIUMpackages/civitai-redis/src/env.ts113 // ── CLUSTER ROUTING RETRY-AFTER-REDISCOVER (the topology-churn 500 wave) ────────────COMMENT
MEDIUM…s/civitai-redis/src/__tests__/cluster-selfheal.test.ts236 // ── DEADLINE-HIT TRIGGER (the fix for the real-wave non-firing bug) ────────────────COMMENT
MEDIUM…s/civitai-redis/src/__tests__/cluster-selfheal.test.ts360 // ── PER-POD RECONNECT JITTER (fleet-stampede brake) ────────────────────────────────COMMENT
MEDIUM.github/workflows/lint.yml51# ── ALSO RUNS ON PUSH TO `main`, and that is not decoration ──────────────────COMMENT
MEDIUM.github/workflows/lint.yml387 # ── REPORT-ONLY ON PULL REQUESTS, REAL VERDICT ON `main` ────────────────────COMMENT
MEDIUM.github/workflows/lint.yml406 # ── SHARDED ACROSS 4 RUNNERS ────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/lint.yml415 # -------------------------COMMENT
MEDIUM.github/workflows/lint.yml474 # ── VITE PRE-BUNDLE CACHE ───────────────────────────────────────────COMMENT
MEDIUM.github/workflows/lint.yml744 # ── App typechecks ──────────────────────────────────────────────────COMMENT
MEDIUM.github/workflows/windows-dev-env.yml41# ── ALSO RUNS ON PUSH TO `main`, AND THAT IS A CACHE FIX ─────────────────────COMMENT
MEDIUMapps/auth/src/lib/server/oauth/http.ts62// ─── CORS ─────────────────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapps/auth/src/lib/server/oauth/model.ts46 // ─── Client ─────────────────────────────────────────────────COMMENT
MEDIUMapps/auth/src/lib/server/oauth/model.ts163 // ─── Authorization Code ─────────────────────────────────────COMMENT
MEDIUMapps/auth/src/lib/server/oauth/model.ts254 // ─── Tokens ─────────────────────────────────────────────────COMMENT
MEDIUMapps/auth/src/lib/server/oauth/model.ts338 // ─── Client Credentials ─────────────────────────────────────COMMENT
MEDIUMapps/auth/src/lib/server/oauth/model.ts355 // ─── Scope Validation ──────────────────────────────────────COMMENT
MEDIUMapps/auth/src/lib/server/oauth/first-party.ts48// ── Trusted-spoke-domain registry ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUMapps/auth/src/lib/server/oauth/__tests__/model.test.ts10// ── Kysely db mock ────────────────────────────────────────────────────────────COMMENT
MEDIUMapps/moderator/src/lib/server/api-guard.ts38// ─── Script-facing helpers ────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/tests/api/tier1-public-route-disclosure.test.ts151// ── The payloads. Both are REAL driver errors, not stand-ins. ────────────────COMMENT
MEDIUMsrc/tests/api/tier1-public-route-disclosure.test.ts551 // ── Route-specific behaviour the fix must not have broken ──────────────────COMMENT
MEDIUMsrc/tests/api/rest-envelope-consolidation.test.ts151// ── The payloads. Both are REAL driver errors, not stand-ins. ────────────────COMMENT
MEDIUMsrc/tests/api/rest-envelope-consolidation.test.ts463 // ── Route-specific behaviour the delegation must NOT have broken ────────────COMMENT
MEDIUMsrc/tests/api/v1/blocks/tip-endpoint.test.ts365 // ── Idempotency (item 2, tip half) ──────────────────────────────────────────COMMENT
MEDIUMsrc/tests/api/v1/blocks/tip-allowance-endpoint.test.ts156 // ── audit 🟡-4: rate limited like every sibling blocks REST read ──────────────COMMENT
MEDIUMsrc/tests/api/v1/blocks/images-endpoint.test.ts278 // ── Transient Meili → retryable 503 (audit 🟡 #2) ──────────────────────────COMMENT
MEDIUMsrc/tests/api/v1/blocks/images-endpoint.test.ts278 // ── Transient Meili → retryable 503 (audit 🟡 #2) ──────────────────────────COMMENT
MEDIUMsrc/tests/api/v1/images/index.test.ts468// ─── Transient upstream → retryable 503 (500→503 reclassification) ───────────COMMENT
MEDIUMsrc/tests/api/v1/block-tokens/page-mint.test.ts426 // ───────────────────────── W10 generation spend ──────────────────────────COMMENT
MEDIUMsrc/tests/api/v1/block-tokens/page-mint.test.ts507 // ── Audit should-fix: integer enforcement in resolveBuzzBudget ──────────COMMENT
MEDIUMsrc/tests/api/v1/block-tokens/page-mint.test.ts611 // verbatim (clamped only by the cap). ────────────────────────────────────COMMENT
MEDIUMsrc/tests/api/v1/block-tokens/page-mint.test.ts721 // showed can silently fail. ────────────────────────────────────────────────COMMENT
MEDIUMsrc/tests/api/v1/block-tokens/page-mint.test.ts774// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/tests/api/v1/block-tokens/page-mint.test.ts784// ───────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/tests/api/v1/apps/apps-error-envelope.test.ts217 // ── Guard: the #3845 disclosure, through the REAL handler ──────────────────COMMENT
MEDIUMsrc/tests/api/v1/apps/apps-error-envelope.test.ts217 // ── Guard: the #3845 disclosure, through the REAL handler ──────────────────COMMENT
MEDIUMsrc/tests/api/v1/apps/apps-error-envelope.test.ts236 // ── Guard: one envelope across every non-2xx status this route emits ───────COMMENT
MEDIUMsrc/tests/api/v1/apps/apps-error-envelope.test.ts269 // ── Guard: the OTHER 500 branch, through the SAME real route ───────────────COMMENT
MEDIUMsrc/tests/api/v1/apps/apps-error-envelope.test.ts300 // ── Guard: the 4xx pass-through is UNCHANGED on the same route ─────────────COMMENT
MEDIUMsrc/tests/api/v1/apps/apps-error-envelope.test.ts315 // ── Positive control: the discriminator actually DISCRIMINATES ─────────────COMMENT
MEDIUMsrc/tests/api/v1/apps/apps-error-envelope.test.ts340 // ── Guard: nothing on the request path throws OUTSIDE the try ─────────────COMMENT
MEDIUMsrc/tests/api/v1/apps/apps-error-envelope.test.ts383 // ── Invariant: the 200 payload is untouched by this change ────────────────COMMENT
MEDIUMsrc/tests/api/internal/blocks/mod-gate.test.ts86 // ── ENTRY path (requires a valid mr token) ────────────────────────────────COMMENT
MEDIUMsrc/tests/api/internal/blocks/mod-gate.test.ts167 // ── ABSENT Sec-Fetch-Dest → treated as ENTRY (fail-safe) ──────────────────COMMENT
MEDIUMsrc/tests/api/internal/blocks/mod-gate.test.ts184 // ── SUBRESOURCE path (allowed without any token/cookie) ───────────────────COMMENT
MEDIUMsrc/tests/api/internal/blocks/mod-gate.test.ts211 // ── fail-closed on missing host ───────────────────────────────────────────COMMENT
MEDIUMsrc/server/pyroscope.ts16// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/pyroscope.ts25// ─────────────────────────────────────────────────────────────────────────────COMMENT
568 more matches not shown…
Hyper-Verbose Identifiers1271 hits · 1276 pts
SeverityFileLineSnippetContext
LOWtests/preview-bootstrap.spec.ts76async function readBrowsingSettingsAddons(page: import('@playwright/test').Page) {CODE
LOWtests/preview-ssr-inject.spec.ts142function assertAnnouncementsSeedEqualsLive(seed: unknown, live: unknown, label: string) {CODE
LOWdocs/article-ingestion-status-proposal.md121export async function recomputeArticleIngestion(articleId: number): Promise<void> {CODE
LOWdocs/subscription-remaining-tasks.md266export async function hasActiveMembershipForBuzzType(userId: number, buzzType: string) {CODE
LOWdocs/base-model-constants-management.md500async function getBaseModelConfigForClient() {CODE
LOWdocs/subscription-multi-buzz-migration.md129async function getUserSubscriptionForBuzzType(userId: number, buzzType: BuzzSpendType)CODE
LOWdocs/subscription-multi-buzz-migration.md135async function hasActiveMembershipForBuzzType(userId: number, buzzType: BuzzSpendType)CODE
LOWdocs/subscription-multi-buzz-migration.md138async function getUserActiveSubscriptions(userId: number)CODE
LOWdocs/feed-card-dom-audit.md97 export function ImagesAsPostsInfiniteProvider({CODE
LOWdocs/moderator-app/retool-exports/bulk-image-manager.md135 function handleFilteredImageDelete(imageIds){CODE
LOWdocs/moderator-app/retool-exports/bulk-image-manager.md384 function handleFilteredImageRestore(imageIds){CODE
LOWdocs/moderator-app/retool-exports/user-reports.md146 function handleFilteredImageDelete(imageIds){CODE
LOWdocs/moderator-app/retool-exports/user-reports.md255 function handleFilteredImageRestore(imageIds){CODE
LOW…derator-app/retool-exports/raw/bulk-image-manager.json1{"uuid":"57fd8fb4-51ac-11ee-a0dd-9f0a271c8c9b","page":{"id":510420824,"data":{"appState":"[\"~#iR\",[\"^ \",\"n\",\"appTCODE
LOWdocs/moderator-app/retool-exports/raw/user-reports.json1{"uuid":"a7fbd3e4-46ee-11ef-addd-8b299ca80778","page":{"id":510420693,"data":{"appState":"[\"~#iR\",[\"^ \",\"n\",\"appTCODE
LOWdocs/plans/generator-filtering-options.md100export function getProcessTagFromWorkflow(workflow: string, hasSourceImage: boolean): string | undefined {CODE
LOWdocs/plans/generator-filtering-options.md300export function useGetTextToImageRequests(/* ... */) {CODE
LOWdocs/plans/live-metric-signals.md534export function useMetricSubscriptionContext() {CODE
LOWdocs/plans/live-metric-signals.md545export function MetricSubscriptionProvider({CODE
LOWdocs/auth/session-refresh-debug-instrumentation.md120 function checkAndSetSessionHeaders(session: Session | null, res: AuthResponse): Session | null {CODE
LOWdocs/features/prompt-snippets-provisioning-job.md87async function importWildcardModelVersion(modelVersionId: number): Promise<{CODE
LOWscripts/metric-migration/backfill-metrics.ts182async function deleteExistingBackfillData(entityType: string, dryRun: boolean): Promise<void> {CODE
LOW…ages/civitai-telemetry/src/__tests__/otel-logs.test.ts52function registerRecordingProvider(): InMemoryLogRecordExporter {CODE
LOWpackages/civitai-auth/src/first-party-bridge.ts147export async function completeFirstPartyCallback(opts: {CODE
LOWpackages/civitai-auth/src/impersonation-client.ts32export function createImpersonationClient(): ImpersonationClient {CODE
LOWpackages/civitai-auth/src/legacy-cookie.ts19export async function decodeLegacySessionCookie(CODE
LOWpackages/civitai-auth/src/token-scope.ts302export function connectScopesSubsetOfCeiling(requested: number, allowedScopes: number): boolean {CODE
LOWpackages/civitai-auth/src/token-scope.ts317export function validateConnectScopeJustifications(CODE
LOWpackages/civitai-auth/src/trusted-domains.ts55export function createTrustedDomainRegistry(CODE
LOWpackages/civitai-auth/src/device-client.ts29export function createDeviceAccountClient(): DeviceAccountClient {CODE
LOW…/civitai-db-schema/src/schema-drift/remediation/sql.ts309export function createIndexConcurrentlySql(ctx: RelationSqlContext, indexName: string): string {CODE
LOWpackages/civitai-axiom/src/client.ts110function getSharedIngestFailureCounts(): Map<string, number> {CODE
LOWpackages/civitai-axiom/src/client.ts125function getSharedUnprovisionedReported(): Set<string> {CODE
LOWpackages/civitai-axiom/src/client.ts255 function reportUnprovisionedDatastream(datastream: string) {CODE
LOWpackages/civitai-axiom/src/env.ts102export function buildProvisionedDatastreams(extra: readonly string[] = []): ReadonlySet<string> {CODE
LOWpackages/civitai-mod-utils/src/prompt-audit/index.ts395function includesHarmfulCombinations(prompt: string): 'minor' | 'poi' | false {CODE
LOWpackages/civitai-mod-utils/src/prompt-audit/index.ts516export function getPromptHighlightSegments(CODE
LOWpackages/civitai-db/src/kysely.ts26function registerNumericTypeParsers() {CODE
LOWpackages/civitai-db/src/kysely.ts56export async function registerEnumArrayTypeParsers(pool: Pool): Promise<void> {CODE
LOWpackages/civitai-notifications/src/client.ts172export function createNotificationsClient(config: NotificationsClientConfig = {}) {CODE
LOWpackages/civitai-redis/src/cache.ts136export function createSysRedisCacheBuilder(base: {CODE
LOWpackages/civitai-redis/src/cluster-deadline-hits.ts82export function recordClusterCommandSettle(CODE
LOWpackages/civitai-redis/src/client.ts267function triggerTopologyRediscovery(clusterClient: any, reason: string) {CODE
LOWpackages/civitai-redis/src/client.ts429function clearClusterRefreshInterval(type: 'cache' | 'system'): void {CODE
LOWpackages/civitai-redis/src/client.ts706export function attachSysSentinelListeners(CODE
LOWpackages/civitai-redis/src/cluster-routing-retry.ts116export function isTransientClusterRoutingError(err: unknown): boolean {CODE
LOW…itai-redis/src/__tests__/cluster-routing-retry.test.ts44function nodeClientConnectPromiseThrow(): TypeError {CODE
LOWpackages/civitai-buzz/src/paid-access.ts240export function migrateTermsForUsageControl(CODE
LOWpackages/civitai-buzz/src/rights-affirmation.ts54export function hasCurrentRightsAffirmation(meta: unknown, ownerId?: number): boolean {CODE
LOWpackages/civitai-shared/src/basemodel.constants.ts3608export function baseModelSupportsClipSkip(baseModel?: string | null): boolean {CODE
LOWpackages/civitai-shared/src/basemodel.constants.ts3721export function isBaseModelGenerationSupported(CODE
LOWpackages/civitai-shared/src/basemodel.constants.ts3766export function getResourceGenerationSupport(CODE
LOWpackages/civitai-shared/src/basemodel.constants.ts3843export function getResourceEcosystemCompatibility(CODE
LOWpackages/civitai-shared/src/basemodel.constants.ts3895export function getBaseModelEcosystemById(baseModelId: number): EcosystemRecord | undefined {CODE
LOWpackages/civitai-shared/src/basemodel.constants.ts3905export function getBaseModelsByEcosystemId(CODE
LOWpackages/civitai-shared/src/basemodel.constants.ts3980export function getGenerationBaseModelRecords(): BaseModelRecord[] {CODE
LOWpackages/civitai-shared/src/basemodel.constants.ts4019export function getGenerationEcosystemsForMediaType(mediaType: MediaType): string[] {CODE
LOWpackages/civitai-shared/src/basemodel.constants.ts4043export function getDefaultEcosystemForMediaType(mediaType: MediaType): string | undefined {CODE
LOWpackages/civitai-shared/src/basemodel.constants.ts4436export function checkGenerationCompatibility(CODE
LOWpackages/civitai-shared/src/basemodel.constants.ts4785export function getGenerationBaseModelGroup(CODE
1211 more matches not shown…
Hallucination Indicators95 hits · 965 pts
SeverityFileLineSnippetContext
CRITICALsrc/tests/api/v1/developer/block-manifests.test.ts100 const upsertArgs = mockDbWrite.appBlock.upsert.mock.calls.at(-1)?.[0] as {CODE
CRITICALsrc/tests/api/v1/developer/block-manifests.test.ts119 const upsertArgs = mockDbWrite.appBlock.upsert.mock.calls.at(-1)?.[0] as {CODE
CRITICALsrc/tests/api/v1/developer/block-manifests.test.ts149 const upsertArgs = mockDbWrite.appBlock.upsert.mock.calls.at(-1)?.[0] as {CODE
CRITICALsrc/tests/api/v1/developer/block-manifests.test.ts179 const upsertArgs = mockDbWrite.appBlock.upsert.mock.calls.at(-1)?.[0] as {CODE
CRITICALsrc/tests/api/v1/developer/block-manifests.test.ts198 const upsertArgs = mockDbWrite.appBlock.upsert.mock.calls.at(-1)?.[0] as {CODE
CRITICAL…/routers/__tests__/blocks.router.getNavSummary.test.ts345 const statuses = mockDbRead.appCollaborator.findFirst.mock.calls.map(CODE
CRITICALsrc/server/rewards/__tests__/remixAccept.reward.test.ts54 const [, options] = redisMock.redis.eval.mock.calls.at(-1) as [unknown, { arguments: string[] }];CODE
CRITICAL…ils/__tests__/app-moderator-message-rate-limit.test.ts56 const keys = redisMock.redis.incrBy.mock.calls.map((c) => c[0] as string);CODE
CRITICAL…ils/__tests__/app-moderator-message-rate-limit.test.ts72 const keys = redisMock.redis.incrBy.mock.calls.map((c) => c[0] as string);CODE
CRITICALsrc/server/__tests__/middleware.trpc.cacheit.test.ts146 return redisFake.packed.get.mock.calls.at(-1)![0] as string;CODE
CRITICALsrc/server/__tests__/pending-review-mute.test.ts272 const dataArgs = dbWrite.user.update.mock.calls.map(([arg]) => arg.data);CODE
CRITICALsrc/server/jobs/__tests__/process-vault-items.test.ts229 const lastUpdate = mockDbWrite.vaultItem.update.mock.calls.at(-1)?.[0];CODE
CRITICALsrc/server/jobs/__tests__/process-vault-items.test.ts302 const storedWrite = mockDbWrite.vaultItem.update.mock.calls.at(-1)?.[0];CODE
CRITICALsrc/server/jobs/__tests__/process-vault-items.test.ts310 const failWrite = mockDbWrite.vaultItem.update.mock.calls.at(-1)?.[0];CODE
CRITICAL…/blocks/__tests__/offsite-listing.edit.service.test.ts257 const updateCalls = mockWrite.appListing.update.mock.calls.map((c) => c[0]);CODE
CRITICAL…/blocks/__tests__/offsite-listing.edit.service.test.ts313 const updateCalls = mockWrite.appListing.update.mock.calls.map((c) => c[0]);CODE
CRITICAL…tests__/offsite-moderation.service.mod-actions.test.ts1964 const call = mockWrite.appListing.updateMany.mock.calls.find(CODE
CRITICAL…tests__/offsite-moderation.service.mod-actions.test.ts2224 const relistCall = mockWrite.appListing.updateMany.mock.calls.find(CODE
CRITICAL…ests__/offsite-listing.onsite-revision.service.test.ts227 const derivedRead = mockWrite.image.findMany.mock.calls.find(CODE
CRITICAL…ests__/offsite-listing.onsite-revision.service.test.ts433 const selects = mockRead.appListingPublishRequest.findMany.mock.calls.map(CODE
CRITICAL…/__tests__/offsite-listing.source-repo.service.test.ts342 const parentWrites = mockWrite.appListing.update.mock.calls.filter(CODE
CRITICAL…/__tests__/offsite-listing.source-repo.service.test.ts406 const parentWrites = mockWrite.appListing.update.mock.calls.filter(CODE
CRITICAL…/__tests__/offsite-listing.source-repo.service.test.ts497 const parentUpdate = mockWrite.appListing.update.mock.calls.find(CODE
CRITICAL…/__tests__/offsite-listing.source-repo.service.test.ts878 const repoQueries = mockWrite.appListing.findUnique.mock.calls.filter((c) =>CODE
CRITICAL…/__tests__/offsite-listing.source-repo.service.test.ts886 const parentUpdate = mockWrite.appListing.update.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts550 const call = mockDbWrite.appBlockPublishRequest.create.mock.calls.at(-1);CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts1649 const restoreFlip = mockDbWrite.appListing.updateMany.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts1657 const unsuspend = mockDbWrite.appBlock.updateMany.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts1786 mockDbWrite.appBlock.updateMany.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts1940 const unsuspend = mockDbWrite.appBlock.updateMany.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts2023 const reqUpdate = mockDbWrite.appBlockPublishRequest.update.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts2123 const shaStamp = mockDbWrite.appBlock.update.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts2231 const tierUpdate = mockDbWrite.appBlock.update.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts2256 const tierUpdate = mockDbWrite.appBlock.update.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts2478 const shaStamp = mockDbWrite.appBlock.update.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts2675 const syncCalls = mockDbWrite.appListing.updateMany.mock.calls.filter(CODE
CRITICAL…ver/services/blocks/__tests__/showcase.service.test.ts40 const last = mockDbRead.imageResourceNew.findMany.mock.results.at(-1);CODE
CRITICAL…vices/blocks/__tests__/offsite-listing.service.test.ts1194 const flip = mockWrite.appListing.updateMany.mock.calls.find(CODE
CRITICAL…offsite-listing.onsite-listing-approve.service.test.ts115 const call = mockWrite.appListing.updateMany.mock.calls.find(CODE
CRITICAL…locks/__tests__/app-access.accessible-listings.test.ts558 const call = mockDb.appListingModerationEvent.findFirst.mock.calls.at(-1)?.[0] as {CODE
CRITICAL…blocks/__tests__/publish-request.reviewSandbox.test.ts201 const buildingCall = mockDbWrite.appBlockPublishRequest.updateMany.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.reviewSandbox.test.ts231 const failedCall = mockDbWrite.appBlockPublishRequest.updateMany.mock.calls.find(CODE
CRITICAL…site-moderation.service.republish-asset-review.test.ts174 const call = mockWrite.appListing.updateMany.mock.calls.find(CODE
CRITICAL…cks/__tests__/app-access.my-app-listings-media.test.ts209 const hydrateCall = mockDb.appListing.findMany.mock.calls.at(-1)?.[0] as {CODE
CRITICAL…cks/__tests__/app-access.my-app-listings-media.test.ts436 mockDb.appListing.findMany.mock.calls.at(-1)?.[0] as { select: Record<string, unknown> }CODE
CRITICAL…cks/__tests__/app-access.my-app-listings-media.test.ts454 mockDb.appListing.findMany.mock.calls.at(-1)?.[0] as {CODE
CRITICAL…rver/services/blocks/__tests__/backpay.service.test.ts421 const calls = mockDbWrite.blockSpendAttribution.updateMany.mock.calls.map((c) => c[0]);CODE
CRITICAL…offsite-listing.get-my-listing-for-app.service.test.ts656 mockRead.appListing.findUnique.mock.calls.some(CODE
CRITICAL…offsite-listing.get-my-listing-for-app.service.test.ts893 mockRead.appListing.findUnique.mock.calls.some(CODE
CRITICAL…s/blocks/__tests__/publish-request.listingSync.test.ts213 return db.write.appListing.updateMany.mock.calls.filter((c) => {CODE
CRITICAL…s/blocks/__tests__/publish-request.listingSync.test.ts539 const transitionCall = db.write.appListing.updateMany.mock.calls.find((c) => {CODE
CRITICAL…s/blocks/__tests__/publish-request.listingSync.test.ts614 const transitionCall = db.write.appListing.updateMany.mock.calls.find(CODE
CRITICAL…ces/blocks/__tests__/spend-attribution.service.test.ts280 const { data } = mockDbWrite.blockSpendAttribution.create.mock.calls.at(-1)![0];CODE
CRITICAL…blocks/__tests__/publish-request.draftAtSubmit.test.ts81 return db.write.appListing.deleteMany.mock.calls.filter((c) => {CODE
CRITICAL…es/blocks/__tests__/app-listing-assets.service.test.ts657 const orders = mockDb.appListingScreenshot.updateMany.mock.calls.map(CODE
CRITICAL…es/blocks/__tests__/app-listing-assets.service.test.ts713 const orders = mockDb.appListingScreenshot.updateMany.mock.calls.map(CODE
CRITICAL…locks/__tests__/app-listing.moderation.service.test.ts59 return mockDbRead.appListing.findMany.mock.calls.at(-1)?.[0] as {CODE
CRITICAL…ices/blocks/__tests__/app-collaborator.service.test.ts488 const call = mockDb.user.findUnique.mock.calls.find(CODE
CRITICAL…/services/blocks/__tests__/app-listing.service.test.ts861 const where = (mockDbRead.appListing.findFirst.mock.calls.at(-1)?.[0] as { where?: unknown })CODE
CRITICAL…/services/blocks/__tests__/app-listing.service.test.ts870 const where = (mockDbRead.appListing.findFirst.mock.calls.at(-1)?.[0] as { where?: unknown })CODE
35 more matches not shown…
Modern AI Meta-Vocabulary78 hits · 240 pts
SeverityFileLineSnippetContext
MEDIUM.claude/skills/xguard-manager/SKILL.md50# See what the defaults look like (useful for scaffolding a new label)COMMENT
MEDIUMdocs/auto-label-orchestrator-revamp.md24## Existing scaffolding to reuseCOMMENT
MEDIUMdocs/event-bus-discovery.md378**Recommended middle path:** don't block it on a full platform (failure mode #1), but make it the **Phase-0 driving featCODE
MEDIUMdocs/monorepo-directory-snapshot.md209│ └── moderator/ # Next.js content-moderation app (scaffold): a spoke that verifiesCODE
MEDIUMdocs/prompt-analysis-audit-2026-08-05.md936### `civitai-orchestration`COMMENT
MEDIUMdocs/moderator-app-package-extraction-plan.md106### Commit 2 — post-move changes (scaffolding + shims + import rewrites + member extractions)COMMENT
MEDIUMdocs/moderator-app-package-extraction-plan.md211### D. New package scaffolding (mirror `@civitai/db-schema`)COMMENT
MEDIUMdocs/features/multi-image-upscale.md124### 3. Backend: Multi-Step Fan-Out in `orchestration-new.service.ts`COMMENT
MEDIUMdocs/features/prompt-snippets.md297### Phase 1 — schema + tRPC scaffolding (backend only)COMMENT
MEDIUMapps/event-engine/docs/plans/initial.md211### 2. Develop event listening microserviceCOMMENT
MEDIUMapps/event-engine/docs/plans/table-to-metrics.md168### orchestration.jobsCOMMENT
MEDIUM…or/src/routes/retool/user-lookup/TrainingsPanel.svelte292 {#await orchestration}CODE
MEDIUMsrc/tests/api/v1/blocks/dev-token.test.ts745 // The exact root-cause scenario: the page-money scaffold manifest declaresCOMMENT
MEDIUMsrc/tests/pages/payment/success.browser.test.tsx26// The scaffold mocks `next/router` with a shared router object (spy `replace`,COMMENT
MEDIUM…erver/routers/__tests__/blocks.router.workflow.test.ts7310// surface, and the requirement is that it is covered by the SAME guardrails asCOMMENT
MEDIUMsrc/server/utils/app-block-ids.ts132// App Blocks — agentic mod code-review report (P0). Dark/additive.COMMENT
MEDIUMsrc/server/services/feature-flags.service.ts565 // until the Flipt `app-blocks-agentic-review` flag is created. This mirrors theCOMMENT
MEDIUMsrc/server/services/blocks/app-review-report.service.ts5// App Blocks — agentic mod code-review report (P0 read/lookup layer).COMMENT
MEDIUMsrc/server/services/blocks/agent-review.service.ts602// mod-only `app-blocks-agentic-review` Flipt flag (absent → fail-closed → inert).COMMENT
MEDIUM…ervices/blocks/recipes/starter-comfy-txt2img.recipe.ts16// The DEMOABLE STARTER: the recipe the CLI scaffold's default `customComfy` sampleCOMMENT
MEDIUMsrc/server/services/blocks/recipes/index.ts189 // Recipe #2 — the CLI scaffold's demoable starter: a minimal single-step Z-ImageCOMMENT
MEDIUMsrc/server/services/blocks/recipes/index.ts189 // Recipe #2 — the CLI scaffold's demoable starter: a minimal single-step Z-ImageCOMMENT
MEDIUM…ervices/__tests__/delete-image-from-s3-logging.test.ts11// image.service is the graph root; the mock scaffold mirrors the established recipeCOMMENT
MEDIUM…rvices/__tests__/image-cacher-invalidate-scope.test.ts16// image.service is the graph root; the mock scaffold mirrors the established recipeCOMMENT
MEDIUM…ices/__tests__/update-post-image-hidemeta-bust.test.ts33// --- infra scaffold (mirrors contest-entry-resource-gate.test.ts) ---------------------COMMENT
MEDIUM…rvices/__tests__/unblock-image-nsfwlevel-reset.test.ts18// image.service is the graph root; the mock scaffold mirrors the establishedCOMMENT
MEDIUM…ices/__tests__/model-locked-properties.service.test.ts6// Mirrors the mock scaffold used in set-model-minor.service.test.ts.COMMENT
MEDIUM…ces/__tests__/bounty-locked-properties.service.test.ts6// service/db/queue dependencies are stubbed out below. Mirrors the mock scaffold used inCOMMENT
MEDIUM…sts__/bust-public-model-response-cache.service.test.ts7// ingest) to unit-test in isolation without a brittle scaffold, so its bustCOMMENT
MEDIUM…__tests__/prisma-inconsistent-orphan-relations.test.ts23// Mirrors the scaffold in set-model-minor.service.test.ts.COMMENT
MEDIUM…es/__tests__/model-early-access-refund.service.test.ts7// an integration test. Mirrors the mock scaffold used in set-model-minor.service.test.ts.COMMENT
MEDIUM…ver/services/__tests__/set-model-minor.service.test.ts6// unit test rather than an integration test. Mirrors the mock scaffold usedCOMMENT
MEDIUM…services/__tests__/bust-caches-for-posts-empty.test.ts9// post.service is the graph root; the mock scaffold mirrors the established recipeCOMMENT
MEDIUM…ion_v2/inputs/MetadataExtractionPanel.browser.test.tsx101// We do NOT mock Mantine (resolve.dedupe handles dual-React at the scaffold).COMMENT
MEDIUM…eration_v2/inputs/ResourceItemContent.browser.test.tsx20// scaffold providers (MantineProvider + QueryClient + next/router). To standCOMMENT
MEDIUM…eration_v2/inputs/ResourceItemContent.browser.test.tsx47// Mantine is NOT mocked (resolve.dedupe handles dual-React at the scaffold).COMMENT
MEDIUM…eration_v2/inputs/ResourceSelectInput.browser.test.tsx79// We do NOT mock Mantine (resolve.dedupe handles dual-React at the scaffold).COMMENT
MEDIUM…ts/generation_v2/inputs/WorkflowInput.browser.test.tsx62// client needed. (The scaffold is network-free; mocking the hook is cheaper thanCOMMENT
MEDIUM…ts/generation_v2/inputs/WorkflowInput.browser.test.tsx98// We do NOT mock Mantine core (resolve.dedupe handles dual-React at the scaffold).COMMENT
MEDIUM…onents/generation_v2/inputs/SeedInput.browser.test.tsx10// props (no tRPC/router) — it anchors the scaffold while exercising MantineCOMMENT
MEDIUM…s/generation_v2/inputs/BaseModelInput.browser.test.tsx87// We do NOT mock Mantine core (resolve.dedupe handles dual-React at the scaffold).COMMENT
MEDIUM…nents/generation_v2/inputs/VideoInput.browser.test.tsx10// The component-setup scaffold deliberately does NOT wire a tRPC provider; aCOMMENT
MEDIUM…nents/generation_v2/inputs/VideoInput.browser.test.tsx54// copy on a cold optimizeDeps cache. That's fixed at the scaffold level byCOMMENT
MEDIUM…chTextEditor/__tests__/RenderRichText.browser.test.tsx11// which this scaffold provides.COMMENT
MEDIUM…Sticker/StickerPlacementTray.overflow.browser.test.tsx71// into a URL this scaffold cannot serve.COMMENT
MEDIUM…mponents/Sticker/StickerPlacementTray.browser.test.tsx89 // it is stubbed rather than left to reach a client this scaffold does notCOMMENT
MEDIUM…mponents/Sticker/StickerPlacementTray.browser.test.tsx100// The tray calls two cosmetic queries directly. The scaffold is network-free andCOMMENT
MEDIUM…s/AppBlocks/IframeHostReadyTransition.browser.test.tsx85// scaffold does not mount). Dark flags = the production default, and this suiteCOMMENT
MEDIUM…ents/AppBlocks/PageBlockHostAutoRetry.browser.test.tsx81// render, which need the tRPC Context the network-free scaffold doesn't provide.COMMENT
MEDIUMsrc/components/AppBlocks/IframeHost.browser.test.tsx28// scaffold does not mount). Dark flags = the production default, and theseCOMMENT
MEDIUMsrc/components/AppBlocks/IframeHost.browser.test.tsx90// useBrowsingLevelDebounced reads a context the network-free scaffold doesn'tCOMMENT
MEDIUM…s/AppBlocks/PageBlockHostLaunchReveal.browser.test.tsx47// render, which need the tRPC Context the network-free scaffold doesn't provide.COMMENT
MEDIUM…nents/AppBlocks/IframeHostStatusGates.browser.test.tsx56// THROWS without a FeatureFlagsProvider (which this scaffold does not mount). DarkCOMMENT
MEDIUM…nents/AppBlocks/IframeHostStatusGates.browser.test.tsx118// useBrowsingLevelDebounced reads a context the network-free scaffold doesn'tCOMMENT
MEDIUM…ponents/AppBlocks/BlockHostTokenRetry.browser.test.tsx38// this scaffold does not mount. Without this mock, every test that gets far enoughCOMMENT
MEDIUMsrc/components/AppBlocks/PageBlockHost.browser.test.tsx16// HoC) the network-free component scaffold doesn't provide. Mock the tRPC clientCOMMENT
MEDIUMsrc/components/Account/ApiKeysCard.tsx73 // When the modal was opened via a deeplink (e.g. the App Blocks CLI scaffold'sCOMMENT
MEDIUMsrc/components/Account/ApiKeyModal.tsx57 // Optional deeplink prefill (e.g. the App Blocks CLI scaffold link). These areCOMMENT
MEDIUMsrc/components/Apps/AgentReviewChat.browser.test.tsx42// network-free scaffold has no session provider, so boundary-stub the hook (theCOMMENT
MEDIUMsrc/components/Apps/AppEditPage.browser.test.tsx47// because the real hook throws `missing CivitaiSessionContext` under this scaffold —COMMENT
18 more matches not shown…
Structural Annotation Overuse104 hits · 176 pts
SeverityFileLineSnippetContext
LOWdocs/workflow-metadata-refactor.md265// Step 1: named stepCOMMENT
LOWdocs/workflow-metadata-refactor.md268// Step 2: references step 1's outputCOMMENT
LOWdocs/adding-basemodel-ecosystem-guide.md144### Step 1: Add Ecosystem ID Constant (if new ecosystem)COMMENT
LOWdocs/adding-basemodel-ecosystem-guide.md161### Step 2: Add Base Model ID ConstantCOMMENT
LOWdocs/adding-basemodel-ecosystem-guide.md173### Step 3: Add License (if new license)COMMENT
LOWdocs/adding-basemodel-ecosystem-guide.md188### Step 4: Add Ecosystem Family (if new family)COMMENT
LOWdocs/adding-basemodel-ecosystem-guide.md200### Step 5: Add Ecosystem RecordCOMMENT
LOWdocs/adding-basemodel-ecosystem-guide.md217### Step 6: Add Base Model RecordCOMMENT
LOWdocs/adding-basemodel-ecosystem-guide.md235### Step 7: Add Ecosystem SupportCOMMENT
LOWdocs/adding-basemodel-ecosystem-guide.md299### Step 8: Add Ecosystem Settings (if needed)COMMENT
LOWdocs/adding-basemodel-ecosystem-guide.md328### Step 9: Add Cross-Ecosystem Rules (if applicable)COMMENT
LOWdocs/article-content-scanning.md694#### Step 1: Deploy Code (Feature Flag OFF)COMMENT
LOWdocs/article-content-scanning.md705#### Step 2: Run Image MigrationCOMMENT
LOWdocs/article-content-scanning.md732#### Step 3: Validate MigrationCOMMENT
LOWdocs/article-content-scanning.md753#### Step 4: Enable Feature FlagCOMMENT
LOWdocs/article-content-scanning.md768#### Step 5: Monitor (First 24 Hours)COMMENT
LOWdocs/auth/oauth-developer-docs.md32### Step 1: Generate PKCE ValuesCOMMENT
LOWdocs/auth/oauth-developer-docs.md42### Step 2: Redirect User to AuthorizationCOMMENT
LOWdocs/auth/oauth-developer-docs.md71### Step 3: Exchange Code for TokenCOMMENT
LOWdocs/auth/oauth-developer-docs.md97### Step 4: Use the Access TokenCOMMENT
LOWdocs/auth/oauth-developer-docs.md148### Step 1: Request Device CodeCOMMENT
LOWdocs/auth/oauth-developer-docs.md171### Step 2: Display Code to UserCOMMENT
LOWdocs/auth/oauth-developer-docs.md175### Step 3: Poll for TokenCOMMENT
LOWscripts/oneoffs/reindex-missing-images.ts208 // Step 1: Get all eligible images from databaseCOMMENT
LOWscripts/oneoffs/reindex-missing-images.ts216 // Step 2: Process in batches to avoid overwhelming DB and MeilisearchCOMMENT
LOWscripts/oneoffs/reindex-missing-images.ts285 // Step 3: Print summaryCOMMENT
LOWscripts/oneoffs/reindex-missing-images.ts301 // Step 4: Queue for re-indexingCOMMENT
LOWscripts/metric-migration/backfill-metrics.ts392 // Step 1: Delete existing backfill dataCOMMENT
LOWscripts/metric-migration/backfill-metrics.ts395 // Step 2: Get ID range (from args or query)COMMENT
LOWscripts/metric-migration/backfill-metrics.ts426 // Step 3: Process in ID rangesCOMMENT
LOW.vscode/rules/migrate-createStyles.md3## Step 1: Convert Styles to SCSSCOMMENT
LOW.vscode/rules/migrate-createStyles.md9## Step 2: Integrate the SCSS FileCOMMENT
LOW…s/event-engine/scripts/setup-clickhouse-rollup-view.ts22 // Step 1: Create backing tableCOMMENT
LOW…s/event-engine/scripts/setup-clickhouse-rollup-view.ts43 // Step 2: Create Materialized ViewCOMMENT
LOW…s/event-engine/scripts/setup-clickhouse-rollup-view.ts64 // Step 3: Get time of mat view creationCOMMENT
LOW…s/event-engine/scripts/setup-clickhouse-rollup-view.ts74 // Step 4: Backfill week by weekCOMMENT
LOW…s/event-engine/scripts/setup-clickhouse-rollup-view.ts151 // Step 5: Verify the dataCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts223 // Step 2: Fetch metrics from ClickHouse via metric serviceCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts226 // Step 3: Fetch tags from cacheCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts229 // Step 4: Fetch tools and techniques from PostgreSQLCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts1043 // Step 3: Extract IDs for data fetchingCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts1050 // Step 4: Fetch user reactions (if authenticated)COMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts1057 // Step 5: Fetch all required data in parallelCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts1104 // Step 5: Fetch tag data (only if tags or tagIds requested)COMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts1114 // Step 6: Fetch cosmetic details for user cosmeticsCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts164 // Step 1: Fetch base image data from PostgreSQLCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts242 // Step 5: Fetch model versions from PostgreSQLCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts257 // Step 6: Transform and combine all dataCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts924 // Step 1: Apply post-filtering (matches getImagesFromSearchPostFilter logic)COMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts958 // Step 2: Existence checking (feature-flagged)COMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts1126 // Step 6: Transform to output format (matches getAllImagesIndex)COMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts1252 // Step 7: Track seen imagesCOMMENT
LOWapps/event-engine/src/common/services/metrics.ts61 // Step 1: Lookup all IDs in Redis using Promise.allCOMMENT
LOWapps/event-engine/src/common/services/metrics.ts89 // Step 2: Process cache resultsCOMMENT
LOWapps/event-engine/src/common/services/metrics.ts119 // Step 3: Slide TTLs for hot cache entriesCOMMENT
LOWapps/event-engine/src/common/services/metrics.ts131 // Step 4: Handle cache misses with lock mechanism to prevent stampedesCOMMENT
LOWapps/event-engine/src/common/caches/base.ts51 // Step 1: Lookup all IDs in RedisCOMMENT
LOWapps/event-engine/src/common/caches/base.ts62 // Step 2: Process cache resultsCOMMENT
LOWapps/event-engine/src/common/caches/base.ts127 // Step 3: Slide TTLs for hot cache entriesCOMMENT
LOWapps/event-engine/src/common/caches/base.ts136 // Step 4: Handle stale entries with revalidation locksCOMMENT
44 more matches not shown…
Verbosity Indicators80 hits · 140 pts
SeverityFileLineSnippetContext
LOWscripts/oneoffs/reindex-missing-images.ts208 // Step 1: Get all eligible images from databaseCOMMENT
LOWscripts/oneoffs/reindex-missing-images.ts216 // Step 2: Process in batches to avoid overwhelming DB and MeilisearchCOMMENT
LOWscripts/oneoffs/reindex-missing-images.ts285 // Step 3: Print summaryCOMMENT
LOWscripts/oneoffs/reindex-missing-images.ts301 // Step 4: Queue for re-indexingCOMMENT
LOWscripts/metric-migration/backfill-metrics.ts392 // Step 1: Delete existing backfill dataCOMMENT
LOWscripts/metric-migration/backfill-metrics.ts395 // Step 2: Get ID range (from args or query)COMMENT
LOWscripts/metric-migration/backfill-metrics.ts426 // Step 3: Process in ID rangesCOMMENT
LOW…s/event-engine/scripts/setup-clickhouse-rollup-view.ts22 // Step 1: Create backing tableCOMMENT
LOW…s/event-engine/scripts/setup-clickhouse-rollup-view.ts43 // Step 2: Create Materialized ViewCOMMENT
LOW…s/event-engine/scripts/setup-clickhouse-rollup-view.ts64 // Step 3: Get time of mat view creationCOMMENT
LOW…s/event-engine/scripts/setup-clickhouse-rollup-view.ts74 // Step 4: Backfill week by weekCOMMENT
LOW…s/event-engine/scripts/setup-clickhouse-rollup-view.ts151 // Step 5: Verify the dataCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts223 // Step 2: Fetch metrics from ClickHouse via metric serviceCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts226 // Step 3: Fetch tags from cacheCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts229 // Step 4: Fetch tools and techniques from PostgreSQLCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts1043 // Step 3: Extract IDs for data fetchingCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts1050 // Step 4: Fetch user reactions (if authenticated)COMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts1057 // Step 5: Fetch all required data in parallelCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts1104 // Step 5: Fetch tag data (only if tags or tagIds requested)COMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts1114 // Step 6: Fetch cosmetic details for user cosmeticsCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts164 // Step 1: Fetch base image data from PostgreSQLCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts242 // Step 5: Fetch model versions from PostgreSQLCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts257 // Step 6: Transform and combine all dataCOMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts924 // Step 1: Apply post-filtering (matches getImagesFromSearchPostFilter logic)COMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts958 // Step 2: Existence checking (feature-flagged)COMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts1126 // Step 6: Transform to output format (matches getAllImagesIndex)COMMENT
LOWapps/event-engine/src/common/feeds/images.feed.ts1252 // Step 7: Track seen imagesCOMMENT
LOWapps/event-engine/src/common/services/metrics.ts61 // Step 1: Lookup all IDs in Redis using Promise.allCOMMENT
LOWapps/event-engine/src/common/services/metrics.ts89 // Step 2: Process cache resultsCOMMENT
LOWapps/event-engine/src/common/services/metrics.ts119 // Step 3: Slide TTLs for hot cache entriesCOMMENT
LOWapps/event-engine/src/common/services/metrics.ts131 // Step 4: Handle cache misses with lock mechanism to prevent stampedesCOMMENT
LOWapps/event-engine/src/common/caches/base.ts51 // Step 1: Lookup all IDs in RedisCOMMENT
LOWapps/event-engine/src/common/caches/base.ts62 // Step 2: Process cache resultsCOMMENT
LOWapps/event-engine/src/common/caches/base.ts127 // Step 3: Slide TTLs for hot cache entriesCOMMENT
LOWapps/event-engine/src/common/caches/base.ts136 // Step 4: Handle stale entries with revalidation locksCOMMENT
LOWapps/event-engine/src/common/caches/base.ts160 // Step 5: Handle cache misses with lock mechanism to prevent stampedesCOMMENT
LOWsrc/server/jobs/new-order-jobs.ts62 // Step 1: Grant buzz for judgments from 3 days agoCOMMENT
LOWsrc/server/jobs/new-order-jobs.ts134 // Step 2: Reconcile stale blessedBuzz counters for inactive usersCOMMENT
LOWsrc/server/jobs/new-order-jobs.ts228 // Step 1: Batch fetch all counters efficiently (checks cache first, then batched DB queries)COMMENT
LOWsrc/server/jobs/new-order-jobs.ts236 // Step 2: Build player stats from the batch-fetched dataCOMMENT
LOWsrc/server/jobs/new-order-jobs.ts255 // Step 3: Update Redis fervor counter for players whose fervor changedCOMMENT
LOWsrc/server/jobs/new-order-jobs.ts276 // Step 4: Bulk update PostgreSQL with exp and recalculated fervorCOMMENT
LOWsrc/server/jobs/new-order-jobs.ts293 // Step 5: Clear rated images cache for all players in this batchCOMMENT
LOWsrc/server/jobs/remove-old-drafts.ts11 // Step 1: Query replica (dbRead) for model IDs to deleteCOMMENT
LOWsrc/server/jobs/remove-old-drafts.ts30 // Step 2: Delete in batches using dbWrite to minimize lock durationCOMMENT
LOWsrc/server/jobs/push-discord-metadata.ts10 // Step 1: Get userIds with recent images and their last image date from ClickHouse (fast)COMMENT
LOWsrc/server/jobs/push-discord-metadata.ts24 // Step 2: Get userIds with recent model activity and their last upload date from Postgres (fast)COMMENT
LOWsrc/server/jobs/push-discord-metadata.ts36 // Step 3: Combine unique userIdsCOMMENT
LOWsrc/server/jobs/push-discord-metadata.ts44 // Step 4: Get Discord metadata for active users (uses partial index on Account)COMMENT
LOWsrc/server/jobs/push-discord-metadata.ts64 // Step 5: Enrich with activity dates and push to DiscordCOMMENT
LOWsrc/server/services/bountyEntry.service.ts583 // TODO: Once we support Tipping entries - we need to check if a tipConnection is createdCOMMENT
LOW…erver/services/orchestrator/__tests__/step-ref.test.ts238 // Step 0: txt2img — outputs imagesCOMMENT
LOW…erver/services/orchestrator/__tests__/step-ref.test.ts239 // Step 1: hires-fix — takes image input from step 0, outputs imagesCOMMENT
LOW…erver/services/orchestrator/__tests__/step-ref.test.ts240 // Step 2: face-fix — takes image input from step 1, outputs imagesCOMMENT
LOW…erver/services/orchestrator/__tests__/step-ref.test.ts280 // Step 0: txt2img — outputs imagesCOMMENT
LOW…erver/services/orchestrator/__tests__/step-ref.test.ts281 // Step 1: img2vid — takes image input from step 0, outputs videoCOMMENT
LOW…erver/services/orchestrator/__tests__/step-ref.test.ts313 // Step 0: text-to-image generationCOMMENT
LOW…erver/services/orchestrator/__tests__/step-ref.test.ts320 // Step 1: face-fix referencing step 0's outputCOMMENT
LOW…/services/orchestrator/ecosystems/ace-audio.handler.ts118 // Step 3: aceStepAudio — the actual generation. Mode-specific fields areCOMMENT
LOWsrc/components/generation_v2/GenerationFormProvider.tsx735 // Step 1: Switch workflow and ecosystem so the graph restores storedCOMMENT
20 more matches not shown…
AI Slop Vocabulary40 hits · 131 pts
SeverityFileLineSnippetContext
MEDIUMtests/preview-engagement.spec.ts72 // `?? null` collapses null/undefined alike so the assertion is robust to theCOMMENT
MEDIUM.github/workflows/schema-drift.yml84 # harness can observe an annotation under `-e`.COMMENT
MEDIUMapps/auth/src/lib/server/auth/session-shape.ts8// of the rest of the blob. PARITY NOTE: this is intentionally more robust than getSessionUser — for the (rare)COMMENT
MEDIUMapps/auth/src/lib/server/auth/verifier.ts6// no self-HTTP-fetch to its own JWKS endpoint — robust even if ORIGIN/the route is misconfigured.COMMENT
MEDIUMapps/auth/src/lib/server/auth/device.ts26// "seamless switch-back" / re-auth window (a security/UX knob), not a capacity lever.COMMENT
MEDIUMapps/auth/src/lib/server/auth/__tests__/device.test.ts283 // Backdate account 100 to just past the idle window (TTL + 1 day) — robust to the TTL value.COMMENT
MEDIUMapps/auth/src/routes/logout/+server.ts62 // Clear the hub's `.civitai.com` session AND device cookies (the seamless-switch account set must not surviveCOMMENT
MEDIUMsrc/server/metrics/app-block-runtime.metrics.ts411 // registry (never client input). Today that spans e.g. seamless-pano-360's enginesCOMMENT
MEDIUMsrc/server/metrics/__tests__/appListing.metrics.test.ts86 // Normalize whitespace so the assertions are robust to formatting.COMMENT
MEDIUMsrc/server/auth/__tests__/logout-cookies.test.ts3// Regression for finding M2: main-app logout must clear the device cookie (`civ-device`) that gates seamlessCOMMENT
MEDIUMsrc/server/jobs/purge-review-snapshots.ts139 // idempotent re-delete. What this is NOT robust against is a future BULK writeCOMMENT
MEDIUMsrc/server/jobs/__tests__/process-vault-items.test.ts81// lease guard. Small helpers keep the assertions robust to ordering.COMMENT
MEDIUMsrc/server/games/daily-challenge/challenge-ladder.ts197 // opening bout — the highest-leverage comparison of a binary search, and the only one everyCOMMENT
MEDIUM…mes/daily-challenge/__tests__/challenge-ladder.test.ts337 // its OPENING bout — the one comparison every search makes, and the highest-leverage one.COMMENT
MEDIUM…services/blocks/__tests__/inline-comfy.service.test.ts370 // These are copied verbatim from `recipes/seamless-pano.recipe.ts` — noteCOMMENT
MEDIUM…ervices/blocks/recipes/starter-comfy-txt2img.recipe.ts21// (seamless-pano-360, future ones) do things `kind:textToImage` cannot; this oneCOMMENT
MEDIUM…ervices/blocks/recipes/starter-comfy-txt2img.recipe.ts25// Z-Image diffusion/clip/vae AIRs seamless-pano reuses) — no `loras`, noCOMMENT
MEDIUM…ervices/blocks/recipes/starter-comfy-txt2img.recipe.ts80// 90 matches the lowest per-engine ceiling already shipped by seamless-panoCOMMENT
MEDIUM…ervices/blocks/recipes/starter-comfy-txt2img.recipe.ts96// (pinned policy). Mirrors seamless-pano's schema MINUS the engine axis. TheCOMMENT
MEDIUM…server/services/blocks/recipes/seamless-pano.recipe.ts7// seamless-pano-360 — recipe #1 for the App Blocks `customComfy` bridge.COMMENT
MEDIUM…server/services/blocks/recipes/seamless-pano.recipe.ts12// The iframe never sends a graph; it sends `{ recipe:'seamless-pano-360', params }`COMMENT
MEDIUMsrc/server/services/blocks/recipes/index.ts90// v1 (`seamless-pano-360`): the pinned 360Redmond LoRA versions (model 118025) areCOMMENT
MEDIUMsrc/server/services/blocks/recipes/index.ts102// import time, before any request context). A robust router-side early-access /COMMENT
MEDIUM…/orchestrator/__tests__/submitWorkflow.timeout.test.ts160 // Keep this case so the fix is robust to BOTH client behaviors (resolve AND throw).COMMENT
MEDIUMsrc/components/CivitaiWrapped/AccountProvider.tsx27 needsLogin?: boolean; // aged out of the seamless-switch window → clicking re-authenticates at the hubCODE
MEDIUMsrc/components/CivitaiWrapped/AccountProvider.tsx58 // Switch by userId: seamless device switch if fresh in the set, legacy-token redeem if mid-migration, elseCOMMENT
MEDIUMsrc/components/CivitaiWrapped/AccountProvider.tsx115 // Legacy token store — read for seamless migration only.COMMENT
MEDIUMsrc/components/CivitaiWrapped/AccountProvider.tsx277 // 1. Fresh in the device set → seamless switch (the hub mints a fresh civ-token; the proxy sets it).COMMENT
MEDIUMsrc/components/CivitaiWrapped/AccountProvider.tsx283 // 2. Not seamlessly switchable (aged out of the device set, or a legacy account whose seamless next-authCOMMENT
MEDIUMsrc/components/CivitaiWrapped/AccountProvider.tsx289 // device set. Best-effort; we refetch the seamless set afterward.COMMENT
MEDIUMsrc/components/Sticker/StickerPlacementOverlay.tsx640 // `w-max` is load-bearing, not tidying. Absolutely positionedCOMMENT
MEDIUMsrc/components/AppBlocks/iframeInitController.ts25// robust to BOTH the missed-load race AND posting before the block's messageCOMMENT
MEDIUMsrc/components/Apps/AppListingCard.browser.test.tsx524 // Absolutely filling the box — NOT a percentage height, which would have toCOMMENT
MEDIUMsrc/components/Apps/AppListingCard.tsx148 // Absolutely filling the ratio box, NOT `h="100%"`: a percentageCOMMENT
MEDIUMsrc/components/AppLayout/AppHeader/UserMenu.tsx309 // Aged out of the seamless-switch window — clicking re-authenticates at the hub.COMMENT
MEDIUMsrc/hooks/hidden-preferences/useHiddenPreferences.ts16 // `.map(...)`. This makes THIS bundle (and any later one) robust to eitherCOMMENT
MEDIUMsrc/pages/api/v1/blocks/submit-version.ts187 // identity. Switching here to `user:${user.id}` would be the more robust limit;COMMENT
MEDIUMsrc/pages/api/auth/logout.ts19// gates seamless multi-account switching (HttpOnly, so the client can't clear it; on a shared machine theCOMMENT
MEDIUMsrc/pages/api/auth/logout.ts55// (in particular the device cookie that gates seamless switching) are unit-testable without an HTTP round-trip.COMMENT
MEDIUMsrc/pages/api/auth/logout.ts70 // it would let the seamless-switch account set survive logout on a shared machine. Clear BOTH prefixes.COMMENT
Synthetic Comment Markers14 hits · 85 pts
SeverityFileLineSnippetContext
HIGH.claude/agents/design-mockup.md114<img src="https://picsum.photos/seed/aiart[number]/400/500" alt="AI generated art">CODE
HIGH…derator-app/retool-exports/raw/bulk-image-manager.json1{"uuid":"57fd8fb4-51ac-11ee-a0dd-9f0a271c8c9b","page":{"id":510420824,"data":{"appState":"[\"~#iR\",[\"^ \",\"n\",\"appTCODE
HIGH…derator-app/retool-exports/raw/bulk-image-manager.json1{"uuid":"57fd8fb4-51ac-11ee-a0dd-9f0a271c8c9b","page":{"id":510420824,"data":{"appState":"[\"~#iR\",[\"^ \",\"n\",\"appTCODE
HIGHdocs/moderator-app/retool-exports/raw/user-reports.json1{"uuid":"a7fbd3e4-46ee-11ef-addd-8b299ca80778","page":{"id":510420693,"data":{"appState":"[\"~#iR\",[\"^ \",\"n\",\"appTCODE
HIGHdocs/moderator-app/retool-exports/raw/user-reports.json1{"uuid":"a7fbd3e4-46ee-11ef-addd-8b299ca80778","page":{"id":510420693,"data":{"appState":"[\"~#iR\",[\"^ \",\"n\",\"appTCODE
HIGHdocs/features/referral-program-review.md93- Single auto-generated code per userCODE
HIGHdocs/features/referral-program-review.md240- [ ] Hit `/user/referrals` — dashboard renders with your auto-generated codeCODE
HIGHdocs/features/referral-program.md3957. **@ai:** Should we allow users to generate multiple codes (current cap: 3) or collapse to a single code per user for CODE
HIGHdocs/features/referral-program.md40710. **@ai:** Custom codes admin UX: for v1, manual DB insert (or mod-actions script) is fine? Or do you want a simple adCODE
HIGHsrc/static-content/art-and-ai.md24The above statement was written by ChatGPT, but is no less true because of it, just like how art generated by AI is no lCODE
HIGHsrc/static-content/au-region-block.md8This is due to Australia's [Age-Restricted Material Codes](https://www.esafety.gov.au/about-us/industry-regulation/sociaCODE
HIGHsrc/server/jobs/scan-files.ts140 // Mark batch as requested upfront so overlapping runs won't re-processCOMMENT
HIGHsrc/server/services/article.service.ts969 // Mark scan as requested after successfully linking imagesCOMMENT
HIGH…c/components/Post/EditV2/PostImageCards/AddedImage.tsx753 We couldn&rsquo;t confirm that this image was generated by AI. To resolve this,CODE
Cross-Language Confusion8 hits · 60 pts
SeverityFileLineSnippetContext
HIGHscripts/mutation/listing-problems-kind.mutation.py85 "problems.push({ code: 'empty-tagline', label: text['empty-tagline'], severity: 'advisory' });",CODE
HIGHscripts/mutation/listing-problems-kind.mutation.py86 "problems.push({ code: 'empty-tagline', label: text['empty-description'], severity: 'advisory' });",CODE
HIGHscripts/mutation/listing-problems-kind.mutation.py90 " if (isEmpty(listing.category))\n problems.push({ code: 'empty-category', label: text['empty-category'], severCODE
HIGHscripts/mutation/listing-problems-kind.mutation.py91 " if (isEmpty(listing.category))\n problems.push({ code: 'empty-category', label: TEXT_PROBLEM.offsite['empty-cCODE
HIGHscripts/mutation/listing-problems-kind.mutation.py95 " kind,\n iconId: r.iconId ?? null,",CODE
HIGHscripts/mutation/listing-problems-kind.mutation.py96 " kind: 'offsite' as typeof kind,\n iconId: r.iconId ?? null,",CODE
HIGHscripts/mutation/listing-problems-kind.mutation.py100 " kind,\n iconId: r.iconId ?? null,",CODE
HIGHscripts/mutation/listing-problems-kind.mutation.py101 " kind: 'onsite' as typeof kind,\n iconId: r.iconId ?? null,",CODE
Fake / Example Data40 hits · 40 pts
SeverityFileLineSnippetContext
LOW.claude/agents/design-mockup.md109<img src="https://picsum.photos/seed/[unique-seed]/400/500" alt="placeholder">CODE
LOW.claude/skills/freshdesk/SKILL.md121node .claude/skills/freshdesk/query.mjs search "email:'user@example.com'"CODE
LOW.claude/skills/freshdesk/SKILL.md274| `"email:'user@example.com'"` | By requester email |CODE
LOW.claude/skills/freshdesk/SKILL.md435SELECT id, username, email, "bannedAt", "muted", "createdAt" FROM "User" WHERE email = 'user@example.com';CODE
LOW.claude/skills/stripe/SKILL.md25node "$SKILL_DIR/query.mjs" search "email:'user@example.com'"CODE
LOWdocs/features/account-switching.md157 email: "user@example.com",CODE
LOWpackages/civitai-db-schema/prisma/seed.ts33 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aCODE
LOWpackages/civitai-db-schema/prisma/seed.ts33 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aCODE
LOWapps/moderator/src/lib/components/ImageQueueGrid.svelte105 <div class="placeholder">{empty}</div>CODE
LOWapps/moderator/src/routes/page-visits/+page.svelte20 <div class="placeholder">No page visits recorded yet.</div>CODE
LOW…ps/moderator/src/routes/page-visits/route/+page.svelte23 <div class="placeholder">No visits to this route in the window.</div>CODE
LOWapps/moderator/src/routes/comics-review/+page.svelte91 <div class="placeholder">No comic panels awaiting review.</div>CODE
LOW…moderator/src/routes/articles/unpublished/+page.svelte96 <div class="placeholder">No unpublished articles match this view.</div>CODE
LOWapps/moderator/src/routes/articles/ratings/+page.svelte102 <div class="placeholder">No reviews in this bucket.</div>CODE
LOWapps/moderator/src/routes/cosmetics/grant/+page.svelte234 <div class="placeholder">No cosmetics match this view.</div>CODE
LOW…tor/src/routes/audit/scanner-audit/[mode]/+page.svelte174 <div class="placeholder">No {data.view} decisions match the current filters in the last 30 days.</div>CODE
LOWapps/moderator/src/routes/users/+page.svelte6<div class="placeholder">Not built yet.</div>CODE
LOW…ps/creator-studio/src/routes/(app)/models/+page.svelte737 <div class="placeholder">CODE
LOW…/creator-studio/src/routes/(app)/earnings/+page.svelte269 <div class="placeholder">Earnings are temporarily unavailable — please try again shortly.</div>CODE
LOW…creator-studio/src/routes/(app)/analytics/+page.svelte208 <div class="placeholder">Analytics are temporarily unavailable — please try again shortly.</div>CODE
LOW…creator-studio/src/routes/(app)/analytics/+page.svelte210 <div class="placeholder">CODE
LOW…studio/src/routes/(app)/analytics/content/+page.svelte204 <div class="placeholder">CODE
LOW…studio/src/routes/(app)/analytics/content/+page.svelte208 <div class="placeholder">CODE
LOW…io/src/routes/(app)/analytics/base-models/+page.svelte340 <div class="placeholder">CODE
LOW…-studio/src/routes/(app)/analytics/models/+page.svelte476 <div class="placeholder">CODE
LOW…c/routes/(app)/analytics/models/[modelId]/+page.svelte328 <div class="placeholder">This model has no versions.</div>CODE
LOW…dio/src/routes/(app)/analytics/engagement/+page.svelte46 <div class="placeholder">Engagement is temporarily unavailable — please try again shortly.</div>CODE
LOW…tudio/src/routes/(app)/analytics/audience/+page.svelte101 <div class="placeholder">CODE
LOWsrc/server/common/constants.ts21Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqCODE
LOWsrc/server/common/constants.ts21Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqCODE
LOWsrc/server/email/templates/trainingFail.email.ts99 email: 'test@test.com',CODE
LOWsrc/server/email/templates/strikeIssued.email.ts188 to: 'test@test.com',CODE
LOW…server/email/templates/stuckCryptoDepositUser.email.ts88 userEmail: 'user@example.com',CODE
LOWsrc/server/email/templates/trainingComplete.email.ts97 email: 'test@test.com',CODE
LOW…r/email/templates/moderation/moderationAction.email.ts175 to: 'test@test.com',CODE
LOW…il/templates/moderation/moderationAction.email.test.ts62 to: 'user@example.com',CODE
LOW…il/templates/moderation/moderationAction.email.test.ts152 to: 'user@example.com',CODE
LOWsrc/utils/faro/__tests__/redact.test.ts59 expect(out).not.toContain('user@example.com');CODE
LOWsrc/utils/faro/__tests__/redact.test.ts150 nested: ['plain', 'reach me at eve@example.org'],CODE
LOW…/AppListingsMarketplaceBody.hydration.browser.test.tsx162 el.getAttribute('placeholder') ?? '',CODE
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHapps/event-engine/README.md278MEILISEARCH_API_KEY=your-api-keyCODE
Unused Imports3 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/nix/check-prisma-pin.py30CODE
LOWscripts/nix/check-node-pin.py35CODE
LOWscripts/mutation/listing-problems-kind.mutation.py29CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOW.claude/skills/deploy-status/deploy-chain.sh17# Usage:COMMENT
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsrc/components/Search/parsers/base.ts36 // TODO: implement Model3D search parserCOMMENT
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/mutation/listing-problems-kind.mutation.py152CODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsrc/store/post-image-transmitter.store.ts87 async function getData(url: string, options?: { allowExternalUrl?: boolean }) {CODE