Repository Analysis

overleaf/overleaf

A web-based collaborative LaTeX editor

8.9 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of overleaf/overleaf, a JavaScript project with 17,927 GitHub stars. SynthScan v2.0 examined 499,065 lines of code across 3729 source files, recording 937 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 8.9 places this repository in the Low AI signal band.

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

8.9
Adjusted Score
8.9
Raw Score
100%
Time Factor
2026-07-10
Last Push
17.9K
Stars
JavaScript
Language
499.1K
Lines of Code
3.7K
Files
937
Pattern Hits
2026-07-14
Scan Date
0.10
HC Hit Rate

What These Metrics Mean

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

Score History

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

Severity Breakdown

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

CRITICAL 342HIGH 23MEDIUM 6LOW 566

Directory Score Breakdown

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

Pattern Findings

The scanner identified 937 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hallucination Indicators342 hits · 3690 pts
SeverityFileLineSnippetContext
CRITICALlibraries/logger/test/unit/logging-manager-tests.js132 this.bunyanLogger.debug.should.have.been.calledWith(this.logArgs)CODE
CRITICALlibraries/logger/test/unit/logging-manager-tests.js137 this.bunyanLogger.error.should.have.been.calledWith(this.logArgs)CODE
CRITICALlibraries/logger/test/unit/logging-manager-tests.js142 this.bunyanLogger.fatal.should.have.been.calledWith(this.logArgs)CODE
CRITICALlibraries/logger/test/unit/logging-manager-tests.js147 this.bunyanLogger.info.should.have.been.calledWith(this.logArgs)CODE
CRITICALlibraries/logger/test/unit/logging-manager-tests.js152 this.bunyanLogger.warn.should.have.been.calledWith(this.logArgs)CODE
CRITICALlibraries/logger/test/unit/logging-manager-tests.js157 this.bunyanLogger.error.should.have.been.calledWith(this.logArgs)CODE
CRITICAL…/object-persistor/test/unit/MigrationPersistorTests.js222 ).to.eventually.be.rejected.and.be.an.instanceOf(Errors.NotFoundError)CODE
CRITICAL…/object-persistor/test/unit/MigrationPersistorTests.js319 ).to.eventually.be.rejected.and.be.an.instanceOf(Errors.NotFoundError)CODE
CRITICALservices/clsi/test/unit/js/LatexRunner.test.js93 ctx.CommandRunner.run.should.have.been.calledWith(CODE
CRITICALservices/clsi/test/unit/js/LatexRunner.test.js117 ctx.fs.writeFile.should.have.been.calledWith(CODE
CRITICALservices/clsi/test/unit/js/LatexRunner.test.js122 ctx.fs.writeFile.should.have.been.calledWith(CODE
CRITICALservices/clsi/test/unit/js/LatexRunner.test.js127 ctx.fs.unlink.should.have.been.calledWith(CODE
CRITICALservices/clsi/test/unit/js/LatexRunner.test.js130 ctx.fs.unlink.should.have.been.calledWith(CODE
CRITICALservices/clsi/test/unit/js/LatexRunner.test.js154 ctx.CommandRunner.run.should.have.been.calledWith(ctx.project_id, [CODE
CRITICALservices/clsi/test/unit/js/LatexRunner.test.js244 ctx.CommandRunner.run.should.have.been.calledWith(ctx.project_id, [CODE
CRITICALservices/clsi/test/unit/js/ResourceWriter.test.js403 return ctx.Metrics.Timer.prototype.done.called.should.equal(true)CODE
CRITICALservices/clsi/test/unit/js/ResourceWriter.test.js507 return ctx.fs.writeFile.called.should.equal(false)CODE
CRITICALservices/clsi/test/unit/js/CompileController.test.js225 ctx.res.send.should.have.been.calledWith({CODE
CRITICALservices/clsi/test/unit/js/CompileController.test.js277 ctx.res.send.should.have.been.calledWith({CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js366 ctx.DockerRunner._runAndWaitForContainer.calledTwice.should.equal(true)CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js462 ctx.DockerRunner._getContainerOptions.called.should.equal(true)CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js488 ctx.DockerRunner._getContainerOptions.called.should.equal(false)CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js673 ctx.container.start.called.should.equal(true)CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js681 ctx.DockerRunner.attachToContainer.called.should.equal(true)CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js720 ctx.DockerRunner.attachToContainer.called.should.equal(true)CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js785 ctx.container.wait.called.should.equal(true)CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js811 ctx.container.wait.called.should.equal(true)CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js828 ctx.container.wait.called.should.equal(true)CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js860 ctx.container.kill.called.should.equal(true)CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js920 ctx.DockerRunner.destroyContainer.callCount.should.equal(1)CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js971 ctx.Docker.prototype.getContainer.callCount.should.equal(1)CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js984 ctx.fakeContainer.remove.callCount.should.equal(1)CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js997 ctx.fakeContainer.remove.callCount.should.equal(1)CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js1074 ctx.Docker.prototype.getContainer.callCount.should.equal(1)CODE
CRITICALservices/clsi/test/unit/js/DockerRunner.test.js1087 ctx.fakeContainer.kill.callCount.should.equal(1)CODE
CRITICALservices/clsi/test/unit/js/ResourceStateManager.test.js78 ctx.fs.writeFile.called.should.equal(false)CODE
CRITICAL…es/clsi/test/unit/js/ProjectPersistenceManager.test.js67 ctx.Metrics.gauge.should.have.been.calledWith(CODE
CRITICAL…es/clsi/test/unit/js/ProjectPersistenceManager.test.js88 ctx.Metrics.gauge.should.have.been.calledWith(CODE
CRITICAL…es/clsi/test/unit/js/ProjectPersistenceManager.test.js107 ctx.Metrics.gauge.should.have.been.calledWith(CODE
CRITICAL…es/clsi/test/unit/js/ProjectPersistenceManager.test.js175 ctx.HistoryResourceWriter.clearCacheCb.should.have.been.calledWith(CODE
CRITICALservices/clsi/test/acceptance/js/DeleteOldFilesTest.js29 this.body.compile.status.should.equal('success')CODE
CRITICALservices/clsi/test/acceptance/js/DeleteOldFilesTest.js39 this.body.compile.status.should.equal('failure')CODE
CRITICAL…rvices/clsi/test/acceptance/js/BrokenLatexFileTests.js43 this.body.compile.status.should.equal('failure')CODE
CRITICAL…rvices/clsi/test/acceptance/js/BrokenLatexFileTests.js73 this.body.compile.status.should.equal('failure')CODE
CRITICALservices/clsi/test/acceptance/js/ClearCache.js62 const outputFilePaths = this.compileResult.body.compile.outputFiles.map(CODE
CRITICALservices/clsi/test/acceptance/js/TimeoutTests.js30 this.body.compile.error.should.equal('container timed out')CODE
CRITICALservices/clsi/test/acceptance/js/TimeoutTests.js34 this.body.compile.status.should.equal('timedout')CODE
CRITICALservices/clsi/test/acceptance/js/StopCompile.js62 const outputFilePaths = this.compileResult.body.compile.outputFiles.map(CODE
CRITICAL…ter/test/unit/js/HttpController/HttpControllerTests.js765 this.DocumentManager.promises.acceptChangesWithLock.should.have.been.calledWith(CODE
CRITICAL…ter/test/unit/js/HttpController/HttpControllerTests.js773 this.res.status.should.have.been.calledWith(200)CODE
CRITICAL…ter/test/unit/js/HttpController/HttpControllerTests.js774 this.res.json.should.have.been.calledWith({CODE
CRITICAL…ter/test/unit/js/HttpController/HttpControllerTests.js126 this.DocumentManager.promises.getDocAndRecentOpsWithLock.should.have.been.calledWith(CODE
CRITICAL…ter/test/unit/js/HttpController/HttpControllerTests.js134 this.res.json.should.have.been.calledWith({CODE
CRITICAL…ter/test/unit/js/HttpController/HttpControllerTests.js160 this.Metrics.Timer.prototype.done.called.should.equal(true)CODE
CRITICAL…ter/test/unit/js/HttpController/HttpControllerTests.js180 this.DocumentManager.promises.getDocAndRecentOpsWithLock.should.have.been.calledWith(CODE
CRITICAL…ter/test/unit/js/HttpController/HttpControllerTests.js188 this.res.json.should.have.been.calledWith({CODE
CRITICAL…ter/test/unit/js/HttpController/HttpControllerTests.js214 this.Metrics.Timer.prototype.done.called.should.equal(true)CODE
CRITICAL…ter/test/unit/js/HttpController/HttpControllerTests.js234 this.DocumentManager.promises.getDocAndRecentOpsWithLock.should.have.been.calledWith(CODE
CRITICAL…ter/test/unit/js/HttpController/HttpControllerTests.js242 this.res.json.should.have.been.calledWith({CODE
CRITICAL…ter/test/unit/js/HttpController/HttpControllerTests.js255 this.Utils.addTrackedDeletesToContent.called.should.equal(true)CODE
282 more matches not shown…
Hyper-Verbose Identifiers365 hits · 372 pts
SeverityFileLineSnippetContext
LOWlibraries/metrics/initialize.js31function initializeOpenTelemetryInstrumentation() {CODE
LOWlibraries/metrics/initialize.js72function initializeOpenTelemetryLogging() {CODE
LOWlibraries/mongo-utils/batchedUpdate.js51function refreshGlobalOptionsForBatchedUpdate(options = {}) {CODE
LOWlibraries/mongo-utils/batchedUpdate.js296function batchedUpdateWithResultHandling(CODE
LOW…/overleaf-editor-core/test/unit/text_operation.test.js988function expectInverseToLeadToInitialState(fileData, operation) {CODE
LOWlibraries/overleaf-editor-core/lib/file_map.js344function checkNewPathnameDoesNotConflict(fileMap, pathname, ignoredPathname) {CODE
LOWlibraries/overleaf-editor-core/lib/file_map.js353function checkPathnamesDoNotConflict(fileMap) {CODE
LOW…rleaf-editor-core/lib/doc_updater_compatible_ranges.js16function getDocUpdaterCompatibleRanges(file) {CODE
LOWlibraries/overleaf-editor-core/lib/ot_client.js92 this.handleLocalOperation = function otClientHandleLocalOperation(CODE
LOW…s/overleaf-editor-core/lib/operation/text_operation.js849function calculateTrackingCommentSegments(CODE
LOWlibraries/overleaf-editor-core/lib/operation/index.js294function transformAddFileSetFileMetadata(add, set) {CODE
LOWlibraries/overleaf-editor-core/lib/operation/index.js328function transformMoveFileMoveFile(move1, move2) {CODE
LOWlibraries/overleaf-editor-core/lib/operation/index.js388function transformMoveFileEditFile(move, edit) {CODE
LOWlibraries/overleaf-editor-core/lib/operation/index.js408function transformMoveFileSetFileMetadata(move, set) {CODE
LOWlibraries/overleaf-editor-core/lib/operation/index.js426function transformEditFileEditFile(edit1, edit2) {CODE
LOWlibraries/overleaf-editor-core/lib/operation/index.js441function transformEditFileSetFileMetadata(edit, set) {CODE
LOWlibraries/overleaf-editor-core/lib/operation/index.js446function transformSetFileMetadatas(set1, set2) {CODE
LOW…af-editor-core/lib/operation/edit_operation_builder.js81function isRawDeleteCommentOperation(raw) {CODE
LOW…af-editor-core/lib/operation/edit_operation_builder.js89function isRawSetCommentStateOperation(raw) {CODE
LOWlibraries/redis-wrapper/RedisWebLocker.js68 function countIfExceededLockTimeout() {CODE
LOWlibraries/promise-utils/index.js280function promiseMapSettledWithLimit(concurrency, array, fn) {CODE
LOWlibraries/fetch-utils/index.js116async function fetchRedirectWithResponse(url, opts = {}) {CODE
LOWlibraries/validation-tools/handleValidationError.js4function createHandleValidationError(statusCode = 400) {CODE
LOW…s-token-encryptor/scripts/helpers/re-encrypt-tokens.js31async function reEncryptTokensInCollection({CODE
LOW…ies/eslint-plugin/require-cio-snake-case-properties.js21function getUpdateUserAttributesArg(node) {CODE
LOWserver-ce/hotfix/4.0.6/clean_sl_history_data.js13async function checkAllProjectsAreMigrated() {CODE
LOWserver-ce/hotfix/3.5.6/clean_sl_history_data.js11async function checkAllProjectsAreMigrated() {CODE
LOWserver-ce/hotfix/3.5.11/clean_sl_history_data.js13async function checkAllProjectsAreMigrated() {CODE
LOWserver-ce/test/filestore-migration.spec.ts53 function addNewBinaryFileAndCheckPrevious(CODE
LOWserver-ce/test/filestore-migration.spec.ts277 function ensureStopOnFirstErrorIsActive() {CODE
LOWserver-ce/test/sandboxed-compiles.spec.ts231 function checkRecompilesAfterErrors() {CODE
LOWserver-ce/test/editor.spec.ts45 function changeSpellCheckLanguageTo(lng: string) {CODE
LOWserver-ce/test/project-sharing.spec.ts79 function expectContentReadOnlyAccess() {CODE
LOWserver-ce/test/project-sharing.spec.ts215 function expectRestrictedReadOnlyAccess() {CODE
LOWserver-ce/test/project-sharing.spec.ts222 function expectFullReadAndWriteAccess() {CODE
LOWserver-ce/test/project-sharing.spec.ts229 function expectAnonymousReadAndWriteAccess() {CODE
LOWserver-ce/test/project-sharing.spec.ts236 function expectProjectDashboardEntry() {CODE
LOWserver-ce/test/host-admin.js43function defaultDockerComposeOverride() {CODE
LOWserver-ce/test/host-admin.js57function readDockerComposeOverride() {CODE
LOWserver-ce/test/host-admin.js68function writeDockerComposeOverride(cfg) {CODE
LOWserver-ce/test/helpers/project.ts11export function redirectEditorUrlWithQueryParams(newEditor: boolean) {CODE
LOWserver-ce/test/helpers/project.ts84export function createProjectAndOpenInNewEditor(CODE
LOWserver-ce/test/helpers/project.ts129export function openProjectViaLinkSharingAsAnon(CODE
LOWserver-ce/test/helpers/project.ts144export function openProjectViaLinkSharingAsUser(CODE
LOWserver-ce/test/helpers/project.ts166export function openProjectViaInviteNotification(CODE
LOWserver-ce/test/helpers/project.ts231export function shareProjectByEmailAndAcceptInviteViaDash(CODE
LOWserver-ce/test/helpers/project.ts256export function shareProjectByEmailAndAcceptInviteViaEmail(CODE
LOWserver-ce/test/helpers/hostAdminClient.ts112export async function setMongoFeatureCompatibilityVersion(CODE
LOWserver-ce/test/helpers/login.ts83export function resetActivateUserRateLimit() {CODE
LOWserver-ce/test/helpers/login.ts87function handleActivateUserRateLimit() {CODE
LOWserver-ce/test/helpers/waitUntilScrollingFinished.ts1export function waitUntilScrollingFinished(selector: string, start = -1) {CODE
LOWserver-ce/test/helpers/compile.ts18export function prepareWaitForNextCompileSlot() {CODE
LOWserver-ce/test/helpers/compile.ts25 function waitForCompileRateLimitCoolOff() {CODE
LOWserver-ce/test/helpers/beforeWithReRunOnTestRetry.ts1export function beforeWithReRunOnTestRetry(fn: () => void | Promise<any>) {CODE
LOWservices/clsi/app/js/ConversionManager.js181async function convertLaTeXToDocumentInDirWithLock(CODE
LOWservices/clsi/app/js/ConversionManager.js200async function convertLaTeXToDocumentInDir(CODE
LOWservices/clsi/app/js/CompileController.js16function timeSinceLastSuccessfulCompile() {CODE
LOWservices/clsi/app/js/HistoryResourceWriter.js142async function loadSnapshotFromClsiCache(CODE
LOWservices/clsi/app/js/HistoryResourceWriter.js356function changesFromRawChangeOperations(raw) {CODE
LOWservices/clsi/app/js/CLSICacheHandler.js121function notifyCLSICacheAboutBuild({CODE
305 more matches not shown…
Fake / Example Data118 hits · 126 pts
SeverityFileLineSnippetContext
LOWserver-ce/test/filestore-migration.spec.ts32 const email = 'user@example.com'CODE
LOWserver-ce/test/sandboxed-compiles.spec.ts23 ensureUserExists({ email: 'user@example.com' })CODE
LOWserver-ce/test/sandboxed-compiles.spec.ts25 login('user@example.com')CODE
LOWserver-ce/test/sandboxed-compiles.spec.ts75 login('user@example.com')CODE
LOWserver-ce/test/sandboxed-compiles.spec.ts233 login('user@example.com')CODE
LOWserver-ce/test/sandboxed-compiles.spec.ts295 login('user@example.com')CODE
LOWserver-ce/test/sandboxed-compiles.spec.ts323 ensureUserExists({ email: 'user@example.com' })CODE
LOWserver-ce/test/sandboxed-compiles.spec.ts325 login('user@example.com')CODE
LOWserver-ce/test/sandboxed-compiles.spec.ts340 ensureUserExists({ email: 'user@example.com' })CODE
LOWserver-ce/test/sandboxed-compiles.spec.ts342 login('user@example.com')CODE
LOWserver-ce/test/learn-wiki.spec.ts9 const REGULAR_USER = 'user@example.com'CODE
LOWserver-ce/test/create-and-compile-project.spec.ts10const USER = 'user@example.com'CODE
LOWserver-ce/test/project-list.spec.ts7const REGULAR_USER = 'user@example.com'CODE
LOWserver-ce/test/upgrading.spec.ts8const USER = 'user@example.com'CODE
LOWserver-ce/test/editor.spec.ts15const USER = 'user@example.com'CODE
LOWserver-ce/test/history.spec.ts9 ensureUserExists({ email: 'user@example.com' })CODE
LOWserver-ce/test/history.spec.ts11 login('user@example.com')CODE
LOWserver-ce/test/accounts.spec.ts7 ensureUserExists({ email: 'user@example.com' })CODE
LOWserver-ce/test/accounts.spec.ts10 login('user@example.com')CODE
LOWserver-ce/test/git-bridge.spec.ts18const USER = 'user@example.com'CODE
LOWserver-ce/test/templates.spec.ts10const ADMIN_USER = 'admin@example.com'CODE
LOWserver-ce/test/templates.spec.ts11const REGULAR_USER = 'user@example.com'CODE
LOWserver-ce/test/admin.spec.ts83 const admin = 'admin@example.com'CODE
LOWserver-ce/test/admin.spec.ts100 const admin = 'admin@example.com'CODE
LOWserver-ce/test/admin.spec.ts101 const user1 = 'user@example.com'CODE
LOWserver-ce/test/project-sharing.spec.ts25 ensureUserExists({ email: 'user@example.com' })CODE
LOWserver-ce/test/project-sharing.spec.ts57 login('user@example.com')CODE
LOWserver-ce/test/project-sharing.spec.ts256 login('user@example.com')CODE
LOWserver-ce/test/project-sharing.spec.ts276 login('user@example.com')CODE
LOWserver-ce/test/project-sharing.spec.ts298 login('user@example.com')CODE
LOWserver-ce/test/project-sharing.spec.ts477 login('user@example.com')CODE
LOWserver-ce/test/project-sharing.spec.ts514 login('user@example.com')CODE
LOWserver-ce/test/graceful-shutdown.spec.ts11const USER = 'user@example.com'CODE
LOW…ices/web/frontend/stories/word-count-modal.stories.tsx28 'Lorem ipsum dolor sit amet.',CODE
LOW…ices/web/frontend/stories/word-count-modal.stories.tsx28 'Lorem ipsum dolor sit amet.',CODE
LOW…es/web/frontend/stories/settings/sso-alert.stories.tsx25 'user@example.com'CODE
LOW…rontend/stories/project-list/notifications.stories.tsx168 inviterName: 'John Doe',CODE
LOW…rontend/stories/project-list/notifications.stories.tsx185 inviterName: 'John Doe',CODE
LOW…s/web/frontend/stories/file-view/file-view.stories.jsx18 text: `Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore mCODE
LOW…s/web/frontend/stories/file-view/file-view.stories.jsx18 text: `Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore mCODE
LOW…s/web/frontend/stories/shared/autocomplete.stories.tsx275 'placeholder',CODE
LOW…s/web/frontend/stories/shared/notification.stories.tsx97 <b>Lorem ipsum</b>CODE
LOW…s/web/frontend/stories/shared/notification.stories.tsx100 Dolor sit amet, consectetur adipiscing elit. Proin lacus velit,CODE
LOW…s/web/frontend/stories/shared/notification.stories.tsx125 <b>Lorem ipsum</b>CODE
LOW…s/web/frontend/stories/shared/notification.stories.tsx128 Dolor sit amet, consectetur adipiscing elit. Proin lacus velit,CODE
LOW…s/web/frontend/stories/shared/notification.stories.tsx151 <b>Lorem ipsum</b>CODE
LOW…s/web/frontend/stories/shared/notification.stories.tsx154 Dolor sit amet, consectetur adipiscing elit. Proin lacus velit,CODE
LOW…s/web/frontend/stories/shared/notification.stories.tsx178 <b>Lorem ipsum</b>CODE
LOW…s/web/frontend/stories/shared/notification.stories.tsx181 Dolor sit amet, consectetur adipiscing elit. Proin lacus velit,CODE
LOW…s/web/frontend/stories/shared/notification.stories.tsx202 content={<p>Lorem ipsum</p>}CODE
LOW…s/web/frontend/stories/shared/notification.stories.tsx209 <Notification {...args} action={undefined} content={<p>Lorem ipsum</p>} />CODE
LOW…s/web/frontend/stories/shared/notification.stories.tsx218 content={<p>Lorem ipsum</p>}CODE
LOW…s/web/frontend/stories/shared/notification.stories.tsx227 content={<p>Lorem ipsum</p>}CODE
LOW…s/web/frontend/stories/shared/notification.stories.tsx237 content={<p>Lorem ipsum</p>}CODE
LOW…s/web/frontend/stories/shared/notification.stories.tsx283 content={<p>Lorem ipsum</p>}CODE
LOW…frontend/stories/shared/ds/ds-form-control.stories.tsx45 'placeholder',CODE
LOW…st/frontend/features/settings/components/root.test.tsx11 window.metaAttributesCache.set('ol-usersEmail', 'foo@bar.com')CODE
LOW…nd/features/settings/components/leave-section.test.tsx13 window.metaAttributesCache.set('ol-usersEmail', 'foo@bar.com')CODE
LOW…features/settings/components/emails/sso-alert.test.tsx38 'user@example.com'CODE
LOW…features/settings/components/emails/sso-alert.test.tsx48 'user@example.com'CODE
58 more matches not shown…
AI Response Leakage22 hits · 110 pts
SeverityFileLineSnippetContext
HIGH…c/ic/wlgitbridge/WLGitBridgeIntegrationTest/state.json66 "content": "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\usepackagCODE
HIGH…c/ic/wlgitbridge/WLGitBridgeIntegrationTest/state.json66 "content": "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\usepackagCODE
HIGH…c/ic/wlgitbridge/WLGitBridgeIntegrationTest/state.json85 "content": "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\usepackagCODE
HIGH…c/ic/wlgitbridge/WLGitBridgeIntegrationTest/state.json85 "content": "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\usepackagCODE
HIGH…c/ic/wlgitbridge/WLGitBridgeIntegrationTest/state.json104 "content": "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\usepackagCODE
HIGH…c/ic/wlgitbridge/WLGitBridgeIntegrationTest/state.json104 "content": "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\usepackagCODE
HIGH…c/ic/wlgitbridge/WLGitBridgeIntegrationTest/state.json123 "content": "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\usepackagCODE
HIGH…c/ic/wlgitbridge/WLGitBridgeIntegrationTest/state.json123 "content": "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\usepackagCODE
HIGH…c/ic/wlgitbridge/WLGitBridgeIntegrationTest/state.json142 "content": "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\usepackagCODE
HIGH…c/ic/wlgitbridge/WLGitBridgeIntegrationTest/state.json142 "content": "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\usepackagCODE
HIGH…c/ic/wlgitbridge/WLGitBridgeIntegrationTest/state.json161 "content": "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\usepackagCODE
HIGH…bridge/snapshot/servermock/state/SnapshotAPIState.java112 "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\uCODE
HIGH…bridge/snapshot/servermock/state/SnapshotAPIState.java112 "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\uCODE
HIGH…bridge/snapshot/servermock/state/SnapshotAPIState.java127 "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\uCODE
HIGH…bridge/snapshot/servermock/state/SnapshotAPIState.java127 "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\uCODE
HIGH…bridge/snapshot/servermock/state/SnapshotAPIState.java142 "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\uCODE
HIGH…bridge/snapshot/servermock/state/SnapshotAPIState.java142 "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\uCODE
HIGH…bridge/snapshot/servermock/state/SnapshotAPIState.java157 "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\uCODE
HIGH…bridge/snapshot/servermock/state/SnapshotAPIState.java157 "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\uCODE
HIGH…bridge/snapshot/servermock/state/SnapshotAPIState.java172 "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\uCODE
HIGH…bridge/snapshot/servermock/state/SnapshotAPIState.java172 "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\uCODE
HIGH…bridge/snapshot/servermock/state/SnapshotAPIState.java187 "\\\\documentclass[a4paper]{article}\\n\\n\\\\usepackage[english]{babel}\\n\\\\uCODE
Over-Commented Block61 hits · 61 pts
SeverityFileLineSnippetContext
LOWdocker-compose.yml41 # Disables email confirmation requirementCOMMENT
LOWdocker-compose.yml61 # OVERLEAF_EMAIL_SMTP_PORT: 587COMMENT
LOWdocker-compose.yml81 ## Sandboxed Compiles: https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/server-pro-only-configCOMMENT
LOWdocker-compose.yml141 # settings. We recommend using a properly managed nginx instance outside of the Overleaf Server Pro setup,COMMENT
LOWlibraries/overleaf-editor-core/lib/safe_pathname.js21const BAD_FILE_RX = /(^\.$)|(^\.\.$)|(^\s+)|(\s+$)/gCOMMENT
LOWlibraries/overleaf-editor-core/lib/operation/index.js301 return [add, set]COMMENT
LOWlibraries/object-persistor/src/MigrationPersistor.js1const AbstractPersistor = require('./AbstractPersistor')COMMENT
LOWlibraries/eslint-plugin/french-typography-in-locales.js1// French typographic spacing rules for JSON string values.COMMENT
LOWserver-ce/config/settings.js61 // ---------COMMENT
LOWservices/clsi/app/js/ResourceStateManager.js1import Path from 'node:path'COMMENT
LOWservices/chat/docker-compose.ci.yml61 # Required when using the automatic database setup for initializing theCOMMENT
LOW…/ic/wlgitbridge/bridge/swap/store/S3SwapStoreTest.java21 s3 = null;COMMENT
LOW…bridge/snapshot/servermock/state/SnapshotAPIState.java221 new HashMap<String, SnapshotPostbackRequest>() {COMMENT
LOW…ain/java/uk/ac/ic/wlgitbridge/server/Oauth2Filter.java101 Log.debug("[{}] username is 'git', skipping password grant flow", projectId);COMMENT
LOW…s/features/pdf-preview/components/log-entry-header.tsx81 function checkLocationSpanOverflow(observedElement: ResizeObserverEntry) {COMMENT
LOW…res/source-editor/extensions/changes/reject-changes.ts21COMMENT
LOW…res/source-editor/extensions/changes/reject-changes.ts41 //COMMENT
LOW…res/source-editor/extensions/changes/reject-changes.ts61 //COMMENT
LOW…/js/features/source-editor/languages/latex/snippets.ts1// 1. Convert from Ace `$1` to CodeMirror numbered placeholder format `${1}` or `#{1}` in snippets.COMMENT
LOW…editor/languages/latex/linter/errors-to-diagnostics.ts61 continueCOMMENT
LOW…e-editor/languages/latex/linter/latex-linter.worker.ts721 // math mode on(=true) orCOMMENT
LOW…e-editor/languages/latex/linter/latex-linter.worker.ts1581 ) {COMMENT
LOW…/frontend/js/features/source-editor/commands/ranges.ts121COMMENT
LOW…/features/ide-react/editor/share-js-history-ot-type.ts81 // Do not provide invert, only needed for reverting a rejected update.COMMENT
LOW…/frontend/js/features/ide-react/editor/share-js-doc.ts421 // This can be cleared when hard reloading the document in whichCOMMENT
LOW…es/web/frontend/js/features/history/utils/file-tree.ts101}COMMENT
LOWservices/web/frontend/js/shared/components/select.tsx61 items: T[]COMMENT
LOWservices/web/frontend/stylesheets/pages/cms.scss161 padding-top: 0;COMMENT
LOWservices/web/frontend/stylesheets/pages/cms.scss181 // background-color: @ol-blue-gray-5;COMMENT
LOWservices/web/frontend/stylesheets/pages/content.scss21 */COMMENT
LOW…res/source-editor/languages/latex/latex-linter.test.ts541 // \renewcommand...COMMENT
LOW…res/source-editor/languages/latex/latex-linter.test.ts561 // ]COMMENT
LOW…tor/components/codemirror-editor-autocomplete.spec.tsx101 cy.get('@line').type(' \\')COMMENT
LOW…tor/components/codemirror-editor-autocomplete.spec.tsx121COMMENT
LOWservices/web/config/settings.defaults.js161 ),COMMENT
LOWservices/web/config/settings.defaults.js181 // {host: '127.0.0.1', port: 7005}COMMENT
LOWservices/web/config/settings.defaults.js661 cookieName: process.env.DEVICE_HISTORY_COOKIE_NAME || 'deviceHistory',COMMENT
LOWservices/web/config/settings.defaults.js781 // - text ranges spanning the whole docCOMMENT
LOWservices/web/config/settings.defaults.js801 // Automatic SnapshotsCOMMENT
LOWservices/document-updater/app/js/RangesManager.js361 // Tracked delete is at the same position as the op.COMMENT
LOWservices/document-updater/app/js/DeleteQueueManager.js21// Maintain a sorted set of project flushAndDelete requests, ordered by timestampCOMMENT
LOW…rvices/document-updater/app/js/sharejs/types/simple.js1// TODO: This file was created by bulk-decaffeinate.COMMENT
LOW…ces/document-updater/app/js/sharejs/types/syncqueue.js1// TODO: This file was created by bulk-decaffeinate.COMMENT
LOW…ices/document-updater/app/js/sharejs/types/text-tp2.js21// A document is made up of a string and a set of tombstones inserted throughoutCOMMENT
LOWservices/document-updater/app/js/sharejs/types/model.js21//COMMENT
LOWservices/document-updater/app/js/sharejs/types/model.js61 // ops:[{op, meta}]COMMENT
LOWservices/document-updater/app/js/sharejs/types/model.js81 // flush it from the cache.COMMENT
LOWservices/document-updater/app/js/sharejs/types/model.js601 }COMMENT
LOWservices/document-updater/app/js/sharejs/types/model.js741 : undefinedCOMMENT
LOWservices/document-updater/app/js/sharejs/types/text.js21// {d:'str', p:100}: Delete 'str' at position 100 in the documentCOMMENT
LOW…es/document-updater/app/js/sharejs/server/syncqueue.js1// TODO: This file was created by bulk-decaffeinate.COMMENT
LOW…rvices/document-updater/app/js/sharejs/server/model.js61 //COMMENT
LOW…rvices/document-updater/app/js/sharejs/server/model.js81 // open. I don't know if I should keep open (but not being edited) documents live -COMMENT
LOW…rvices/document-updater/app/js/sharejs/server/model.js621 // Each op returned is in the form {op:o, meta:m, v:version}.COMMENT
LOW…rvices/document-updater/app/js/sharejs/server/model.js761 //COMMENT
LOWservices/filestore/app/js/FileHandler.js121 errCOMMENT
LOW…ces/project-history/app/js/SummarizedUpdatesManager.js21 //COMMENT
LOWservices/project-history/app/js/SyncManager.js41const EXPIRE_RESYNC_HISTORY_INTERVAL_MS = 90 * 24 * 3600 * 1000 // 90 daysCOMMENT
LOWservices/project-history/app/js/UpdateTranslator.js261 pathname = pathname.replace(/^\//, '')COMMENT
LOWservices/project-history/app/js/BlobManager.js21) {COMMENT
1 more matches not shown…
Verbosity Indicators10 hits · 20 pts
SeverityFileLineSnippetContext
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2777 // Step 1: Start a resyncCOMMENT
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2780 // Step 2: Push resyncProjectStructure update (lists docs to sync)COMMENT
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2797 // Step 3: Flush — processes structure update, adds /main.tex to resyncDocContentsCOMMENT
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2801 // Step 4: Verify the sync state is stuckCOMMENT
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2811 // Step 5: Push a normal text update (simulating a user edit)COMMENT
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2824 // Step 6: Flush again — the text update should be silently skippedCOMMENT
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2828 // Step 7: Verify the sync state is STILL stuck (text update was skipped)COMMENT
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2842 // Step 8: Verify a normal resync FAILS because sync is "ongoing"COMMENT
LOWservices/history-v1/storage/scripts/recover_zip.js124 // We need to check if the file contains nonBmp or null charactersCOMMENT
LOWservices/history-v1/storage/lib/blob_store/index.js118 // We need to check if the file contains nonBmp or null charactersCOMMENT
Structural Annotation Overuse8 hits · 17 pts
SeverityFileLineSnippetContext
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2777 // Step 1: Start a resyncCOMMENT
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2780 // Step 2: Push resyncProjectStructure update (lists docs to sync)COMMENT
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2797 // Step 3: Flush — processes structure update, adds /main.tex to resyncDocContentsCOMMENT
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2801 // Step 4: Verify the sync state is stuckCOMMENT
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2811 // Step 5: Push a normal text update (simulating a user edit)COMMENT
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2824 // Step 6: Flush again — the text update should be silently skippedCOMMENT
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2828 // Step 7: Verify the sync state is STILL stuck (text update was skipped)COMMENT
LOW…rvices/project-history/test/acceptance/js/SyncTests.js2842 // Step 8: Verify a normal resync FAILS because sync is "ongoing"COMMENT
Decorative Section Separators4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMservices/web/frontend/stylesheets/pages/plans-2026.scss99 // ─── Plan cards ──────────────────────────────────────────────────────────────COMMENT
MEDIUMservices/web/frontend/stylesheets/pages/plans-2026.scss475 // ─── Organization logos ────────────────────────────────────────────────────────COMMENT
MEDIUMservices/web/frontend/stylesheets/pages/plans-2026.scss493 // ─── Feature comparison table ──────────────────────────────────────────────COMMENT
MEDIUMservices/web/frontend/stylesheets/pages/plans-2026.scss803 // ─── Quotes and FAQs section────────────────────────────────────────────────COMMENT
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGH…s/redis-wrapper/test/scripts/cluster/create-cluster.sh62# scale up as requestedCOMMENT
TODO Padding2 hits · 3 pts
SeverityFileLineSnippetContext
LOW…tor/components/codemirror-editor-figure-modal.spec.tsx700 // TODO: Add tests for replacing image when we can match on image pathCOMMENT
LOW…tor/components/codemirror-editor-figure-modal.spec.tsx701 // TODO: Add tests for changing image size when we can match on figure widthCOMMENT
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM…rvices/document-updater/app/js/sharejs/types/simple.js10// Its mostly included for demonstration purposes and its used in a lot of unit tests.COMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMservices/document-updater/app/js/sharejs/types/text.js164 // http://perfectionkills.com/instanceof-considered-harmful-or-how-to-write-a-robust-isarray/COMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWservices/web/types/utils.ts35 * // Usage example:COMMENT
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWlibraries/metrics/leaked_sockets.js23function handleRequest({ request: req }) {CODE