AI Slop Code RIsk Monitor

civitai/civitai

A repository of models, textual inversions, and more

4.5 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for civitai/civitai, a TypeScript project with 7,273 GitHub stars. SynthScan examined 2,490,993 lines of code across 11493 source files, recording 7562 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 4.5 (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.

4.5
Adjusted Signal
4.5
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
7.3K
Stars
TypeScript
Language
2.5M
Lines of Code
11.5K
Files
7.6K
Pattern Hits
2026-10-12
Scan Date
0.02
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 12.1/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 3.6/100 · LOW

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

Agent Over-Engineering Ratio 9.3/100 · LOW

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

PR Review Velocity Impact 20.8/100 · LOW

Which changes need focused human review? 7562 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 153HIGH 44MEDIUM 1213LOW 6152

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 7562 distinct pattern matches across 18 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.

Over-Commented Block4074 hits · 3692 pts
SeverityFileLineSnippetContext
LOWplaywright.preview.config.ts21 testDir: './tests',COMMENT
LOWeslint-local-rules.js941 // act on. The split is "did you even try to spread?":COMMENT
LOWeslint-local-rules.js1221 // the conditional/logical arms recurse into both sides, so k chained aliasesCOMMENT
LOWeslint-local-rules.js1281 case 'SequenceExpression':COMMENT
LOWtsconfig.tests.json1{COMMENT
LOWtsconfig.scripts.json1{COMMENT
LOW.eslintrc.js21 // "plugin:import/typescript",COMMENT
LOW.eslintrc.js81 // wholesale factory breaks the whole test FILE the day the module gains anCOMMENT
LOW.eslintrc.js101 //COMMENT
LOW.eslintrc.js121 //COMMENT
LOW.eslintrc.js141 // violating this rule for `~/utils/trpc` alone. Those persist because theCOMMENT
LOW.eslintrc.js161 // Those 3 are listed. The rest fail ONLY on (c) and are deliberately leftCOMMENT
LOW.eslintrc.js201 // #4147 was exactly that, which is why #4178 says the existing rule "has noCOMMENT
LOW.eslintrc.js221 // GitHub Actions (the eslint job is the only ESLint lane and isCOMMENT
LOW.eslintrc.js261 // not in the ~150 suites that wholesale-mock `~/server/redis/client` and theCOMMENT
LOW.eslintrc.js281 // a safe shape — all 22 are keyed off REDIS_KEYS at module scope,COMMENT
LOW.eslintrc.js301 // cheapest, and the one that grows the backlog.COMMENT
LOW.eslintrc.js321 //COMMENT
LOW.eslintrc.js341 // notice's own gate withholds it until the iframe posts `BLOCK_READY`. So theCOMMENT
LOW.eslintrc.js361 },COMMENT
LOW.eslintrc.js381 //COMMENT
LOW.eslintrc.js401 // They are latent, not harmless — each becomes a flake the moment someoneCOMMENT
LOWtsconfig.json81 "./node_modules/*",COMMENT
LOWtsconfig.json101 // files there carry them, and ALL 15 were added within one month. IncludingCOMMENT
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
LOWtest/geometry-setup.tsx161// ─────────────────────────────────────────────────────────────────────────────COMMENT
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.ts141 //COMMENT
LOWtests/preview-apps-marketplace.spec.ts221 // The scopes + slots arrays are shape-correct (anon-display allowlist).COMMENT
LOWtests/preview-apps-marketplace.spec.ts261 // replacements pin a property the `toMatch` genuinely leaves open.COMMENT
LOWtests/preview-apps-page.spec.ts121 // the e2e proof the page-mint path works (two-flag gate cleared, syntheticCOMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh1#!/usr/bin/env bashCOMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh21# makes its zero meaningful.COMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh161COMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh461# BOTH were wrong: `custom-generators` and `gen-matrix` refused whileCOMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh801COMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh921#COMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh981if r != (201, -187, 14, 1709, 1314, None):COMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh1061json.dump(r,open(sys.argv[2],"w"))' "$RECIPES/model-benchmarking.json" "${WORK}/rec-nohost.json"COMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh1181# any one app — so the fixture is just a PNG with a known column (COLUMN above,COMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh1501 "to the frame edge, not tighten it: %s" % p.stderr[:160])COMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh1561 F.declared_box(PLAIN, dict(ABSOLUTE, x=True), 182, 110, 70, None, (1709, 1314))COMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh1641g13d="$(grep -cF -- '${USE_APPFRAME:+--app-frame-rect "$OUT/$st.rect.json"}' "$SCRIPTS/capture.sh" || true)"COMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh1661# the SAME declared rect, with the SAME record, must photograph the SAME PIXELSCOMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh2201# C5 🔴 THE VIEWPORT OF RECORD — REPRODUCED FROM THE 2026-09-02 INCIDENT, WITHCOMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh2381elseCOMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh2401# refs to 2 (tripping the tests/ control below) while the demoted path became checked byCOMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh2421# in the mutation battery"; that was FALSE -- the battery has no D2 mutant at all.COMMENT
LOW…aude/skills/app-capture/tests/run-tests-app-capture.sh2501# reference out of coverage, and it is the documented reason D2b ever existed. TheCOMMENT
4014 more matches not shown…
Decorative Section Separators1052 hits · 3057 pts
SeverityFileLineSnippetContext
MEDIUMtest/geometry-setup.tsx122// ── THE CASCADE, IN PRODUCTION ORDER ─────────────────────────────────────────COMMENT
MEDIUMtest/geometry-setup.tsx161// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/geometry-setup.tsx173// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/geometry-setup.tsx241// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/geometry-setup.tsx247// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/geometry-setup.tsx376// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtest/geometry-setup.tsx378// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh2# ============================================================================COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh27# ============================================================================COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh70# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh72# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh162# ── THE host -> observed-fixture MAP: ONE PLACE. ────────────────────────────COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh208# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh210# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh269# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh272# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh758# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh761# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh919# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh932# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh1074# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh1089# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh1221# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh1226# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh1312# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh1328# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh1649# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh1672# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh1985# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh1988# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh2068# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh2071# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh2113# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh2116# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh2200# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh2220# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh2374# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh2377# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh2747# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh2750# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh3813# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh3816# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh5385# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh5394# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh5482 # -------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh5494 # -------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh5532 # -------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh5551 # -------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh5604 # -------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh5613 # -------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh5651 # -------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh5666 # -------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh5732# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh5736# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh6236# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh6238# ---------------------------------------------------------------------------COMMENT
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh6306# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡.claude/skills/app-capture/tests/mutants-app-capture.sh307# ── SELF-TEST: this battery's own NEGATIVE CONTROL ──────────────────────────COMMENT
MEDIUM⚡.claude/skills/app-capture/tests/mutants-app-capture.sh748# ── evidence.py: the testid inventory ───────────────────────────────────────COMMENT
MEDIUM⚡.claude/skills/app-capture/tests/mutants-app-capture.sh757# ── evidence.py: the two refusals that stop a reassuring zero ───────────────COMMENT
992 more matches not shown…
Hyper-Verbose Identifiers1805 hits · 1801 pts
SeverityFileLineSnippetContext
LOWeslint-local-rules.js1196function createLiteralTrpcAnalyzer(factory) {CODE
LOWtest/unreadable-files.ts67export function makeFilesExpireAfterFirstRead() {CODE
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
LOW.claude/skills/app-capture/scripts/attach-offsite.py273def existing_screenshot_count(slug):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
LOW⚡docs/subscription-multi-buzz-migration.md129async function getUserSubscriptionForBuzzType(userId: number, buzzType: BuzzSpendType)CODE
LOW⚡docs/subscription-multi-buzz-migration.md135async function hasActiveMembershipForBuzzType(userId: number, buzzType: BuzzSpendType)CODE
LOW⚡docs/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
LOW⚡docs/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/eval-resource-intent-registration.ts373export function renderRetrievalPreregistration(): string {CODE
LOWscripts/metric-migration/backfill-metrics.ts182async function deleteExistingBackfillData(entityType: string, dryRun: boolean): Promise<void> {CODE
LOW…i-telemetry/src/__tests__/packed-codec-buckets.test.ts107function floorIsBelowDispatchFloor(buckets: readonly number[]) {CODE
LOW…ages/civitai-telemetry/src/__tests__/otel-logs.test.ts52function registerRecordingProvider(): InMemoryLogRecordExporter {CODE
LOWpackages/civitai-auth/src/first-party-bridge.ts144export 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.ts331export function connectScopesSubsetOfCeiling(requested: number, allowedScopes: number): boolean {CODE
LOWpackages/civitai-auth/src/token-scope.ts346export 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.ts292function includesHarmfulCombinations(prompt: string): 'minor' | 'poi' | false {CODE
LOWpackages/civitai-mod-utils/src/prompt-audit/index.ts413export 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-db/src/db-helpers.ts28export function createPgPoolAcquireHistogram(CODE
LOWpackages/civitai-db/src/db-helpers.ts44function getDefaultPgPoolAcquireHistogram(): PgPoolAcquireHistogram {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.ts291function triggerTopologyRediscovery(clusterClient: any, reason: string) {CODE
LOWpackages/civitai-redis/src/client.ts453function clearClusterRefreshInterval(type: 'cache' | 'system'): void {CODE
LOWpackages/civitai-redis/src/client.ts853export function attachSysSentinelListeners(CODE
LOWpackages/civitai-redis/src/cluster-routing-retry.ts116export function isTransientClusterRoutingError(err: unknown): boolean {CODE
LOW…vitai-redis/src/__tests__/packed-codec-metrics.test.ts369 function installThrowingBridgeHere() {CODE
LOW…itai-redis/src/__tests__/cluster-routing-retry.test.ts44function nodeClientConnectPromiseThrow(): TypeError {CODE
LOWpackages/civitai-buzz/src/paid-access.ts252export function migrateTermsForUsageControl(CODE
LOWpackages/civitai-buzz/src/pricing-allowance.ts113export function gateConversionExceedsAllowance({CODE
LOWpackages/civitai-buzz/src/model-version-pricing.ts38export function resolveModelVersionPricing({CODE
LOWpackages/civitai-buzz/src/rights-affirmation.ts54export function hasCurrentRightsAffirmation(meta: unknown, ownerId?: number): boolean {CODE
LOWpackages/civitai-shared/src/rating-review.ts62export function ratingReviewModeratorLevels(CODE
1745 more matches not shown…
Hallucination Indicators153 hits · 1545 pts
SeverityFileLineSnippetContext
CRITICALsrc/tests/api/v1/developer/block-manifests.test.ts106 const upsertArgs = mockDbWrite.appBlock.upsert.mock.calls.at(-1)?.[0] as {CODE
CRITICALsrc/tests/api/v1/developer/block-manifests.test.ts125 const upsertArgs = mockDbWrite.appBlock.upsert.mock.calls.at(-1)?.[0] as {CODE
CRITICALsrc/tests/api/v1/developer/block-manifests.test.ts155 const upsertArgs = mockDbWrite.appBlock.upsert.mock.calls.at(-1)?.[0] as {CODE
CRITICALsrc/tests/api/v1/developer/block-manifests.test.ts185 const upsertArgs = mockDbWrite.appBlock.upsert.mock.calls.at(-1)?.[0] as {CODE
CRITICALsrc/tests/api/v1/developer/block-manifests.test.ts204 const upsertArgs = mockDbWrite.appBlock.upsert.mock.calls.at(-1)?.[0] as {CODE
CRITICAL…/routers/__tests__/blocks.router.getNavSummary.test.ts471 const statuses = mockDbRead.appCollaborator.findFirst.mock.calls.map(CODE
CRITICAL…rver/routers/__tests__/apps-mod-storage.router.test.ts1133 const batches = mockDbWrite.appListingModerationEvent.create.mock.calls.map(CODE
CRITICAL…r/routers/__tests__/blocks.router.trainingKind.test.ts1469 const runsExpire = redisMock.sysRedis.expire.mock.calls.find((c) =>CODE
CRITICALsrc/server/redis/__tests__/event-hat-caches.test.ts21 redisMock.redis.packed.set.mock.calls.map(([key, value, options]) => [key, value, options]);CODE
CRITICAL…/rewards/__tests__/base.reward.duplicate-award.test.ts157 redisMock.redis.eval.mock.calls.filter(([called]: any[]) => called === script);CODE
CRITICALsrc/server/rewards/__tests__/remixAccept.reward.test.ts55 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__/event-decoration-equip.test.ts274 expect(db.userCosmetic.updateMany.mock.calls.at(-1)![0].data).toEqual({CODE
CRITICALsrc/server/__tests__/event-decoration-equip.test.ts299 expect(db.userCosmetic.updateMany.mock.calls.at(-1)![0].data).toMatchObject({CODE
CRITICALsrc/server/__tests__/event-decoration-equip.test.ts611 db.userCosmetic.updateMany.mock.invocationCallOrder.at(-1)!CODE
CRITICALsrc/server/__tests__/middleware.trpc.cacheit.test.ts146 return redisFake.packed.get.mock.calls.at(-1)![0] as string;CODE
CRITICAL…/server/__tests__/fee-allowance-boost-endpoint.test.ts118 const granted = redisMock.sysRedis.hSetNX.mock.calls.map((c) => [c[1], c[2]]).sort();CODE
CRITICALsrc/server/__tests__/game-frame-report.test.ts602 const [fold, append] = db.report.update.mock.calls.map((c) => c[0].data);CODE
CRITICALsrc/server/__tests__/pending-review-mute.test.ts358 const dataArgs = dbWrite.user.update.mock.calls.map(([arg]) => arg.data);CODE
CRITICALsrc/server/__tests__/pending-review-mute.test.ts620 const dataArgs = dbWrite.user.update.mock.calls.map(([arg]) => arg.data);CODE
CRITICALsrc/server/jobs/__tests__/text-scan-sweeps.test.ts50const lastCursor = () => dbMock.dbWrite.keyValue.upsert.mock.calls.at(-1)?.[0].update.value;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…ver/events/__tests__/event-engine.scored-event.test.ts290 expect(redisMock.redis.set.mock.calls.map(([key]) => key)).toEqual([CODE
CRITICAL…ver/events/__tests__/event-engine.scored-event.test.ts318 const setKeys = () => redisMock.redis.set.mock.calls.map(([key]) => key);CODE
CRITICAL…c/server/events/points/__tests__/sync.behavior.test.ts552 const acquired = redisMock.sysRedis.set.mock.calls.filter(([key]) => key === lock.lock);CODE
CRITICAL…rollers/__tests__/multi-image-post-owner-check.test.ts92 dbMock.dbWrite.post.findUnique.mock.calls.filter(CODE
CRITICAL…/blocks/__tests__/offsite-listing.edit.service.test.ts274 const updateCalls = mockWrite.appListing.update.mock.calls.map((c) => c[0]);CODE
CRITICAL…/blocks/__tests__/offsite-listing.edit.service.test.ts330 const updateCalls = mockWrite.appListing.update.mock.calls.map((c) => c[0]);CODE
CRITICAL…/blocks/__tests__/offsite-listing.edit.service.test.ts1542 const calls = mockWrite.appListing.update.mock.calls.map((c) => c[0]) as Array<{CODE
CRITICAL…/blocks/__tests__/offsite-listing.edit.service.test.ts1566 const calls = mockWrite.appListing.update.mock.calls.map((c) => c[0]) as Array<{CODE
CRITICAL…/blocks/__tests__/offsite-listing.edit.service.test.ts1898 const calls = mockWrite.appListing.update.mock.calls.map((c) => c[0]) as Array<{CODE
CRITICAL…/blocks/__tests__/offsite-listing.edit.service.test.ts1964 const calls = mockWrite.appListing.update.mock.calls.map((c) => c[0]) as Array<{CODE
CRITICAL…/blocks/__tests__/offsite-listing.edit.service.test.ts2123 const calls = mockWrite.appListing.update.mock.calls.map((c) => c[0]) as Array<{CODE
CRITICAL…tests__/offsite-moderation.service.mod-actions.test.ts2039 const call = mockWrite.appListing.updateMany.mock.calls.find(CODE
CRITICAL…tests__/offsite-moderation.service.mod-actions.test.ts2316 const relistCall = mockWrite.appListing.updateMany.mock.calls.find(CODE
CRITICAL…ests__/offsite-listing.onsite-revision.service.test.ts267 const derivedRead = mockWrite.image.findMany.mock.calls.find(CODE
CRITICAL…ests__/offsite-listing.onsite-revision.service.test.ts545 const selects = mockRead.appListingPublishRequest.findMany.mock.calls.map(CODE
CRITICAL…ests__/offsite-listing.onsite-revision.service.test.ts596 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.ts557 const call = mockDbWrite.appBlockPublishRequest.create.mock.calls.at(-1);CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts1269 mockDbRead.appBlockBuildAttempt.findMany.mock.calls.at(-1)?.[0].where.publishRequestIdCODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts1567 const buildingWrite = mockDbWrite.appBlockPublishRequest.updateMany.mock.calls.findIndex(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts1703 const restoreFlip = mockDbWrite.appListing.updateMany.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts1711 const unsuspend = mockDbWrite.appBlock.updateMany.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts1844 mockDbWrite.appBlock.updateMany.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts2014 const unsuspend = mockDbWrite.appBlock.updateMany.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts2097 const reqUpdate = mockDbWrite.appBlockPublishRequest.update.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts2197 const shaStamp = mockDbWrite.appBlock.update.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts2305 const tierUpdate = mockDbWrite.appBlock.update.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts2330 const tierUpdate = mockDbWrite.appBlock.update.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts2552 const shaStamp = mockDbWrite.appBlock.update.mock.calls.find(CODE
CRITICAL…blocks/__tests__/publish-request.orchestration.test.ts2749 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
93 more matches not shown…
Modern AI Meta-Vocabulary107 hits · 323 pts
SeverityFileLineSnippetContext
MEDIUMclaudedocs/handoff-users-over-time-panel.md136 is #1 — whether `orchestration.jobs` is `ORDER BY createdAt` first. The per-runCODE
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh5994 # guard plus its scaffolding.COMMENT
MEDIUM.claude/skills/app-capture/tests/mutants-app-capture.sh1687# mutation is the guard and not the guard plus its scaffolding.COMMENT
MEDIUM.claude/skills/app-capture/tests/mutants-app-capture.sh1807# mutation is the guard and not the guard plus its scaffolding.COMMENT
MEDIUM.claude/skills/add-generation-support/SKILL.md28### 1. Check @civitai/orchestration-client for ecosystem-specific typesCOMMENT
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.ts7804// surface, and the requirement is that it is covered by the SAME guardrails asCOMMENT
MEDIUM⚡src/server/utils/app-block-ids.ts158// App Blocks — agentic mod code-review report (P0). Dark/additive.COMMENT
MEDIUMsrc/server/services/feature-flags.service.ts662 // until the Flipt `app-blocks-agentic-review` flag is created. This mirrors theCOMMENT
MEDIUM⚡src/server/services/blocks/author-fee-charge.service.ts57// This file is that caller: it prices the fee before the spend guardrails run,COMMENT
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.ts673// 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.ts31// --- infra scaffold (mirrors contest-entry-resource-gate.test.ts) ---------------------COMMENT
MEDIUM…/services/__tests__/moderation-blob-retraction.test.ts26// image.service is the graph root; the mock scaffold mirrors the established recipeCOMMENT
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.ts7// Mirrors the mock scaffold used in set-model-minor.service.test.ts.COMMENT
MEDIUM…ces/__tests__/bounty-locked-properties.service.test.ts8// 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…/services/__tests__/set-model-sfw-only.service.test.ts6// unit test rather than an integration test. Mirrors the mock scaffold usedCOMMENT
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.ts7// 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…_tests__/model-licensing-source-on-type-change.test.ts3// model.service.ts has a very large import graph; scaffold mirrorsCOMMENT
MEDIUM…ion_v2/inputs/MetadataExtractionPanel.browser.test.tsx110// We do NOT mock Mantine (resolve.dedupe handles dual-React at the scaffold).COMMENT
MEDIUM…ion_v2/inputs/MetadataExtractionPanel.browser.test.tsx153// interaction away from a live `fetch` in a scaffold whose own header promises to stayCOMMENT
MEDIUM…ion_v2/inputs/MetadataExtractionPanel.browser.test.tsx180// `missing CivitaiSessionContext` under this network-free scaffold, andCOMMENT
MEDIUM…eration_v2/inputs/ResourceItemContent.browser.test.tsx20// scaffold providers (MantineProvider + QueryClient + next/router). To standCOMMENT
MEDIUM…eration_v2/inputs/ResourceItemContent.browser.test.tsx56// Mantine is NOT mocked (resolve.dedupe handles dual-React at the scaffold).COMMENT
MEDIUM…eration_v2/inputs/ResourceItemContent.browser.test.tsx121// when there is no <CivitaiSessionProvider>, which this network-free scaffoldCOMMENT
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.tsx13// The component-setup scaffold deliberately does NOT wire a tRPC provider; aCOMMENT
MEDIUM…nents/generation_v2/inputs/VideoInput.browser.test.tsx57// 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…ents/Announcements/AnnouncementsPanel.browser.test.tsx63// The byline's avatar reads three more providers this scaffold does not mount.COMMENT
MEDIUM…ents/Announcements/AnnouncementsPanel.browser.test.tsx86// query is disabled, the hook still runs), and this scaffold mounts no tRPC provider.COMMENT
MEDIUM…nts/Announcements/CreatorAnnouncement.browser.test.tsx53// query is disabled, the hook still runs), and this scaffold mounts no tRPC provider.COMMENT
MEDIUM…onents/Announcements/AnnouncementCard.browser.test.tsx17// `CustomMarkdown` reads both of these, and the scaffold mounts neither provider.COMMENT
47 more matches not shown…
Cross-Language Confusion29 hits · 208 pts
SeverityFileLineSnippetContext
HIGH⚡.claude/skills/app-capture/scripts/evidence.py164if (W.__APP_CAPTURE__ && W.__APP_CAPTURE__.installed) {CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py167 P.installs = (P.installs || 1) + 1;CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py169 installs:P.installs, drains:(P.drains || 0),CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py179 S.console.push({level:level, text:String(text).slice(0, %(maxt)d)}); }CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py184 S.network.push(rec); }CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py190 if (typeof a === "string") { out.push(a); }CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py191 else if (a && a.stack) { out.push(String(a.stack)); }CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py191 else if (a && a.stack) { out.push(String(a.stack)); }CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py192 else if (a && a.message) { out.push(String(a.message)); }CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py192 else if (a && a.message) { out.push(String(a.message)); }CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py193 else { out.push(JSON.stringify(a)); } }CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py194 catch (e) { out.push(String(a)); } }CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py209 if (ev && ev.target && ev.target !== W && ev.target.tagName) {CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py210 pushN({url:String(ev.target.src || ev.target.href || ""), status:0,CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py213 pushC("error", "uncaught: " + ((ev && ev.message) || "") + " @" +CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py214 ((ev && ev.filename) || "") + ":" + ((ev && ev.lineno) || 0)); } }CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py217 try { var r = ev && ev.reason;CODE
HIGH⚡.claude/skills/app-capture/scripts/evidence.py218 pushC("error", "unhandledrejection: " + ((r && r.message) || String(r))); }CODE
HIGH.claude/skills/app-capture/scripts/evidence.py231 error:String((e && e.message) || e)}); throw e; }); };CODE
HIGH.claude/skills/app-capture/scripts/evidence.py275S.drains = (S.drains || 0) + 1;CODE
HIGH.claude/skills/app-capture/scripts/attach-offsite.py214 whose BODY is shaped exactly like a valid response ({"iconUrl": null, ...}),STRING
HIGH⚡scripts/mutation/listing-problems-kind.mutation.py85 "problems.push({ code: 'empty-tagline', label: text['empty-tagline'], severity: 'advisory' });",CODE
HIGH⚡scripts/mutation/listing-problems-kind.mutation.py86 "problems.push({ code: 'empty-tagline', label: text['empty-description'], severity: 'advisory' });",CODE
HIGH⚡scripts/mutation/listing-problems-kind.mutation.py90 " if (isEmpty(listing.category))\n problems.push({ code: 'empty-category', label: text['empty-category'], severCODE
HIGH⚡scripts/mutation/listing-problems-kind.mutation.py91 " if (isEmpty(listing.category))\n problems.push({ code: 'empty-category', label: TEXT_PROBLEM.offsite['empty-cCODE
HIGH⚡scripts/mutation/listing-problems-kind.mutation.py95 " kind,\n iconId: r.iconId ?? null,",CODE
HIGH⚡scripts/mutation/listing-problems-kind.mutation.py96 " kind: 'offsite' as typeof kind,\n iconId: r.iconId ?? null,",CODE
HIGH⚡scripts/mutation/listing-problems-kind.mutation.py100 " kind,\n iconId: r.iconId ?? null,",CODE
HIGH⚡scripts/mutation/listing-problems-kind.mutation.py101 " kind: 'onsite' as typeof kind,\n iconId: r.iconId ?? null,",CODE
AI Slop Vocabulary54 hits · 180 pts
SeverityFileLineSnippetContext
MEDIUM…aude/skills/app-capture/tests/run-tests-app-capture.sh3# run-tests-app-capture.sh — gate harness for .claude/skills/app-capture.COMMENT
MEDIUM⚡.claude/skills/app-capture/tests/mutants-app-capture.sh308# 🔴 A harness that COUNTS kills must be shown to classify a known-bad case asCOMMENT
MEDIUM⚡.claude/skills/app-capture/tests/mutants-app-capture.sh309# BROKEN, or its count is a fact about the harness rather than about the code.COMMENT
MEDIUM⚡.claude/skills/app-capture/tests/mutants-app-capture.sh1737# the pristine suite (green) and by the BROKEN accounting the harness prints forCOMMENT
MEDIUM.claude/skills/app-capture/tests/mutants-app-capture.sh365# the test harness pressing a key is the worst possible place for that bug. So theCOMMENT
MEDIUM.claude/skills/app-capture/tests/mutants-app-capture.sh1349# unique target and the harness would score it BROKEN — and a mutant that mutatesCOMMENT
MEDIUM.claude/skills/app-capture/scripts/plan.py44# no `activate` at all — and the HOST-SIDE raise is withheld in this harnessCOMMENT
MEDIUM.github/workflows/lint.yml793 # much larger change than this harness and belongs in its own PR, on measuredCOMMENT
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/pending-authz.ts15// account. Switching back on .red then used the seamless device switch, which never touches the hub cookie, soCOMMENT
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
MEDIUM…/lib/server/auth/__tests__/foreign-scope-login.test.ts5// .red went through the seamless device switch and never touched the hub cookie. That asymmetry is the bugCOMMENT
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
MEDIUM…/routers/__tests__/blocks.router.workflowScope.test.ts779 // `.catch` to `.then(onOk, onErr)` made it robust. It did not: on the resolve path `err` isCOMMENT
MEDIUMsrc/server/metrics/app-block-runtime.metrics.ts911 // registry (never client input). Today that spans e.g. seamless-pano-360's enginesCOMMENT
MEDIUMsrc/server/metrics/__tests__/appListing.metrics.test.ts411 // Normalize whitespace so the assertions are robust to formatting.COMMENT
MEDIUMsrc/server/clickhouse/tracker.ts104// The leverage differs sharply by column, which is why `duration` is the one to worryCOMMENT
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
MEDIUM⚡src/components/CivitaiWrapped/AccountProvider.tsx25 needsLogin?: boolean; // aged out of the seamless-switch window → clicking re-authenticates at the hubCODE
MEDIUM⚡src/components/CivitaiWrapped/AccountProvider.tsx34// RETIRED pre-cutover token-per-account store. Nothing redeems it any more — its seamless redeem went withCOMMENT
MEDIUM⚡src/components/CivitaiWrapped/AccountProvider.tsx36// three 30-day session lifetimes ago). Leaving it in the `seamless` test only made an entry LOOK switchableCOMMENT
MEDIUMsrc/components/CivitaiWrapped/AccountProvider.tsx63 // Switch by userId: seamless device switch if fresh in the hub set, else re-authenticate at the hub.COMMENT
MEDIUM⚡src/components/CivitaiWrapped/AccountProvider.tsx254 // 1. Fresh in the device set → seamless switch (the hub mints a fresh civ-token; the proxy sets it).COMMENT
MEDIUM⚡src/components/CivitaiWrapped/AccountProvider.tsx260 // 2. Not seamlessly switchable (aged out of the device set, or a legacy account whose seamless next-authCOMMENT
MEDIUM⚡src/components/CivitaiWrapped/AccountProvider.tsx266 // 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
MEDIUM…nts/Consent/ThirdPartyConsentProvider.browser.test.tsx38 * ## Why the harness still passes a `region` PROP to the consent providerCOMMENT
MEDIUMsrc/components/AppBlocks/iframeInitController.ts26// robust to BOTH the missed-load race AND posting before the block's messageCOMMENT
MEDIUMsrc/components/Apps/AppListingCard.browser.test.tsx1353 // Absolutely filling the box — NOT a percentage height, which would have toCOMMENT
MEDIUMsrc/components/Apps/AppListingCard.tsx219 // Absolutely filling the ratio box, NOT `h="100%"`: a percentageCOMMENT
MEDIUMsrc/components/AppLayout/AppHeader/UserMenu.tsx291 // DURABLE: an entry stays listed after its seamless-switch window lapses, so removing is the only wayCOMMENT
MEDIUMsrc/components/AppLayout/AppHeader/UserMenu.tsx333 // 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.ts20// gates seamless multi-account switching (HttpOnly, so the client can't clear it; on a shared machine theCOMMENT
MEDIUMsrc/pages/api/auth/logout.ts51// (in particular the device cookie that gates seamless switching) are unit-testable without an HTTP round-trip.COMMENT
MEDIUMsrc/pages/api/auth/logout.ts66 // it would let the seamless-switch account set survive logout on a shared machine. Clear BOTH prefixes.COMMENT
Structural Annotation Overuse103 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.md330### Step 9: Add Cross-Ecosystem Rules (if applicable)COMMENT
LOWdocs/article-content-scanning.md684#### Step 1: Deploy Code (Feature Flag OFF)COMMENT
LOWdocs/article-content-scanning.md695#### Step 2: Run Image MigrationCOMMENT
LOWdocs/article-content-scanning.md722#### Step 3: Validate MigrationCOMMENT
LOWdocs/article-content-scanning.md743#### Step 4: Enable Feature FlagCOMMENT
LOWdocs/article-content-scanning.md758#### 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
LOW⚡scripts/oneoffs/reindex-missing-images.ts208 // Step 1: Get all eligible images from databaseCOMMENT
LOW⚡scripts/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
LOW⚡scripts/metric-migration/backfill-metrics.ts392 // Step 1: Delete existing backfill dataCOMMENT
LOW⚡scripts/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
LOW⚡apps/event-engine/src/common/feeds/images.feed.ts223 // Step 2: Fetch metrics from ClickHouse via metric serviceCOMMENT
LOW⚡apps/event-engine/src/common/feeds/images.feed.ts226 // Step 3: Fetch tags from cacheCOMMENT
LOW⚡apps/event-engine/src/common/feeds/images.feed.ts229 // Step 4: Fetch tools and techniques from PostgreSQLCOMMENT
LOW⚡apps/event-engine/src/common/feeds/images.feed.ts1043 // Step 3: Extract IDs for data fetchingCOMMENT
LOW⚡apps/event-engine/src/common/feeds/images.feed.ts1050 // Step 4: Fetch user reactions (if authenticated)COMMENT
LOW⚡apps/event-engine/src/common/feeds/images.feed.ts1057 // Step 5: Fetch all required data in parallelCOMMENT
LOW⚡apps/event-engine/src/common/feeds/images.feed.ts1104 // Step 5: Fetch tag data (only if tags or tagIds requested)COMMENT
LOW⚡apps/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.ts63 // Step 1: Lookup all IDs in RedisCOMMENT
LOWapps/event-engine/src/common/caches/base.ts74 // Step 2: Process cache resultsCOMMENT
LOW⚡apps/event-engine/src/common/caches/base.ts124 // Step 3: Slide TTLs for hot cache entriesCOMMENT
LOW⚡apps/event-engine/src/common/caches/base.ts133 // Step 4: Handle stale entries with revalidation locksCOMMENT
43 more matches not shown…
Verbosity Indicators79 hits · 140 pts
SeverityFileLineSnippetContext
LOW⚡scripts/oneoffs/reindex-missing-images.ts208 // Step 1: Get all eligible images from databaseCOMMENT
LOW⚡scripts/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
LOW⚡scripts/metric-migration/backfill-metrics.ts392 // Step 1: Delete existing backfill dataCOMMENT
LOW⚡scripts/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
LOW⚡apps/event-engine/src/common/feeds/images.feed.ts223 // Step 2: Fetch metrics from ClickHouse via metric serviceCOMMENT
LOW⚡apps/event-engine/src/common/feeds/images.feed.ts226 // Step 3: Fetch tags from cacheCOMMENT
LOW⚡apps/event-engine/src/common/feeds/images.feed.ts229 // Step 4: Fetch tools and techniques from PostgreSQLCOMMENT
LOW⚡apps/event-engine/src/common/feeds/images.feed.ts1043 // Step 3: Extract IDs for data fetchingCOMMENT
LOW⚡apps/event-engine/src/common/feeds/images.feed.ts1050 // Step 4: Fetch user reactions (if authenticated)COMMENT
LOW⚡apps/event-engine/src/common/feeds/images.feed.ts1057 // Step 5: Fetch all required data in parallelCOMMENT
LOW⚡apps/event-engine/src/common/feeds/images.feed.ts1104 // Step 5: Fetch tag data (only if tags or tagIds requested)COMMENT
LOW⚡apps/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.ts63 // Step 1: Lookup all IDs in RedisCOMMENT
LOWapps/event-engine/src/common/caches/base.ts74 // Step 2: Process cache resultsCOMMENT
LOW⚡apps/event-engine/src/common/caches/base.ts124 // Step 3: Slide TTLs for hot cache entriesCOMMENT
LOW⚡apps/event-engine/src/common/caches/base.ts133 // Step 4: Handle stale entries with revalidation locksCOMMENT
LOWapps/event-engine/src/common/caches/base.ts157 // Step 5: Handle cache misses with lock mechanism to prevent stampedesCOMMENT
LOWsrc/server/jobs/new-order-jobs.ts67 // Step 1: Grant buzz for judgments from 3 days agoCOMMENT
LOWsrc/server/jobs/new-order-jobs.ts139 // Step 2: Reconcile stale blessedBuzz counters for inactive usersCOMMENT
LOW⚡src/server/jobs/new-order-jobs.ts233 // Step 1: Batch fetch all counters efficiently (checks cache first, then batched DB queries)COMMENT
LOW⚡src/server/jobs/new-order-jobs.ts241 // Step 2: Build player stats from the batch-fetched dataCOMMENT
LOWsrc/server/jobs/new-order-jobs.ts260 // Step 3: Update Redis fervor counter for players whose fervor changedCOMMENT
LOWsrc/server/jobs/new-order-jobs.ts281 // Step 4: Bulk update PostgreSQL with exp and recalculated fervorCOMMENT
LOWsrc/server/jobs/new-order-jobs.ts298 // Step 5: Clear rated images cache for all players in this batchCOMMENT
LOWsrc/server/jobs/remove-old-drafts.ts117 // Step 1: Query replica (dbRead) for model IDs to deleteCOMMENT
LOWsrc/server/jobs/remove-old-drafts.ts186 // 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
LOW⚡src/server/jobs/push-discord-metadata.ts36 // Step 3: Combine unique userIdsCOMMENT
LOW⚡src/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.ts340 // 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…c/components/Subscriptions/PrepaidBuzzTransactions.tsx147 // Step 1: Direct match via externalTransactionId suffix (redemption transactions)COMMENT
LOW…c/components/Subscriptions/PrepaidBuzzTransactions.tsx168 // Step 2: FIFO + tier-aware assignment for job deliveries (:v3)COMMENT
19 more matches not shown…
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
HIGH⚡docs/moderator-app/retool-exports/raw/user-reports.json1{"uuid":"a7fbd3e4-46ee-11ef-addd-8b299ca80778","page":{"id":510420693,"data":{"appState":"[\"~#iR\",[\"^ \",\"n\",\"appTCODE
HIGH⚡docs/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.ts1033 // Mark scan as requested after successfully linking imagesCOMMENT
HIGH…c/components/Post/EditV2/PostImageCards/AddedImage.tsx802 We couldn&rsquo;t confirm that this image was generated by AI. To resolve this,CODE
Fake / Example Data70 hits · 68 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…aude/skills/app-capture/tests/run-tests-app-capture.sh4570 ph = [i["placeholder"] for i in got["missing"]["inputs"]CODE
LOW⚡.claude/skills/app-capture/tests/mutants-app-capture.sh741 's/ has = has or bool((n.get("title") or "").strip())/ has = has or bool((n.get("placeholder") oCODE
LOW.claude/skills/app-capture/scripts/evidence.py568 if (n.get("placeholder") or "").strip():CODE
LOW.claude/skills/app-capture/scripts/evidence.py727 "placeholder": (n.get("placeholder") or "").strip()[:80]})CODE
LOW.claude/skills/app-capture/scripts/evidence.py1401 (" placeholder=%r" % i["placeholder"]) if i["placeholder"] else "")CODE
LOW.claude/skills/clickup/reference.md120- **Partial name**: `@[jane]` → fuzzy matches "Jane Doe"CODE
LOW.claude/skills/clickup/SKILL.md451**Bracket syntax**: Fuzzy matches partial names, emails, or numeric IDs. `@[jane]` matches "Jane Doe". Unknown users thrCODE
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
LOWscripts/__tests__/decision-eval-support-topic.test.ts49 requesterEmail: 'pat.doe@example.org',CODE
LOWscripts/__tests__/decision-eval-support-topic.test.ts95 expect(all).not.toContain('555-0134');CODE
LOWscripts/__tests__/decision-eval-support-topic.test.ts502 requester_email: 'someone@example.org',CODE
LOWscripts/__tests__/decision-eval-support-topic.test.ts544 requester_email: 'pat.doe@example.org',CODE
LOWscripts/__tests__/decision-eval-support-topic.test.ts1089 requesterEmail: 'link@example.org',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
LOW…/server/__tests__/training-workflow-moderation.test.ts665 return new Response('placeholder', { headers: { 'content-type': 'image/png' } });CODE
LOWapps/moderator/src/lib/components/ImageQueueGrid.svelte107 <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/ratings/+page.svelte129 <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.svelte795 <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.svelte467 <div class="placeholder">CODE
LOW…c/routes/(app)/analytics/models/[modelId]/+page.svelte321 <div class="placeholder">This model has no versions.</div>CODE
LOW…studio/src/routes/(app)/analytics/storage/+page.svelte176 <div class="placeholder">Storage usage isn't available yet. Please check back soon.</div>CODE
LOW…studio/src/routes/(app)/analytics/storage/+page.svelte178 <div class="placeholder">Storage is temporarily unavailable. Please try again shortly.</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.svelte102 <div class="placeholder">CODE
LOW…s/creator-studio/src/routes/(admin)/admin/+page.svelte100 <p class="placeholder">Channel totals are unavailable right now.</p>CODE
LOW…routes/(admin)/admin/monetization/AdoptionTable.svelte30 <p class="placeholder">Settings counts are unavailable right now.</p>CODE
LOW…es/(admin)/admin/monetization/ChannelMoneyTable.svelte52 <p class="placeholder">Channel totals are unavailable right now.</p>CODE
LOW…/routes/(admin)/admin/monetization/ChannelTrend.svelte123 <p class="placeholder">The chart is unavailable right now.</p>CODE
LOW…/routes/(admin)/admin/monetization/ChannelTrend.svelte125 <p class="placeholder">No creator payouts in this month.</p>CODE
LOWsrc/server/utils/__tests__/minor-flag-meta.test.ts254 poi: { at: 'x', workflowId: 'wf-1', reason: 'Names a real actor.', names: ['Jane Doe'] },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
LOW…server/controllers/__tests__/bounty-read-paths.test.ts298 meta: { textScanFlags: { poi: { reason: 'r', names: ['Jane Doe'] } } },CODE
LOW…server/controllers/__tests__/bounty-read-paths.test.ts325 meta: { textScanFlags: { poi: { reason: 'r', names: ['Jane Doe'] } } },CODE
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
10 more matches not shown…
Deep Nesting10 hits · 8 pts
SeverityFileLineSnippetContext
LOW.claude/skills/app-capture/scripts/plan.py300CODE
LOW.claude/skills/app-capture/scripts/plan.py1022CODE
LOW.claude/skills/app-capture/scripts/frame.py253CODE
LOW.claude/skills/app-capture/scripts/frame.py319CODE
LOW.claude/skills/app-capture/scripts/frame.py1493CODE
LOW.claude/skills/app-capture/scripts/evidence.py522CODE
LOW.claude/skills/app-capture/scripts/evidence.py709CODE
LOW.claude/skills/app-capture/scripts/evidence.py1328CODE
LOW.claude/skills/listing-media/scripts/author-marks.py41CODE
LOWscripts/mutation/listing-problems-kind.mutation.py152CODE
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHapps/event-engine/README.md295MEILISEARCH_API_KEY=your-api-keyCODE
Example Usage Blocks3 hits · 4 pts
SeverityFileLineSnippetContext
LOW.claude/skills/app-capture/scripts/plan.py119# Usage:COMMENT
LOW.claude/skills/app-capture/scripts/evidence.py89# Usage:COMMENT
LOW.claude/skills/deploy-status/deploy-chain.sh17# Usage:COMMENT
Excessive Try-Catch Wrapping3 hits · 3 pts
SeverityFileLineSnippetContext
LOW.claude/skills/app-capture/scripts/capture.sh185 except Exception: return {}CODE
LOW.claude/skills/app-capture/scripts/capture.sh470except Exception: d={}CODE
LOW.claude/skills/app-capture/scripts/capture.sh581except Exception: d={}CODE
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
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsrc/components/Search/parsers/base.ts36 // TODO: implement Model3D search parserCOMMENT
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsrc/store/post-image-transmitter.store.ts87 async function getData(url: string, options?: { allowExternalUrl?: boolean }) {CODE