AI Slop Code Risk Monitor

lichess-org/lila

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

♞ lichess.org: the forever free, adless and open source chess server ♞

3.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for lichess-org/lila, a Scala project with 18,931 GitHub stars. SynthScan examined 662,217 lines of code across 10028 source files, recording 401 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 3.9 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

3.9
Adjusted Signal
3.9
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
18.9K
Stars
Scala
Language
662.2K
Lines of Code
10.0K
Files
401
Pattern Hits
2026-10-31
Scan Date
0.03
HC Hit Rate

Risk Review · Payload v1

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

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

Cognitive Ownership Risk 0.4/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 17.2/100 · LOW

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

Agent Over-Engineering Ratio 0.2/100 · LOW

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

PR Review Velocity Impact 17.6/100 · LOW

Which changes need focused human review? 401 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 124HIGH 208MEDIUM 0LOW 69

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

Hallucination Indicators124 hits · 1275 pts
SeverityFileLineSnippetContext
CRITICALui/dasher/src/sound.ts28 this.list = this.root.data.sound.list.map(s => s.split(' '));CODE
CRITICALui/learn/src/view/nvuiView.ts327 const fen = () => ctx.ctrl.runCtrl.levelCtrl.chess.fen();CODE
CRITICALui/botDev/src/devBotCtrl.ts164 if (!env.assets.idb.book.keyNames.has(key)) return super.getBook(key);CODE
CRITICALui/bits/src/toastEditor.ts174 const transaction = view.state.tr.insert(afterTable, view.state.schema.nodes.paragraph.create());CODE
CRITICALapp/controllers/Simul.scala51 chat <- canHaveChat(sim).optionFu(env.chat.api.userChat.cached.findMine(sim.id.into(ChatId)))CODE
CRITICALapp/controllers/Tournament.scala390 lila.tournament.Schedule.Freq.byName.get(freq).so { fr =>CODE
CRITICALapp/controllers/Analyse.scala52 pov.game.metadata.analysed.not.so(env.fishnet.api.userAnalysisExists(Analysis.Id(pov.gameId))),CODE
CRITICALapp/controllers/Auth.scala193 lila.core.i18n.I18nKey.emails.welcome_subject.txt(user.username)CODE
CRITICALapp/controllers/Auth.scala308 lila.mon.email.send.fix.increment()CODE
CRITICALapp/controllers/Study.scala149 .flatMap(_.study.members.members.values.take(StudyModel.previewNbMembers))CODE
CRITICALapp/controllers/Study.scala189 chatOpt <- ctx.req.client.isXhr.not.so(chatOf(sc.study))CODE
CRITICALapp/controllers/Study.scala621 v => env.study.pager.featured.setting.setString(v.toString).inject(Redirect(routes.Study.staffPicks))CODE
CRITICALapp/controllers/Challenge.scala393 req.sid.map(_.value) orElse lila.security.Mobile.LichessMobileUa.sriFromUA.map(_.value)CODE
CRITICALapp/controllers/Team.scala73 chat <- hasChat.optionFu(env.chat.api.userChat.cached.findMine(team.id.into(ChatId)))CODE
CRITICALapp/controllers/Team.scala437 val msg = lila.core.i18n.I18nKey.team.onlyLeaderLeavesTeam.txt()CODE
CRITICALapp/controllers/Clas.scala146 views.clas.teacherDashboard.wall.edit(clas, _, env.clas.forms.clas.wall.fill(clas.wall))CODE
CRITICALapp/controllers/Round.scala202 env.chat.api.userChat.cached.findMine(sid.into(ChatId)).dmap(toEventChat(PublicSource.Simul(sid)))CODE
CRITICALapp/controllers/Main.scala136 val meta = lila.memo.PicfitApi.form.upload.bindFromRequest().valueCODE
CRITICALapp/controllers/Account.scala201 lila.core.i18n.I18nKey.site.checkYourEmail.txt())CODE
CRITICALapp/views/study.scala99 .csp(views.analyse.ui.bits.cspExternalEngine.compose(_.withExternalAnalysisApis))CODE
CRITICALapp/views/relay.scala39 .csp(views.analyse.ui.bits.cspExternalEngine.compose(_.withExternalAnalysisApis))CODE
CRITICALmodules/ui/src/main/ui/AtomUi.scala41 java.time.format.DateTimeFormatter.ISO_DATE.withZone(utcZone).print(date)CODE
CRITICALmodules/ui/src/main/ui/bits.scala87 lila.core.i18n.I18nKey.site.analysis()CODE
CRITICALmodules/ui/src/main/ui/bits.scala138 button(cls := "header-tab write-tab active", tpe := "button")(lila.core.i18n.I18nKey.site.write()),CODE
CRITICALmodules/ui/src/main/ui/bits.scala139 button(cls := "header-tab preview-tab", tpe := "button")(lila.core.i18n.I18nKey.site.preview()),CODE
CRITICALmodules/study/src/test/ExplorerGameTest.scala142 assertEquals(inserted.mainline.last.comments.value.map(_.text), List(comment.text))CODE
CRITICALmodules/study/src/main/PgnDump.scala101 ) ::: chapter.root.fen.isInitial.not.so(CODE
CRITICALmodules/study/src/main/JsonView.scala92 "members" -> s.study.members.members.values.take(Study.previewNbMembers),CODE
CRITICALmodules/clas/src/main/ClasMsg.scala20 text = s"""${lila.core.i18n.I18nKey.clas.welcomeToClass.txt(clas.name)}CODE
CRITICALmodules/msg/src/main/MsgByLichess.scala34 SystemMsg.standard(userId, lila.core.i18n.I18nKey.tfa.setupReminder.txt())CODE
CRITICALmodules/puzzle/src/main/PuzzleTrust.scala20 user.perfs.puzzle.glicko.establishedIntRating.fold(fuccess(-2)): userRating =>CODE
CRITICALmodules/puzzle/src/main/PuzzleStreak.scala95 lila.mon.streak.selector.count.record(nb)CODE
CRITICALmodules/puzzle/src/main/PuzzleStreak.scala100 lila.mon.streak.selector.rating.record(r.toInt)CODE
CRITICALmodules/puzzle/src/main/JsonView.scala196 then lila.core.i18n.I18nKey.puzzle.puzzleThemes.txt()CODE
CRITICALmodules/puzzle/src/main/PuzzleSelector.scala47 .mon(lila.mon.puzzle.selector.user.time(angle.categ))CODE
CRITICALmodules/puzzle/src/main/PuzzleBatch.scala43 .mon(lila.mon.puzzle.selector.user.batch(nb = nb))CODE
CRITICALmodules/puzzle/src/main/PuzzleAnon.scala26 else lila.mon.puzzle.selector.anon.vote.record(100 + math.round(puzzle.vote * 100))CODE
CRITICALmodules/puzzle/src/main/PuzzleAnon.scala48 .mon(lila.mon.puzzle.selector.anon.batch(nb))CODE
CRITICALmodules/puzzle/src/main/PuzzleOpening.scala29 op.opening.ref.variation.isDefined.so(Set(op))CODE
CRITICALmodules/puzzle/src/main/PuzzleHistory.scala54 r.round.date.isAfter(last.puzzles.head.round.date.minusHours(1))CODE
CRITICALmodules/security/src/main/PasswordReset.scala25 lila.mon.email.send.resetPassword.increment()CODE
CRITICALmodules/security/src/main/GeoIP.scala28 lila.mon.security.geoip.epoch.update(meta.getBuildDate.getTime.toDouble)CODE
CRITICALmodules/security/src/main/GeoIP.scala29 lila.mon.security.geoip.loadTime.update(time.millis)CODE
CRITICALmodules/security/src/main/EmailConfirm.scala56 lila.mon.email.send.confirmation.increment()CODE
CRITICALmodules/security/src/main/Authenticator.scala97 yield lila.mon.user.auth.bcFullMigrate.increment()CODE
CRITICALmodules/security/src/main/Reopen.scala47 lila.mon.email.send.reopen.increment()CODE
CRITICALmodules/security/src/main/PrintBan.scala28 lila.mon.security.firewall.prints.update(hashes.size)CODE
CRITICALmodules/security/src/main/EmailChange.scala23 lila.mon.email.send.change.increment()CODE
CRITICALmodules/security/src/main/LoginToken.scala60 lila.mon.email.send.storedCode.increment()CODE
CRITICALmodules/security/src/main/LoginToken.scala99 lila.mon.email.send.magicLink.increment()CODE
CRITICALmodules/security/src/main/Firewall.scala30 if v then lila.mon.security.firewall.block.increment()CODE
CRITICALmodules/security/src/main/Firewall.scala52 lila.mon.security.firewall.ip.update(ips.size)CODE
CRITICALmodules/security/src/main/PwnedApi.scala16 val (prefix, suffix) = pass.value.sha1.hex.toUpperCase.splitAt(5)CODE
CRITICALmodules/plan/src/main/StripeClient.scala48 lila.core.i18n.I18nKey.patron.payLifetimeOnce.txt(data.checkout.money.display)CODE
CRITICALmodules/plan/src/main/PlanApi.scala713 if charge.isPayPalLegacy then lila.mon.plan.paypalLegacy.amount.record(charge.usd.cents)CODE
CRITICALmodules/plan/src/main/PlanApi.scala714 else if charge.isPayPalCheckout then lila.mon.plan.paypalCheckout.amount.record(charge.usd.cents)CODE
CRITICALmodules/irwin/src/main/KaladinApi.scala102 lila.mon.mod.kaladin.activation.record(pred.percent)CODE
CRITICALmodules/irwin/src/main/KaladinApi.scala123 lila.mon.mod.kaladin.report.increment()CODE
CRITICALmodules/irwin/src/main/KaladinApi.scala134 yield lila.mon.mod.kaladin.mark.increment()CODE
CRITICALmodules/irwin/src/main/IrwinApi.scala73 yield lila.mon.mod.irwin.mark.increment()CODE
64 more matches not shown…
Cross-Language Confusion (JS/TS)208 hits · 1214 pts
SeverityFileLineSnippetContext
HIGHui/botDev/bin/export-bots.js11print(JSON.stringify(docs, null, 2));CODE
HIGHbin/mongodb/active-player.js2 print('https://lichess.org/@/' + doc._id + ' ' + txt);CODE
HIGHbin/mongodb/user3.js4print('Migrating ' + usersToMigrate.count() + ' users');CODE
HIGHbin/mongodb/user3.js19print('Done!');CODE
HIGHbin/mongodb/rapid-init-all.js44 print(done + ' ' + u._id + ' - ' + u.count.game + ' games');CODE
HIGHbin/mongodb/study-updatedAt-unfuck.js17 print(`Found duplicated updatedAt for ${id}, ${newer} one is newer`);CODE
HIGHbin/mongodb/puzzle-migrate-vote-disable.js27print(modified);CODE
HIGHbin/mongodb/study-chapter-depth.js19 print(`${urlOf(chap)} ${e}`);CODE
HIGHbin/mongodb/fix-normalized-emails.js29 print(user.username, ': ', verbatim, '->', normalized);CODE
HIGH⚡bin/mongodb/fix-normalized-emails.js51print('skipped:', nbSkips);CODE
HIGH⚡bin/mongodb/fix-normalized-emails.js52print('updated:', nbUpdates);CODE
HIGH⚡bin/mongodb/fix-normalized-emails.js53print('skipped duplicates:', nbDups);CODE
HIGHbin/mongodb/lichobile-users.js12 print('Done!');CODE
HIGHbin/mongodb/lichobile-users.js13 print(db.lm_user_recent.estimatedDocumentCount());CODE
HIGHbin/mongodb/lichobile-users.js48 print('Done!');CODE
HIGHbin/mongodb/lichobile-users.js49 print(db.lm_user_recent_nomobile.estimatedDocumentCount());CODE
HIGHbin/mongodb/patron-lifetime-mods.js13 print(userId, !!prev.active);CODE
HIGHbin/mongodb/puzzle-disable-broken-mate.js47 print(p._id);CODE
HIGHbin/mongodb/puzzle-disable-broken-mate.js50print('Disabled ' + count + ' puzzles');CODE
HIGHbin/mongodb/chat-cleanup.js13 print(`${chat._id} ${e} ${l}`);CODE
HIGHbin/mongodb/chat-cleanup.js60 print(`${numberFormat(deleted)} / ${numberFormat(read)} - ${Math.round((deleted * 100) / read)}%`);CODE
HIGH⚡bin/mongodb/user-delete-forever.js10print('\n\n Delete user ' + user.username + ' with ' + user.count.game + ' games!\n\n');CODE
HIGH⚡bin/mongodb/user-delete-forever.js13print('Set black games as anon');CODE
HIGH⚡bin/mongodb/user-delete-forever.js14print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js46print('done');CODE
HIGH⚡bin/mongodb/user-delete-forever.js48print('Delete old PMs');CODE
HIGH⚡bin/mongodb/user-delete-forever.js49print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js55print('Delete new PMs');CODE
HIGH⚡bin/mongodb/user-delete-forever.js56print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js62print('Delete mod log');CODE
HIGH⚡bin/mongodb/user-delete-forever.js63print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js69print('Delete rating history');CODE
HIGH⚡bin/mongodb/user-delete-forever.js70print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js76print('Delete bookmarks');CODE
HIGH⚡bin/mongodb/user-delete-forever.js77print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js83print('Delete learn progress');CODE
HIGH⚡bin/mongodb/user-delete-forever.js84print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js90print('Delete perf stats');CODE
HIGH⚡bin/mongodb/user-delete-forever.js96print(nb + ' done');CODE
HIGH⚡bin/mongodb/user-delete-forever.js98print('Delete prefs');CODE
HIGH⚡bin/mongodb/user-delete-forever.js99print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js105print('Delete relations from');CODE
HIGH⚡bin/mongodb/user-delete-forever.js106print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js112print('Delete relations to');CODE
HIGH⚡bin/mongodb/user-delete-forever.js113print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js119print('Delete security data');CODE
HIGH⚡bin/mongodb/user-delete-forever.js120print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js126print('Delete team membership');CODE
HIGH⚡bin/mongodb/user-delete-forever.js127print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js133print('Delete playbans');CODE
HIGH⚡bin/mongodb/user-delete-forever.js134print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js140print('Delete perf stats');CODE
HIGH⚡bin/mongodb/user-delete-forever.js141print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js147print('Delete activity');CODE
HIGH⚡bin/mongodb/user-delete-forever.js148print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js154print('Delete assessments');CODE
HIGH⚡bin/mongodb/user-delete-forever.js155print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js161print('Delete user');CODE
HIGH⚡bin/mongodb/user-delete-forever.js162print(CODE
HIGH⚡bin/mongodb/user-delete-forever.js171print('\n complete.');CODE
148 more matches not shown…
Hyper-Verbose Identifiers27 hits · 28 pts
SeverityFileLineSnippetContext
LOWui/puzzle/src/view/nvuiView.ts160function renderTouchDeviceCommands({ notify, ctrl }: PuzzleNvuiContext): LooseVNodes {CODE
LOWui/bits/src/bits.polyglot.ts87 // function getWeightThatIsAlmostCertainlyWrong(node: co.pgn.ChildNode<co.pgn.PgnNodeData>) {COMMENT
LOWui/bits/src/bits.passwordComplexity.ts12function updatePasswordComplexityMeter(password: string): void {CODE
LOWui/bits/src/bits.googlyHorsey.ts90export function disableGooglyEyesTracking(): void {CODE
LOWui/analyse/src/view/nvuiView.ts229function renderTouchDeviceCommands(ctx: AnalyseNvuiContext): LooseVNodes {CODE
LOWui/lib/src/bigFileStorage.ts79async function directoryHandleIfAvailable(): Promise<FileSystemDirectoryHandle | undefined> {CODE
LOWui/lib/src/socket.ts10export function eventuallySetupDefaultConnection(): void {CODE
LOWui/lib/src/ceval/util.ts72export function disableLeakyAtomicsWaitAsync(): void {CODE
LOWui/lib/src/nvui/handler.ts211export function lastCapturedCommandHandler(CODE
LOWui/dgt/src/play.ts616 function attachCurrentGameIdToDGTBoard() {CODE
LOWui/dgt/src/play.ts997 async function DGTliveChessConnectionLoop() {CODE
LOWui/dgt/src/play.ts1067 async function validateAndSendBoardMove(boardMove: NormalMove) {CODE
LOWui/round/src/view/nvuiView.ts205function renderTouchDeviceCommands(ctx: RoundNvuiContext): LooseVNodes {CODE
LOWapp/http/HttpRequestHandler.scala8final class HttpRequestHandler(CODE
LOWapp/http/RequestContext.scala45 private def getAndSaveLang(req: RequestHeader, me: Option[Me]): Lang =CODE
LOWbin/dependency-graph.py55def pick_essential_dependencies(providers_dict):CODE
LOWbin/mongodb/recap-notif.js67function sendToRandomOfflinePlayers() {CODE
LOWmodules/recap/src/main/ParallelMongoQueue.scala68 def computeThenRemoveFromQueue(id: A): Funit =CODE
LOWmodules/study/src/main/StudyApi.scala956 def invalidateAndSendChapterPreviews(study: Study) =CODE
LOWmodules/clas/src/main/ClasApi.scala81 def getAndView(id: ClasId)(using teacher: Me): Fu[Option[Clas]] =CODE
LOWmodules/security/src/main/CSRFRequestHandler.scala15final class CSRFRequestHandler(net: NetConfig):CODE
LOWmodules/lobby/src/main/LobbySocket.scala230 private def getOrConnect(sri: Sri, userOpt: Option[UserId]): Fu[Member] =CODE
LOWmodules/tournament/src/main/JsonView.scala162 private def getOrGuessRank(tour: Tournament, player: Player): Fu[Rank] = forCODE
LOWmodules/tournament/src/main/LeaderboardApi.scala56 def getAndDeleteRecent(userId: UserId, since: Instant): Fu[List[TourId]] = forCODE
LOWmodules/report/src/main/ReportApi.scala246 def processAndGetBySuspect(suspect: Suspect): Fu[List[Report]] =CODE
LOWmodules/round/src/main/RoundAsyncActor.scala433 private def handleAndPublish(events: Fu[Events]): Funit =CODE
LOWmodules/swiss/src/main/SwissApi.scala582 private def recomputeAndUpdateAll(id: SwissId): Funit =CODE
Fake / Example Data14 hits · 16 pts
SeverityFileLineSnippetContext
LOWui/botDev/src/schema.ts15 'placeholder',CODE
LOWui/botDev/src/pane.ts277 if (this.info.placeholder) this.input.setAttribute('placeholder', this.info.placeholder);CODE
LOWui/botDev/src/pane.ts289 if (this.info.placeholder) this.input.setAttribute('placeholder', this.info.placeholder);CODE
LOWui/botDev/src/editDialog.ts360 <div class="placeholder"></div>CODE
LOWui/insight/src/multipleSelect.ts46 `<span class="placeholder">${this.options.placeholder}</span>`,CODE
LOW⚡ui/insight/src/multipleSelect.ts334 $span.addClass('placeholder').html(this.options.placeholder!);CODE
LOW⚡ui/insight/src/multipleSelect.ts336 $span.removeClass('placeholder').html(this.options.allSelected);CODE
LOW⚡ui/insight/src/multipleSelect.ts339 .removeClass('placeholder')CODE
LOW⚡ui/insight/src/multipleSelect.ts343 .removeClass('placeholder')CODE
LOW⚡ui/insight/src/multipleSelect.ts350 $span.removeClass('placeholder').text(selects.join(this.options.delimiter));CODE
LOWui/lib/src/chat/discussion.ts178 el.removeAttribute('placeholder');CODE
LOWmodules/study/src/main/ui/StudyUi.scala62 else p(cls := "placeholder")(trans.site.none())CODE
LOWmodules/study/src/main/ui/StudyUi.scala67 else p(cls := "placeholder")(trans.site.none())CODE
LOWmodules/security/src/test/Fixtures.scala345fake-email.pp.uaCODE
Over-Commented Block15 hits · 15 pts
SeverityFileLineSnippetContext
LOWui/.build/src/esbuild.ts141 }COMMENT
LOWui/lib/src/ceval/engines/engines.ts21//COMMENT
LOWui/site/src/powertip.ts581 closeDesyncedTip() {COMMENT
LOWbin/mongodb/active-player.js21 .map(doc => toLink(doc, doc.user.email + ' ' + doc.count + ' games'));COMMENT
LOWbin/mongodb/icon-names.js1// const replacements = [COMMENT
LOWtests/school-mode.spec.ts1import { test, expect } from '@playwright/test';COMMENT
LOWmodules/web/src/main/LoggerConfigurator.scala21 )COMMENT
LOWmodules/web/src/main/LoggerConfigurator.scala41COMMENT
LOWmodules/tournament/src/main/LeaderboardIndexer.scala21 // .find(tournamentRepo.finishedSelect)COMMENT
LOWmodules/tutor/src/main/TutorTime.scala1// package lila.tutorCOMMENT
LOWmodules/tutor/src/main/TutorTime.scala21// )COMMENT
LOWmodules/tutor/src/main/TutorTime.scala41// } yield {COMMENT
LOWmodules/tutor/src/main/TutorTime.scala61// val timePressure = (config.estimateTotalTime / 4).getCOMMENT
LOWmodules/tutor/src/main/TutorTime.scala81// .exists(_ > 300)COMMENT
LOWmodules/db/src/main/dsl.scala1// Copyright (C) 2014 Fehmi Can Saglam (@fehmicans) and contributors.COMMENT
Deep Nesting5 hits · 5 pts
SeverityFileLineSnippetContext
LOWbin/fide-rating-history.py54CODE
LOWbin/fide-rating-history.py83CODE
LOWbin/fide-rating-history.py108CODE
LOWbin/gen/licon.py113CODE
LOWbin/gen/licon.py175CODE
Verbosity Indicators2 hits · 3 pts
SeverityFileLineSnippetContext
LOWui/site/src/powertip.ts599 // for tooltips opened via the api: we need to check if it hasCOMMENT
LOWmodules/db/src/main/dsl.scala314 // so we need to check if the ID writes to an array,COMMENT
Excessive Try-Catch Wrapping3 hits · 3 pts
SeverityFileLineSnippetContext
LOWbin/fide-rating-history.py39 except Exception as e:CODE
LOWbin/fide-rating-history.py59 except Exception as e:CODE
LOWbin/fide-rating-history.py145 except Exception as e:CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWlila.sh5# Usage:COMMENT
Slop Phrases1 hit · 1 pts
SeverityFileLineSnippetContext
LOWbin/gen/licon.py103 print("Don't forget to install lichess.ttf in your code editor\n")CODE
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWbin/gen/licon.py8CODE