AI Slop Code Risk Monitor

homarr-labs/homarr

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

A modern and easy to use dashboard. 80+ integrations. 20K+ icons built in. Authentication out of the box. No YAML, drag and drop configuration.

2.4 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for homarr-labs/homarr, a TypeScript project with 5,257 GitHub stars. SynthScan examined 721,257 lines of code across 3415 source files, recording 1479 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 2.4 (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.

2.4
Adjusted Signal
2.4
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
5.3K
Stars
TypeScript
Language
721.3K
Lines of Code
3.4K
Files
1.5K
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

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

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 2.5/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 7.9/100 · LOW

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

Agent Over-Engineering Ratio 3.2/100 · LOW

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

PR Review Velocity Impact 10.8/100 · LOW

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

What These Metrics Mean

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

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 2HIGH 7MEDIUM 62LOW 1408

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 1479 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Fake / Example Data1106 hits · 1143 pts
SeverityFileLineSnippetContext
LOWpackages/ui/src/components/select-with-custom-items.tsx15 "label" | "error" | "defaultValue" | "value" | "onChange" | "placeholder" | "clearable"CODE
LOW⚡packages/translation/src/lang/zh.json1988 "placeholder": "選擇一個或多個值"CODE
LOW⚡packages/translation/src/lang/zh.json1991 "placeholder": "新增更多值",CODE
LOW⚡packages/translation/src/lang/zh.json1995 "placeholder": "選擇值",CODE
LOW⚡packages/translation/src/lang/zh.json8069 "placeholder": "搜尋任意內容",CODE
LOW⚡packages/translation/src/lang/zh.json8074 "placeholder": "搜尋應用程式、面板、頁面、命令與偏好設定"CODE
LOW⚡packages/translation/src/lang/zh.json8078 "placeholder": "搜尋應用程式、面板與整合"CODE
LOW⚡packages/translation/src/lang/zh.json8082 "placeholder": "搜尋操作與命令"CODE
LOW⚡packages/translation/src/lang/zh.json8086 "placeholder": "搜尋並變更偏好設定"CODE
LOW⚡packages/translation/src/lang/zh.json8090 "placeholder": "詢問助理"CODE
LOW⚡packages/translation/src/lang/zh.json8094 "placeholder": "使用外部搜尋引擎搜尋"CODE
LOW⚡packages/translation/src/lang/zh.json8098 "placeholder": "搜尋電影或節目",CODE
LOW⚡packages/translation/src/lang/zh.json8103 "placeholder": "搜尋使用者與群組"CODE
LOWpackages/translation/src/lang/zh.json1470 "placeholder": "自訂應用程式網址"CODE
LOWpackages/translation/src/lang/zh.json2312 "placeholder": "選擇一個選項"CODE
LOWpackages/translation/src/lang/zh.json2444 "placeholder": "貼上 URL 或搜尋應用程式",CODE
LOWpackages/translation/src/lang/zh.json2453 "placeholder": "創建分類",CODE
LOWpackages/translation/src/lang/zh.json2904 "placeholder": "搜尋車站"CODE
LOWpackages/translation/src/lang/zh.json2983 "placeholder": "開始撰寫您的筆記",CODE
LOWpackages/translation/src/lang/zh.json3517 "placeholder": "所有 Docker 環境"CODE
LOWpackages/translation/src/lang/zh.json3725 "placeholder": "選擇網站",CODE
LOWpackages/translation/src/lang/zh.json3745 "placeholder": "選擇一個事件",CODE
LOWpackages/translation/src/lang/zh.json3777 "placeholder": "選取事件……"CODE
LOWpackages/translation/src/lang/zh.json3876 "placeholder": "選取儲存區"CODE
LOWpackages/translation/src/lang/zh.json4860 "placeholder": "名稱或擁有者/名稱"CODE
LOWpackages/translation/src/lang/zh.json6345 "placeholder": "開始搜尋本機的圖像",CODE
LOWpackages/translation/src/lang/zh.json7041 "placeholder": "/logo/logo.png"CODE
LOWpackages/translation/src/lang/zh.json7045 "placeholder": "使用應用程式標誌"CODE
LOWpackages/translation/src/lang/zh.json7059 "placeholder": "https://example.com/background.jpg"CODE
LOWpackages/translation/src/lang/zh.json7203 "placeholder": "輸入 API 金鑰",CODE
LOWpackages/translation/src/lang/zh.json7233 "placeholder": "模型 ID",CODE
LOW⚡packages/translation/src/lang/tr.json1988 "placeholder": "Bir veya daha fazla değer seçin"CODE
LOW⚡packages/translation/src/lang/tr.json1991 "placeholder": "Daha fazla değer ekleyin",CODE
LOW⚡packages/translation/src/lang/tr.json1995 "placeholder": "Değer seç",CODE
LOW⚡packages/translation/src/lang/tr.json8069 "placeholder": "Aramak için yaz",CODE
LOW⚡packages/translation/src/lang/tr.json8074 "placeholder": "Uygulamalarda, panolarda, sayfalarda, komutlarda ve tercihlerde ara"CODE
LOW⚡packages/translation/src/lang/tr.json8078 "placeholder": "Uygulamalarda, panolarda ve entegrasyonlarda ara"CODE
LOW⚡packages/translation/src/lang/tr.json8082 "placeholder": "Eylemlerde ve komutlarda ara"CODE
LOW⚡packages/translation/src/lang/tr.json8086 "placeholder": "Tercihleri ara ve değiştir"CODE
LOW⚡packages/translation/src/lang/tr.json8090 "placeholder": "Asistana sor"CODE
LOW⚡packages/translation/src/lang/tr.json8094 "placeholder": "Harici bir arama motoruyla ara"CODE
LOW⚡packages/translation/src/lang/tr.json8098 "placeholder": "Bir film veya dizi ara",CODE
LOW⚡packages/translation/src/lang/tr.json8103 "placeholder": "Kullanıcılarda ve gruplarda ara"CODE
LOWpackages/translation/src/lang/tr.json1470 "placeholder": "Özel Uygulama URL'si"CODE
LOWpackages/translation/src/lang/tr.json2312 "placeholder": "Bir seçenek belirleyin"CODE
LOWpackages/translation/src/lang/tr.json2444 "placeholder": "URL'leri yapıştırın veya uygulamalarda arayın",CODE
LOWpackages/translation/src/lang/tr.json2453 "placeholder": "Yeni Kategori",CODE
LOWpackages/translation/src/lang/tr.json2904 "placeholder": "İstasyon ara"CODE
LOWpackages/translation/src/lang/tr.json2983 "placeholder": "Not almaya başlayın",CODE
LOWpackages/translation/src/lang/tr.json3517 "placeholder": "Tüm Docker ortamları"CODE
LOWpackages/translation/src/lang/tr.json3725 "placeholder": "Bir web sitesi seçin",CODE
LOWpackages/translation/src/lang/tr.json3745 "placeholder": "Bir etkinlik seçin",CODE
LOWpackages/translation/src/lang/tr.json3777 "placeholder": "Etkinlik seç..."CODE
LOWpackages/translation/src/lang/tr.json3876 "placeholder": "Depolama birimlerini seçin"CODE
LOWpackages/translation/src/lang/tr.json4860 "placeholder": "Ad veya Sahip/Ad"CODE
LOWpackages/translation/src/lang/tr.json6345 "placeholder": "Aramak istediğiniz yerel görseller için yazmaya başlayın",CODE
LOWpackages/translation/src/lang/tr.json7041 "placeholder": "/logo/logo.png"CODE
LOWpackages/translation/src/lang/tr.json7045 "placeholder": "Uygulama logosunu kullanır"CODE
LOWpackages/translation/src/lang/tr.json7059 "placeholder": "https://example.com/background.jpg"CODE
LOWpackages/translation/src/lang/tr.json7203 "placeholder": "Bir API anahtarı girin",CODE
1046 more matches not shown…
Hyper-Verbose Identifiers296 hits · 312 pts
SeverityFileLineSnippetContext
LOW⚡packages/workshop/src/backend.ts768export function useWorkshopSubmissionQuery(backend: WorkshopBackend, id: string) {CODE
LOW⚡packages/workshop/src/backend.ts776export function useWorkshopReportSummariesQuery(backend: WorkshopBackend, submission: string) {CODE
LOW⚡packages/workshop/src/backend.ts784export function useWorkshopUserVotesQuery(backend: WorkshopBackend) {CODE
LOW⚡packages/workshop/src/backend.ts804export function useWorkshopCreateMutation(backend: WorkshopBackend) {CODE
LOW⚡packages/workshop/src/backend.ts809export function useWorkshopUpdateMutation(backend: WorkshopBackend) {CODE
LOW⚡packages/workshop/src/backend.ts817export function useWorkshopDeleteMutation(backend: WorkshopBackend) {CODE
LOWpackages/workshop/src/backend.ts836export function useWorkshopReportMutation(backend: WorkshopBackend) {CODE
LOW⚡packages/workshop/src/backend.ts850export function useWorkshopDismissReportMutation(backend: WorkshopBackend) {CODE
LOW⚡packages/workshop/src/backend.ts858export function useWorkshopToggleOutdatedMutation(backend: WorkshopBackend) {CODE
LOW⚡packages/workshop/src/backend.ts866export function useWorkshopCreateCommentMutation(backend: WorkshopBackend) {CODE
LOW⚡packages/workshop/src/backend.ts875export function useWorkshopUpdateCommentMutation(backend: WorkshopBackend) {CODE
LOW⚡packages/workshop/src/backend.ts883export function useWorkshopDeleteCommentMutation(backend: WorkshopBackend) {CODE
LOW⚡packages/workshop/src/backend.ts892export function useWorkshopWidgetImportMutation(CODE
LOW⚡packages/workshop/src/backend.ts899export function useWorkshopCssImportMutation(useCss: ((css: string) => void) | undefined, onSuccess?: () => void) {CODE
LOWpackages/cli/src/commands/harness.ts114function parseEnvironmentOverrides(raw?: string): Map<string, string> {CODE
LOWpackages/request-handler/src/docker.ts360export function clearCpuUsageCountersCacheForTesting(): void {CODE
LOWpackages/request-handler/src/docker.ts364export async function getContainersWithStatsAsync(CODE
LOWpackages/request-handler/src/timetable-url.ts21export async function readBoundedTimetableJsonAsync(CODE
LOWpackages/integrations/test/nextcloud.spec.ts307async function prepareNextcloudContainerAsync(): Promise<StartedTestContainer> {CODE
LOWpackages/integrations/test/nextcloud.spec.ts333function createNextcloudIntegration(CODE
LOWpackages/integrations/src/http-auth.ts29export function resolveDeclaredHttpAuthentication(CODE
LOW…rations/src/download-client/sabnzbd/sabnzbd-history.ts16export async function getSabnzbdHistorySlotsAsync({CODE
LOWpackages/integrations/src/mock/widget-data.ts407function createThingportMockModels(): Record<ThingportModelList, ThingportModel[]> {CODE
LOWpackages/integrations/src/mock/widget-data.ts432export function createThingportMockActivity(from: string, to: string): ThingportActivity {CODE
LOWpackages/integrations/src/mock/data/beszel.ts139function generateSystemStatsSeries(count: number, sys: MockSystemDef): BeszelSystemStats[] {CODE
LOWpackages/integrations/src/mock/data/beszel.ts176function generateContainerStatsSeries(count: number, profiles: typeof containerProfiles): BeszelContainerStats[][] {CODE
LOWpackages/integrations/src/plex/plex-integration.ts85function mergeRecentlyAddedEpisodes(items: RecentlyAddedItem[], episodes: RecentlyAddedEpisode[]): MergedItem[] {CODE
LOWpackages/integrations/src/base/creator.ts408export async function getIntegrationHttpAuthenticationAsync(integration: IntegrationInput & { kind: IntegrationKind }) {CODE
LOWpackages/integrations/src/stats/providers/plantit.ts45async function getHttpAuthenticationAsync(context: StatsFetchContext) {CODE
LOWpackages/integrations/src/stats/providers/frigate.ts36async function getHttpAuthenticationAsync(context: StatsFetchContext) {CODE
LOWpackages/integrations/src/stats/providers/homebox.ts60async function getHttpAuthenticationAsync(context: StatsFetchContext) {CODE
LOWpackages/integrations/src/traefik/traefik-bounds.ts7export async function readBoundedTraefikJsonAsync(CODE
LOWpackages/common/src/revalidate-path-action.ts5export async function revalidatePathActionAsync(path: string) {CODE
LOWpackages/common/src/bounded-response.ts63export async function readBoundedJsonResponseAsync(CODE
LOW…ages/custom-widgets/scripts/ai-assistant-evaluation.ts55export function getAssistantEvaluationMaxOutputTokens(configuredValue: string | undefined) {CODE
LOW…ages/custom-widgets/scripts/ai-assistant-evaluation.ts105export function compactAssistantEvaluationMessages(CODE
LOW…ages/custom-widgets/scripts/ai-assistant-evaluation.ts485export function executeActiveAssistantEvaluationTool(CODE
LOW…ages/custom-widgets/scripts/ai-assistant-evaluation.ts959export function executeAssistantEvaluationTool(CODE
LOW…ages/custom-widgets/scripts/ai-assistant-evaluation.ts985export function getAssistantEvaluationLifecycleIssues(CODE
LOW…ages/custom-widgets/scripts/ai-assistant-evaluation.ts1023export function getAssistantEvaluationEfficiencyIssues(CODE
LOW…ages/custom-widgets/scripts/ai-assistant-evaluation.ts1119export function createAssistantEvaluationState(preferredExampleId?: string): AssistantAttemptState {CODE
LOW⚡…ages/custom-widgets/scripts/ai-assistant-evaluation.ts1308export function mergeAssistantEvaluationFeedback(feedback: string[], issues: readonly string[]) {CODE
LOW⚡…ages/custom-widgets/scripts/ai-assistant-evaluation.ts1317export function replaceAssistantEvaluationFeedback(feedback: string[], issues: readonly string[]) {CODE
LOW⚡…ages/custom-widgets/scripts/ai-assistant-evaluation.ts1322export function composeAssistantEvaluationFeedback(...groups: readonly (readonly string[])[]) {CODE
LOW…ages/custom-widgets/scripts/ai-assistant-evaluation.ts1337export function getPortableAssistantLifecycleFeedback(issues: readonly string[]) {CODE
LOW…ages/custom-widgets/scripts/ai-assistant-evaluation.ts1341export function selectAssistantEvaluationReviewFeedback(CODE
LOW…ages/custom-widgets/scripts/ai-assistant-evaluation.ts1353export function formatAssistantDeterministicFeedback(CODE
LOW…ages/custom-widgets/scripts/ai-assistant-evaluation.ts1366export async function evaluateCustomWidgetAssistantCase(args: {CODE
LOW…/custom-widgets/scripts/generate-component-metadata.ts454function createBlockedCapabilities(): CustomJsxBlockedCapability[] {CODE
LOW…ckages/custom-widgets/scripts/verify-reference-apis.ts144async function verifyPublicAiEvaluationApis() {CODE
LOWpackages/custom-widgets/scripts/ai-evaluation.ts74export function getAiEvaluationMaxOutputTokens(purpose: "generation" | "judge", configuredValue: string | undefined) {CODE
LOWpackages/custom-widgets/scripts/ai-evaluation.ts221export function getEvaluationResponseFixtureText(testCase: CustomWidgetAiEvaluationCase): string | null {CODE
LOWpackages/custom-widgets/scripts/ai-evaluation.ts359export function getDeterministicEvaluationIssues(CODE
LOWpackages/custom-widgets/scripts/ai-evaluation.ts485export function getDeterministicEvaluationMatches(CODE
LOWpackages/custom-widgets/scripts/ai-evaluation.ts524export function getDeterministicEvaluationSuiteIssues(CODE
LOWpackages/custom-widgets/scripts/ai-evaluation.ts643export function getCustomWidgetArtifactHash(widget: HomarrCustomWidgetV2) {CODE
LOWpackages/custom-widgets/scripts/ai-evaluation.ts647export function summarizeCustomWidgetJudgePanel(CODE
LOWpackages/custom-widgets/src/core/schema.ts11export function getCustomWidgetJsonSchema() {CODE
LOWpackages/custom-widgets/src/core/custom-jsx-schema.ts198function validateCaseInsensitiveSourceIds(sources: Definition["sources"], ctx: z.RefinementCtx) {CODE
LOWpackages/custom-widgets/src/core/custom-jsx-schema.ts315export function normalizeCustomWidgetAuthoringDefinition(input: CustomWidgetAuthoringDefinitionInput) {CODE
236 more matches not shown…
Decorative Section Separators53 hits · 156 pts
SeverityFileLineSnippetContext
MEDIUMtools/motion-reel/reel.js3 // ───────────────────────────── constants ─────────────────────────────COMMENT
MEDIUMtools/motion-reel/reel.js21 // ───────────────────────────── math ─────────────────────────────COMMENT
MEDIUMtools/motion-reel/reel.js75 // ───────────────────────────── dom helpers ─────────────────────────────COMMENT
MEDIUMtools/motion-reel/reel.js206 // ════════════════════════════ SCENE 1 — IGNITION (0 → 1.875) ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js340 // ════════════════════════════ SCENE 2 — SERVICES STROBE (1.875 → 3.75) ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js579 // ════════════════════════════ SCENE 3+4 — ONE PLACE → BOARD (3.75 → 7.5) ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js1033 // ════════════════════════════ SCENE 5 — LIVE DATA (7.5 → 9.375) ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js1243 // ════════════════════════════ SCENE 6 — 87 INTEGRATIONS RING (9.375 → 11.25) ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js1349 // ════════════════════════════ SCENE 7 — FEATURE BENTO (11.25 → 13.125) ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js1548 // ════════════════════════════ 3D — three.js rigs from origin/feat/3d-logo-lab ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js1815 // ════════════════════════════ SCENE 8 — NOW IN v2 (13.125 → 15) ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js1901 // ════════════════════════════ SCENE 9 — CUSTOM WIDGETS v2 (15 → 16.875) ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js2040 // ════════════════════════════ SCENE 10 — WORKSHOP (16.875 → 18.75) ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js2234 // ════════════════════════════ SCENE 11 — ASSISTANT (18.75 → 20.625) ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js2365 // ════════════════════════════ SCENE FD-A — THE FRONT DOOR: one new endpoint, as a diagram (2 bars) ═════════════════COMMENT
MEDIUMtools/motion-reel/reel.js2857 // ════════════════════════════ SCENE FD-B — THE FRONT DOOR, LIVE: one prompt, seven services (2 bars) ═══════════════COMMENT
MEDIUMtools/motion-reel/reel.js3019 // ════════════════════════════ SCENE 12 — BOARD EDITING, REBUILT (28.125 → 30) ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js3216 // ════════════════════════════ SCENE 13 — SETUP STUDIO + DOCKER (30 → 31.875) ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js3314 // ════════════════════════════ SCENE 14 — +31 INTEGRATIONS & STATISTICS (31.875 → 33.75) ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js3453 // ════════════════════════════ SCENE 15 — ALSO IN v2 (33.75 → 35.625) ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js3538 // ════════════════════════════ SCENE 16 — END CARD, 3D wordmark (35.625 → 37.5) ════════════════════════════COMMENT
MEDIUMtools/motion-reel/reel.js3680 // ════════════════════════════ overlays: fx particles, vignette, grain ════════════════════════════COMMENT
MEDIUMtools/motion-reel/synth.py87# ─────────────────────────── instruments ───────────────────────────COMMENT
MEDIUMtools/motion-reel/score.py95# ─────────────────────────── MUSIC ───────────────────────────COMMENT
MEDIUMtools/motion-reel/score.py171# ─────────────────────────── SFX, original reel (reel-time authored) ───────────────────────────COMMENT
MEDIUMtools/motion-reel/score.py253# ─────────────────────────── SFX, v2 ───────────────────────────COMMENT
MEDIUMtools/motion-reel/score.py386# ─────────────────────────── reverb + master ───────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium-unit.spec.ts15// ─── module mocks ────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium-unit.spec.ts60// ─── helpers ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium-unit.spec.ts125// ─── getSummaryAsync ─────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium-unit.spec.ts287// ─── enableAsync ─────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium-unit.spec.ts331// ─── disableAsync ─────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium-unit.spec.ts371// ─── token acquisition ────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium-unit.spec.ts471// ─── version-specific request format ─────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium-unit.spec.ts543// ─── withTokenRetryAsync ─────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium-unit.spec.ts645// ─── login URL format ────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium-unit.spec.ts684// ─── auth mechanism per version ──────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium-unit.spec.ts748// ─── testingAsync (session cleanup) ──────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium.spec.ts16// ─── module mocks ────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium.spec.ts52// ─── version matrix ───────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium.spec.ts72// ─── helpers ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium.spec.ts111// ─── parallel container pool ─────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium.spec.ts145// ─── version-parameterised suites ────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium.spec.ts161 // ── factory ────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium.spec.ts174 // ── getSummaryAsync ────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium.spec.ts211 // ── session caching ────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium.spec.ts244 // ── blocking state changes ─────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/technitium.spec.ts301 // ── testConnectionAsync ────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/glances-unit.spec.ts10// ─── module mocks ────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/glances-unit.spec.ts45// ─── helpers ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/integrations/test/glances-unit.spec.ts170// ─── tests ───────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ckages/integrations/src/technitium/technitium-types.ts40// ─── pure utilities ──────────────────────────────────────────────────────────COMMENT
MEDIUM…ckages/integrations/src/technitium/technitium-types.ts59// ─── Zod schemas ─────────────────────────────────────────────────────────────COMMENT
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICALpackages/api/src/router/onboard/onboard-router.ts542 const parsedName = onboardingCompleteSetupSchema.shape.board.shape.name.safeParse(normalizedLabelBoardName);CODE
CRITICALpackages/widgets/src/stats/component.tsx114 const result = await utils.client.widget.stats.refresh.mutate({ integrationId, force });CODE
Magic Placeholder Names4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHpackages/onboarding/src/setup-studio.tsx1765 headers: { ApiKey: apiKey ?? "<your-api-key>" },CODE
HIGH…cale]/manage/tools/api/components/mcp-instructions.tsx103 ApiKey: "<your-api-key>",CODE
HIGH…cale]/manage/tools/api/components/mcp-instructions.tsx117 args: ["-y", "mcp-remote", mcpUrl, "--header", "ApiKey:<your-api-key>"],CODE
HIGH…cale]/manage/tools/api/components/mcp-instructions.tsx125 const testCommand = `curl -s -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "ApiKey: <yoCODE
AI Slop Vocabulary6 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUM⚡…stom-widgets/src/core/component-catalog.generated.json1{"schemaVersion":1,"mantineVersion":"9.6.0","customWidgetVersion":"2.0.0","types":["\"\" | \"anonymous\" | \"use-credentCODE
MEDIUM⚡…stom-widgets/src/core/component-catalog.generated.json1{"schemaVersion":1,"mantineVersion":"9.6.0","customWidgetVersion":"2.0.0","types":["\"\" | \"anonymous\" | \"use-credentCODE
MEDIUM⚡…stom-widgets/src/core/component-catalog.generated.json1{"schemaVersion":1,"mantineVersion":"9.6.0","customWidgetVersion":"2.0.0","types":["\"\" | \"anonymous\" | \"use-credentCODE
MEDIUM⚡…s/docs/public/custom-widgets/component-catalog-v1.json1{"schemaVersion":1,"mantineVersion":"9.6.0","customWidgetVersion":"2.0.0","types":["\"\" | \"anonymous\" | \"use-credentCODE
MEDIUM⚡…s/docs/public/custom-widgets/component-catalog-v1.json1{"schemaVersion":1,"mantineVersion":"9.6.0","customWidgetVersion":"2.0.0","types":["\"\" | \"anonymous\" | \"use-credentCODE
MEDIUM⚡…s/docs/public/custom-widgets/component-catalog-v1.json1{"schemaVersion":1,"mantineVersion":"9.6.0","customWidgetVersion":"2.0.0","types":["\"\" | \"anonymous\" | \"use-credentCODE
Synthetic Comment Markers3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHAGENTS.md111- Contributors must not use the `homarr-triage` skill or its `> _This was generated by AI during triage._` disclaimer; dCODE
HIGH.agents/skills/homarr-triage/SKILL.md85> _This was generated by AI during triage._CODE
HIGH.agents/skills/homarr-triage/references/delivery.md22> _This was generated by AI during triage._CODE
Slop Phrases2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM.vscode/i18n-ally-custom-framework.yml13# To help with this, you can use https://www.freeformatter.com/json-escape.htmlCOMMENT
MEDIUM.vscode/i18n-ally-custom-framework.yml24# To help with this, you can use https://www.freeformatter.com/json-escape.htmlCOMMENT
Over-Commented Block5 hits · 5 pts
SeverityFileLineSnippetContext
LOWscripts/entrypoint.sh1#!/bin/shCOMMENT
LOWpackages/integrations/src/umami/umami-integration.ts101 // dashboard share one Redis cache entry per (integration, website, timeFrame)COMMENT
LOW…ckages/integrations/src/glances/glances-integration.ts141 }COMMENT
LOWpackages/api/src/router/test/board.spec.ts2601 // efffffccddCOMMENT
LOW.vscode/i18n-ally-custom-framework.yml21# and works like how the i18next framework identifies the namespace scope from theCOMMENT
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMapps/workshop/homarr_provider.go490 // Retention and data collection policies are managed by OpenRouter guardrails.COMMENT
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtools/motion-reel/synth.py4CODE