AI Slop Code Risk Monitor

wikimedia/mediawiki

SlopCodeMonitor badge for wikimedia/mediawiki Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

🌻 The collaborative editing software that runs Wikipedia. Mirror from https://gerrit.wikimedia.org/g/mediawiki/core. See https://mediawiki.org/wiki/Developer_access for contributing.

3.3 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for wikimedia/mediawiki, a PHP project with 5,221 GitHub stars. SynthScan examined 2,805,869 lines of code across 11157 source files, recording 6914 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 3.3 (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.3
Adjusted Signal
3.3
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
5.2K
Stars
PHP
Language
2.8M
Lines of Code
11.2K
Files
6.9K
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 10.8/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 3.8/100 · LOW

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

Agent Over-Engineering Ratio 11.3/100 · LOW

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

PR Review Velocity Impact 15.5/100 · LOW

Which changes need focused human review? 6914 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 196HIGH 135MEDIUM 54LOW 6529

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 6914 distinct pattern matches across 20 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.

Hyper-Verbose Identifiers5986 hits · 6002 pts
SeverityFileLineSnippetContext
LOWresources/lib/vue-test-utils/vue-test-utils.browser.js1358 function getOriginalComponentFromStub(stub) {CODE
LOW⚡resources/lib/vue-test-utils/vue-test-utils.browser.js1395 function isLegacyExtendedComponent(component) {CODE
LOW⚡resources/lib/vue-test-utils/vue-test-utils.browser.js1402 function unwrapLegacyVueExtendComponent(selector) {CODE
LOW⚡resources/lib/vue-test-utils/vue-test-utils.browser.js1405 function isLegacyFunctionalComponent(component) {CODE
LOWresources/lib/vue-test-utils/vue-test-utils.browser.js2963 function requireTemplatablepattern () {CODE
LOWresources/lib/vue-test-utils/vue-test-utils.browser.js7518 function captureDevtoolsVueComponentEmitEvent(eventType, payload) {CODE
LOWresources/lib/vue-test-utils/vue-test-utils.browser.js7960 function createStubComponentsTransformer(_a) {CODE
LOWresources/lib/vue-test-utils/vue-test-utils.browser.js8037 function createStubDirectivesTransformer(_a) {CODE
LOWresources/lib/vue-compiler-dom/compiler-dom.global.js461 function createConditionalExpression(test, consequent, alternate, newline = true) {CODE
LOWresources/lib/vue-compiler-dom/compiler-dom.global.js505 function createAssignmentExpression(left, right) {CODE
LOWresources/lib/vue-compiler-dom/compiler-dom.global.js1636 function isInDestructureAssignment(parent, parentStack) {CODE
LOWresources/lib/vue-compiler-dom/compiler-dom.global.js1878 function advancePositionWithMutation(pos, source, numberOfCharacters = source.length) {CODE
LOWresources/lib/vue-compiler-dom/compiler-dom.global.js3096 function getConstantTypeOfHelperCall(value, context) {CODE
LOWresources/lib/vue-compiler-dom/compiler-dom.global.js3107 function getGeneratedPropsConstantType(node, context) {CODE
LOWresources/lib/vue-compiler-dom/compiler-dom.global.js3421 function createStructuralDirectiveTransform(name, fn) {CODE
LOWresources/lib/vue-compiler-dom/compiler-dom.global.js3805 function genExpressionAsPropertyKey(node, context) {CODE
LOWresources/lib/vue-compiler-dom/compiler-dom.global.js4031 function validateBrowserExpression(node, context, asParams = false, asRawStatements = false) {CODE
LOWresources/lib/vue-compiler-dom/compiler-dom.global.js4223 function createCodegenNodeForBranch(branch, keyIndex, context) {CODE
LOWresources/lib/vue-compiler-dom/compiler-dom.global.js4239 function createChildrenCodegenNode(branch, keyIndex, context) {CODE
LOWresources/lib/vue-compiler-dom/compiler-dom.global.js5342 function stringifyDynamicPropNames(props) {CODE
LOWresources/lib/qunitjs/qunit.js614 function readFlatPreconfigStringOrBoolean(val, dest) {CODE
LOWresources/lib/qunitjs/qunit.js619 function readFlatPreconfigStringArray(val, dest) {CODE
LOWresources/lib/qunitjs/qunit.js1701 function validateExpectedExceptionArgs(expected, message, assertionMethod) {CODE
LOWresources/lib/qunitjs/qunit.js2173 function createRegisterCallbackFunction(key) {CODE
LOWresources/lib/qunitjs/qunit.js4995 prepareNextBeginningIndexes: function prepareNextBeginningIndexes(target) {CODE
LOWresources/lib/qunitjs/qunit.js7137 function lastTestWithinModuleExecuted(module) {CODE
LOWresources/lib/moment/moment.js537 function replaceLongDateFormatTokens(input) {CODE
LOWresources/lib/moment/moment.js2811 function configFromStringAndFormat(config) {CODE
LOWresources/lib/moment/moment.js3484 function isDaylightSavingTimeShifted() {CODE
LOWresources/lib/moment/moment.js3610 function positiveMomentsDifference(base, other) {CODE
LOWresources/lib/moment/moment.js5454 function getSetRelativeTimeRounding(roundingFunction) {CODE
LOWresources/lib/moment/moment.js5466 function getSetRelativeTimeThreshold(threshold, limit) {CODE
LOWresources/lib/moment/locale/lb.js46 function eifelerRegelAppliesToNumber(number) {CODE
LOWresources/lib/ooui/oojs-ui-widgets.js32OO.ui.mixin.DraggableElement = function OoUiMixinDraggableElement( config ) {CODE
LOWresources/lib/ooui/oojs-ui-widgets.js262OO.ui.mixin.DraggableGroupElement = function OoUiMixinDraggableGroupElement( config ) {CODE
LOWresources/lib/ooui/oojs-ui-widgets.js3234OO.ui.OutlineControlsWidget = function OoUiOutlineControlsWidget( outline, config ) {CODE
LOWresources/lib/ooui/oojs-ui-widgets.js3881OO.ui.ButtonMenuSelectWidget = function OoUiButtonMenuSelectWidget( config ) {CODE
LOWresources/lib/ooui/oojs-ui-widgets.js5193OO.ui.PopupTagMultiselectWidget = function OoUiPopupTagMultiselectWidget( config ) {CODE
LOWresources/lib/ooui/oojs-ui-widgets.js5353OO.ui.MenuTagMultiselectWidget = function OoUiMenuTagMultiselectWidget( config ) {CODE
LOW⚡resources/lib/ooui/oojs-ui-widgets.js.map.json1{"version":3,"sources":["../src/intro.js.txt","../src/mixins/DraggableElement.js","../src/mixins/DraggableGroupElement.jCODE
LOWresources/lib/ooui/oojs-ui-core.js2056OO.ui.mixin.TabIndexedElement = function OoUiMixinTabIndexedElement( config ) {CODE
LOWresources/lib/ooui/oojs-ui-core.js3272OO.ui.mixin.IndicatorElement = function OoUiMixinIndicatorElement( config ) {CODE
LOWresources/lib/ooui/oojs-ui-core.js3769OO.ui.mixin.AccessKeyedElement = function OoUiMixinAccessKeyedElement( config ) {CODE
LOWresources/lib/ooui/oojs-ui-core.js5114OO.ui.mixin.FloatableElement = function OoUiMixinFloatableElement( config ) {CODE
LOWresources/lib/ooui/oojs-ui-core.js5548OO.ui.mixin.ClippableElement = function OoUiMixinClippableElement( config ) {CODE
LOWresources/lib/ooui/oojs-ui-core.js8332OO.ui.DecoratedOptionWidget = function OoUiDecoratedOptionWidget( config ) {CODE
LOWresources/lib/ooui/oojs-ui-core.js8432OO.ui.MenuSectionOptionWidget = function OoUiMenuSectionOptionWidget( config ) {CODE
LOWresources/lib/ooui/oojs-ui-core.js9615OO.ui.CheckboxMultioptionWidget = function OoUiCheckboxMultioptionWidget( config ) {CODE
LOWresources/lib/ooui/oojs-ui-core.js9738OO.ui.CheckboxMultiselectWidget = function OoUiCheckboxMultiselectWidget( config ) {CODE
LOWresources/lib/ooui/oojs-ui-core.js11147OO.ui.RadioSelectInputWidget = function OoUiRadioSelectInputWidget( config ) {CODE
LOWresources/lib/ooui/oojs-ui-core.js11326OO.ui.CheckboxMultiselectInputWidget = function OoUiCheckboxMultiselectInputWidget( config ) {CODE
LOWresources/lib/ooui/oojs-ui-core.js12327OO.ui.MultilineTextInputWidget = function OoUiMultilineTextInputWidget( config ) {CODE
LOWresources/lib/ooui/oojs-ui-core.js14219OO.ui.SelectFileInputWidget = function OoUiSelectFileInputWidget( config ) {CODE
LOWresources/lib/vue/vue.global.js1746 function createInstrumentationGetter(isReadonly2, shallow) {CODE
LOWresources/lib/vue/vue.global.js2598 function callWithAsyncErrorHandling(fn, instance, type, args) {CODE
LOWresources/lib/vue/vue.global.js3041 function createDevtoolsComponentHook(hook) {CODE
LOWresources/lib/vue/vue.global.js3054 function createDevtoolsPerformanceHook(hook) {CODE
LOWresources/lib/vue/vue.global.js3071 function setCurrentRenderingInstance(instance) {CODE
LOWresources/lib/vue/vue.global.js4950 function elementIsVisibleInViewport(el) {CODE
LOWresources/lib/vue/vue.global.js5971 function exposePropsOnRenderContext(instance) {CODE
5926 more matches not shown…
Hallucination Indicators196 hits · 1825 pts
SeverityFileLineSnippetContext
CRITICALresources/lib/oojs/oojs.js1645 OO.Factory.super.prototype.register.call( this, key, constructor );CODE
CRITICALresources/lib/oojs/oojs.js1663 OO.Factory.super.prototype.unregister.call( this, key );CODE
CRITICALresources/lib/ooui/oojs-ui-wikimediaui.js46 classes = OO.ui.WikimediaUITheme.super.prototype.getElementClasses.call( this, element );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js971 OO.ui.TextInputWidget.prototype.setReadOnly.call( this, readOnly );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js1463 OO.ui.mixin.GroupElement.prototype.addItems.call( this, items, index );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js1495 OO.ui.mixin.GroupElement.prototype.removeItems.call( this, itemsToRemove );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js1520 OO.ui.mixin.GroupElement.prototype.clearItems.call( this );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js1558 return OO.ui.StackLayout.super.prototype.resetScroll.call( this );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js2437 OO.ui.BookletLayout.super.prototype.resetScroll.call( this );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js3200 OO.ui.ToggleButtonWidget.super.prototype.setValue.call( this, value );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js3212 OO.ui.mixin.ButtonElement.prototype.setButtonElement.call( this, $button );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js3616 OO.ui.ButtonOptionWidget.super.prototype.setSelected.call( this, state );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js3742 return OO.ui.TabOptionWidget.super.prototype.scrollElementIntoView.call( this );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js3748 return OO.ui.TabOptionWidget.super.prototype.scrollElementIntoView.call( this, Object.assign(CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js4726 OO.ui.TagMultiselectWidget.super.prototype.setDisabled.call( this, isDisabled );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js5308 OO.ui.PopupTagMultiselectWidget.super.prototype.onTagSelect.call( this, item );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js5454 OO.ui.MenuTagMultiselectWidget.super.prototype.onInputFocus.call( this );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js5532 OO.ui.MenuTagMultiselectWidget.super.prototype.onTagSelect.call( this, tagItem );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js5541 OO.ui.MenuTagMultiselectWidget.super.prototype.removeItems.call( this, items );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js5596 OO.ui.MenuTagMultiselectWidget.super.prototype.onChangeTags.call( this );CODE
CRITICALresources/lib/ooui/oojs-ui-widgets.js5608 OO.ui.MenuTagMultiselectWidget.super.prototype.setDisabled.call( this, isDisabled );CODE
CRITICAL⚡resources/lib/ooui/oojs-ui-widgets.js.map.json1{"version":3,"sources":["../src/intro.js.txt","../src/mixins/DraggableElement.js","../src/mixins/DraggableGroupElement.jCODE
CRITICALresources/lib/ooui/oojs-ui-wikimediaui.js.map.json1{"version":3,"sources":["../src/intro.js.txt","../src/themes/wikimediaui/WikimediaUITheme.js","../src/outro.js.txt"],"naCODE
CRITICALresources/lib/ooui/oojs-ui-windows.js.map.json1{"version":3,"sources":["../src/intro.js.txt","../src/widgets/ActionWidget.js","../src/ActionSet.js","../src/Error.js","CODE
CRITICALresources/lib/ooui/oojs-ui-toolbars.js.map.json1{"version":3,"sources":["../src/intro.js.txt","../src/Toolbar.js","../src/Tool.js","../src/ToolGroup.js","../src/ToolFacCODE
CRITICALresources/lib/ooui/oojs-ui-core.js4926 OO.ui.ToggleSwitchWidget.super.prototype.setValue.call( this, value );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js6330 OO.ui.PopupWidget.super.prototype.toggle.call( this, show );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js6551 const parentPosition = OO.ui.mixin.FloatableElement.prototype.computePosition.call( this );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js6888 OO.ui.Widget.prototype.setDisabled.call( this, disabled );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js6942 OO.ui.Element.prototype.setElementGroup.call( this, group );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js8229 OO.ui.mixin.GroupWidget.prototype.addItems.call( this, items, index );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js8254 OO.ui.mixin.GroupWidget.prototype.removeItems.call( this, items );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js8274 OO.ui.mixin.GroupWidget.prototype.clearItems.call( this );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js8630 OO.ui.MenuSelectWidget.super.prototype.onDocumentKeyDown.call( this, e );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js8650 OO.ui.MenuSelectWidget.super.prototype.onDocumentKeyDown.call( this, e );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js8663 return OO.ui.MenuSelectWidget.super.prototype.onDocumentKeyDown.call( this, e );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js8749 OO.ui.MenuSelectWidget.super.prototype.bindDocumentKeyDownListener.call( this );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js8760 OO.ui.MenuSelectWidget.super.prototype.unbindDocumentKeyDownListener.call( this );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js8781 OO.ui.MenuSelectWidget.super.prototype.bindDocumentKeyPressListener.call( this );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js8798 OO.ui.MenuSelectWidget.super.prototype.unbindDocumentKeyPressListener.call( this );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js8817 OO.ui.MenuSelectWidget.super.prototype.chooseItem.call( this, item );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js8833 OO.ui.MenuSelectWidget.super.prototype.addItems.call( this, items, index );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js8845 OO.ui.MenuSelectWidget.super.prototype.removeItems.call( this, items );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js8857 OO.ui.MenuSelectWidget.super.prototype.clearItems.call( this );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js8913 OO.ui.MenuSelectWidget.super.prototype.toggle.call( this, visible );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js9317 OO.ui.RadioOptionWidget.super.prototype.setSelected.call( this, state );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js9331 OO.ui.RadioOptionWidget.super.prototype.setDisabled.call( this, disabled );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js9662 OO.ui.CheckboxMultioptionWidget.super.prototype.setSelected.call( this, state );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js9671 OO.ui.CheckboxMultioptionWidget.super.prototype.setDisabled.call( this, disabled );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js10067 config = OO.ui.InputWidget.super.static.reusePreInfuseDOM( node, config );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js10079 const state = OO.ui.InputWidget.super.static.gatherPreInfuseState( node, config );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js10212 OO.ui.InputWidget.super.prototype.setDisabled.call( this, state );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js10235 OO.ui.InputWidget.super.prototype.restorePreInfuseState.call( this, state );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js10406 return OO.ui.mixin.LabelElement.prototype.setLabel.call( this, label );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js10421 OO.ui.ButtonInputWidget.super.prototype.setValue.call( this, value );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js10535 const state = OO.ui.CheckboxInputWidget.super.static.gatherPreInfuseState( node, config );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js10658 OO.ui.CheckboxInputWidget.super.prototype.restorePreInfuseState.call( this, state );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js10784 OO.ui.DropdownInputWidget.super.prototype.setValue.call( this, value );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js10798 OO.ui.DropdownInputWidget.super.prototype.setDisabled.call( this, state );CODE
CRITICALresources/lib/ooui/oojs-ui-core.js11046 const state = OO.ui.RadioInputWidget.super.static.gatherPreInfuseState( node, config );CODE
136 more matches not shown…
Cross-File Repetition124 hits · 620 pts
SeverityFileLineSnippetContext
HIGHlanguages/i18n/bcc.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/hif-latn.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/bgn.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/grc.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/ky.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/ml.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/rm.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/sgs.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/tl.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/roa-tara.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/mzn.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/ne.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/gu.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/si.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/lki.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/eu.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/as.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/bcl.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/lrc.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/ie.json0<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:file.png|200px|thumb|left|alt text]]</nowiki></code>STRING
HIGHlanguages/i18n/bcc.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/ps.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/prg.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/hif-latn.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/bgn.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/crh-latn.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/bpy.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/grc.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/vec.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/ce.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/lus.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/nap.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/gsw.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/ky.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/lij.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/ur.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/ckb.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/az.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/rm.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/sgs.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/yi.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/it.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/crh-cyrl.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/tl.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/roa-tara.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/mzn.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/ne.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/gu.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/si.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/lki.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/eu.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/tt-latn.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/te.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/as.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/nds.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/th.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/bcl.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/lrc.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/ie.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
HIGHlanguages/i18n/sc.json0<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:file.ogg]]</nowiki></code>STRING
64 more matches not shown…
Fake / Example Data283 hits · 312 pts
SeverityFileLineSnippetContext
LOWresources/lib/ooui/History.md3983* OutlineOptionWidget: Don't apply italics to "placeholder" status (James D. Forrester)COMMENT
LOWresources/lib/ooui/oojs-ui-widgets.js4367 this.inputPlaceholder = this.input.$input.attr( 'placeholder' );CODE
LOWresources/lib/ooui/oojs-ui-widgets.js4703 this.input.$input.attr( 'placeholder', isUnderLimit ? this.inputPlaceholder : '' );CODE
LOWresources/lib/ooui/oojs-ui-widgets.js5056 const placeholder = this.input.$input.attr( 'placeholder' );CODE
LOW⚡resources/lib/ooui/oojs-ui-widgets.js.map.json1{"version":3,"sources":["../src/intro.js.txt","../src/mixins/DraggableElement.js","../src/mixins/DraggableGroupElement.jCODE
LOWresources/lib/ooui/oojs-ui-core.js11650 this.$input.attr( 'placeholder', config.placeholder );CODE
LOWresources/lib/codex/CHANGELOG.md2740- docs, Thumbnail: Update "placeholder" language (Anne Tomasevich)CODE
LOW…/src/mediawiki.special.block/components/PagesField.vue14 :placeholder="placeholder"CODE
LOW⚡resources/src/mediawiki.base/mediawiki.base.js34 * obj = mw.message( 'hello-user', 'John Doe' );COMMENT
LOW⚡resources/src/mediawiki.base/mediawiki.base.js38 * obj = mw.message( 'welcome-user', 'John Doe', 'Wikipedia', '2 hours ago' );COMMENT
LOW⚡resources/src/mediawiki.base/mediawiki.base.js43 * str = mw.msg( 'hello-user', 'John Doe' );COMMENT
LOW…es/src/mediawiki.languageselector/LanguageSelector.vue14 :placeholder="placeholder"CODE
LOWresources/src/mediawiki.util/util.js892 * mw.util.validateEmail( "me@example.org" ) === true;COMMENT
LOW⚡tests/api-testing/REST/Update.js178 const firstRev = await mindy.edit( title, { text: 'first line\nlorem ipsum\nsecond line' } );CODE
LOW⚡tests/api-testing/REST/Update.js179 await mindy.edit( title, { text: 'FIRST LINE\nlorem ipsum\nsecond line' } );CODE
LOW⚡tests/api-testing/REST/Update.js183 source: 'first line\nlorem ipsum\nSECOND LINE',CODE
LOWtests/api-testing/REST/Update.js194 const expectedText = 'FIRST LINE\nlorem ipsum\nSECOND LINE';CODE
LOW⚡tests/parser/parserTests.txt540<nowiki>Lorem ipsum dolorCODE
LOW⚡tests/parser/parserTests.txt548<p>Lorem ipsum dolorCODE
LOW⚡tests/parser/parserTests.txt557<p><span typeof="mw:Nowiki">Lorem ipsum dolorCODE
LOW…unit/unit/includes/Widget/LanguageSelectWidgetTest.php82 'placeholder' => 'test-placeholder',CODE
LOW⚡tests/phpunit/unit/includes/Mail/UserMailerTest.php194 'single recipient' => [ [ 'alice@example.org' ], 'example.org' ],CODE
LOW⚡tests/phpunit/unit/includes/Mail/UserMailerTest.php196 [ 'alice@example.org', 'bob@gmail.com' ],CODE
LOW⚡tests/phpunit/unit/includes/Mail/UserMailerTest.php200 [ 'alice@example.org', 'carol@example.org' ],CODE
LOW⚡tests/phpunit/unit/includes/Mail/UserMailerTest.php229 [ 'alice@example.org' ],CODE
LOW⚡tests/phpunit/unit/includes/Mail/UserMailerTest.php232 'to' => 'alice@example.org',CODE
LOW⚡tests/phpunit/unit/includes/Mail/UserMailerTest.php239 [ 'alice@example.org', 'bob@gmail.com' ],CODE
LOW⚡tests/phpunit/unit/includes/Mail/UserMailerTest.php242 'to' => 'alice@example.org',CODE
LOW…il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php32 string $email = 'user@example.com',CODE
LOW⚡…il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php49 yield 'banner config disabled' => [ false, true, true, 'user@example.com', false, false, false ];CODE
LOW⚡…il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php50 yield 'email auth disabled' => [ true, false, true, 'user@example.com', false, false, false ];CODE
LOW⚡…il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php51 yield 'non-named user' => [ true, true, false, 'user@example.com', false, false, false ];CODE
LOW⚡…il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php53 yield 'email already confirmed' => [ true, true, true, 'user@example.com', true, false, false ];CODE
LOW⚡…il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php54 yield 'on ConfirmEmail page' => [ true, true, true, 'user@example.com', false, true, false ];CODE
LOW⚡…il/ConfirmEmail/EmailConfirmationBannerHandlerTest.php55 yield 'all conditions met' => [ true, true, true, 'user@example.com', false, false, true ];CODE
LOW⚡tests/phpunit/unit/includes/Utils/UrlUtilsProviders.php459 'mailto:id@example.org',CODE
LOW⚡tests/phpunit/unit/includes/Utils/UrlUtilsProviders.php464 'path' => 'id@example.org',CODE
LOW⚡tests/phpunit/unit/includes/Utils/UrlUtilsProviders.php473 'path' => 'id@example.org',CODE
LOWtests/phpunit/unit/includes/libs/StringUtilsTest.php149 $result = preg_replace( '/(placeholder)/', $escaped, 'placeholder' );CODE
LOW…nit/unit/includes/Exception/MWExceptionHandlerTest.php121 new NormalizedException( '{placeholder}', [ 'placeholder' => 'message' ] )CODE
LOW…nit/unit/includes/Revision/RevisionStoreRecordTest.php39 $main = SlotRecord::newUnsaved( SlotRecord::MAIN, new DummyContentForTesting( 'Lorem Ipsum' ) );CODE
LOW…nit/includes/Revision/RevisionStoreCacheRecordTest.php36 $main = SlotRecord::newUnsaved( SlotRecord::MAIN, new DummyContentForTesting( 'Lorem Ipsum' ) );CODE
LOW…t/unit/includes/Revision/MutableRevisionRecordTest.php65 $record->setContent( SlotRecord::MAIN, new DummyContentForTesting( 'Lorem Ipsum' ) );CODE
LOW…t/unit/includes/Revision/RevisionArchiveRecordTest.php42 $main = SlotRecord::newUnsaved( SlotRecord::MAIN, new DummyContentForTesting( 'Lorem Ipsum' ) );CODE
LOWtests/phpunit/unit/includes/Revision/SlotRecordTest.php159 yield [ 'Lorem ipsum', 'hcr5u40uxr81d3nx89nvwzclfz6r9c5' ];CODE
LOW…sts/phpunit/unit/includes/Rest/Handler/HandlerTest.php875 'source' => 'Lorem Ipsum',CODE
LOW…sts/phpunit/unit/includes/Rest/Handler/HandlerTest.php892 'source' => 'Lorem Ipsum',CODE
LOW…punit/unit/includes/Rest/Handler/SearchHandlerTest.php154 string $textSnippet = 'Lorem Ipsum',CODE
LOW…punit/unit/includes/Rest/Handler/SearchHandlerTest.php582 $mockRedirectLinkTarget->method( 'getFragment' )->willReturn( 'Lorem Ipsum' );CODE
LOW…punit/unit/includes/Rest/Handler/SearchHandlerTest.php606 $this->assertSame( 'Lorem Ipsum', $data['pages'][0]['anchor'] );CODE
LOW…t/integration/includes/Linker/UserLinkRendererTest.php331 'Jane Doe',CODE
LOW⚡…nit/integration/includes/User/UserConfirmEmailTest.php16 $user->setEmail( 'test@example.org' );CODE
LOW⚡…nit/integration/includes/User/UserConfirmEmailTest.php31 $user->setEmail( 'test@example.org' );CODE
LOW…nit/integration/includes/User/UserConfirmEmailTest.php58 $user->setEmail( 'test@example.org' );CODE
LOW…gration/includes/Parser/SanitizerValidateEmailTest.php15 yield 'normal #1' => [ 'user@example.com' ];CODE
LOW…gration/includes/Parser/SanitizerValidateEmailTest.php27 yield 'with hythen #1' => [ "user-foo@example.org" ];CODE
LOW…gration/includes/Parser/SanitizerValidateEmailTest.php55 yield 'invalid comma #1' => [ "user,foo@example.org" ];CODE
LOW…includes/Parser/Parsoid/HtmlToContentTransformTest.php182 $text = 'Lorem Ipsum';CODE
LOW…includes/Parser/Parsoid/HtmlToContentTransformTest.php194 $text = 'Lorem Ipsum';CODE
LOW…includes/Parser/Parsoid/HtmlToContentTransformTest.php207 $text = 'Lorem Ipsum';CODE
223 more matches not shown…
Over-Commented Block202 hits · 197 pts
SeverityFileLineSnippetContext
LOWresources/lib/foreign-resources.yaml1# ## Format of this fileCOMMENT
LOWresources/lib/foreign-resources.yaml21# already formatted in YAML, ready for copying to this file.COMMENT
LOWresources/lib/foreign-resources.yaml41#COMMENT
LOWresources/lib/foreign-resources.yaml61# integrity: sha384-Je+NE+saisQuoiCOMMENT
LOWresources/lib/foreign-resources.yaml81#COMMENT
LOWresources/lib/foreign-resources.yaml101# package/dist/style/*.css: themesCOMMENT
LOWresources/lib/pako/pako_deflate.js1COMMENT
LOWresources/lib/pako/pako_deflate.js1201 //COMMENT
LOWresources/lib/pako/pako_deflate.js1241COMMENT
LOWresources/lib/pako/pako_deflate.js1301 var crc32_1 = crc32;COMMENT
LOWresources/lib/pako/pako_deflate.js1341 // Permission is granted to anyone to use this software for any purpose,COMMENT
LOWresources/lib/pako/pako_deflate.js1401 // (C) 1995-2013 Jean-loup Gailly and Mark AdlerCOMMENT
LOWresources/lib/pako/pako_deflate.js1841 */COMMENT
LOWresources/lib/vue-test-utils/vue-test-utils.browser.js1341COMMENT
LOWresources/lib/vue-test-utils/vue-test-utils.browser.js4261 // (c || d));COMMENT
LOWresources/lib/vue-test-utils/vue-test-utils.browser.js7921 return function () {COMMENT
LOWresources/lib/vue-test-utils/vue-test-utils.browser.js8221 // this must be done after `createApp`: https://github.com/vuejs/test-utils/issues/436COMMENT
LOWresources/lib/qunitjs/qunit.js121 // they may intentionally test their project with and without certainCOMMENT
LOWresources/lib/qunitjs/qunit.js541 // Semi-internal state.COMMENT
LOWresources/lib/qunitjs/qunit.js561 // To set global hooks, use `QUnit.hooks` instead.COMMENT
LOWresources/lib/qunitjs/qunit.js1041 // Define maps a and b to be equivalent if for each key-value pair (aKey, aVal)COMMENT
LOWresources/lib/qunitjs/qunit.js1181 while (i > 0) {COMMENT
LOWresources/lib/qunitjs/qunit.js1201 // > @/dist/vendor.jsCOMMENT
LOWresources/lib/qunitjs/qunit.js4121 // Support IE 9-11: Use isFinite instead of ES6 Number.isFiniteCOMMENT
LOWresources/lib/qunitjs/qunit.js5221 moduleId: undefined,COMMENT
LOWresources/lib/qunitjs/qunit.js6181 // As for `todo` module, all its tests will be treated as `todo` except forCOMMENT
LOWresources/lib/qunitjs/qunit.js6941 // * x74: DEL.COMMENT
LOWresources/lib/qunitjs/qunit.js6961 // This way each test name will hash to a unique testId with Rerun link,COMMENT
LOWresources/lib/qunitjs/qunit.js7301 // only create new property for user-defined QUnit.config.urlConfig keysCOMMENT
LOWresources/lib/qunitjs/qunit.js7381COMMENT
LOWresources/lib/qunitjs/qunit.js7401 QUnit.reporters.html.init(QUnit);COMMENT
LOWresources/lib/qunitjs/qunit.js7481 // Support: require('qunit').QUnitCOMMENT
LOWresources/lib/moment/moment.js3361 }COMMENT
LOWresources/lib/ooui/wikimedia-ui-base.less301// DEPRECATED TOKENSCOMMENT
LOWresources/lib/jquery/jquery.js881COMMENT
LOWresources/lib/jquery/jquery.js1021 */COMMENT
LOWresources/lib/jquery/jquery.js1161 // Support: IE 9 onlyCOMMENT
LOWresources/lib/jquery/jquery.js1301 // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+COMMENT
LOWresources/lib/jquery/jquery.js2461COMMENT
LOWresources/lib/jquery/jquery.js4041 // 1. No key was specifiedCOMMENT
LOWresources/lib/jquery/jquery.js5381 // If this is a native event triggered above, everything is now in orderCOMMENT
LOWresources/lib/jquery/jquery.js5641 delegateType: delegateTypeCOMMENT
LOWresources/lib/jquery/jquery.js6421 // Support: Firefox 51+COMMENT
LOWresources/lib/jquery/jquery.js6441 // disconnected elements. However, in IE even disconnected elementsCOMMENT
LOWresources/lib/jquery/jquery.js10661COMMENT
LOWresources/lib/codex/codex.js6081 });COMMENT
LOWresources/lib/codex/codex.js6101 });COMMENT
LOWresources/lib/codex/mixins/css-icon.less1@import ( reference ) '@wikimedia/codex-icons/codex-icon-paths.less';COMMENT
LOWresources/lib/codex/mixins/css-icon.less81// This sets min-width, min-height, width, and height for a square icon.COMMENT
LOWresources/lib/codex/mixins/css-icon.less121}COMMENT
LOWresources/lib/codex/mixins/css-icon.less181//COMMENT
LOWresources/lib/codex/mixins/css-icon.less261// Create a square, standalone CSS icon.COMMENT
LOWresources/lib/codex/mixins/link.less1// Link StylesCOMMENT
LOWresources/lib/codex/mixins/link.less21// &.custom-underlined-class {COMMENT
LOWresources/lib/codex/mixins/button-layout-flush.less1//COMMENT
LOWresources/lib/codex/mixins/wip/grid.less1// Grid Layout SystemCOMMENT
LOWresources/lib/codex/mixins/wip/grid.less21// }COMMENT
LOWresources/lib/codex/mixins/wip/grid.less101}COMMENT
LOWresources/lib/codex/mixins/wip/grid.less121// // On desktop: columns 1-6 (spans first 6 columns)COMMENT
LOWresources/lib/url/URL.js61 }COMMENT
142 more matches not shown…
Decorative Section Separators31 hits · 93 pts
SeverityFileLineSnippetContext
MEDIUMtests/parser/wtEscaping.txt40#### ----------------------------------------------------------------COMMENT
MEDIUMtests/parser/wtEscaping.txt50#### ----------------------------------------------------------------COMMENT
MEDIUMtests/parser/wtEscaping.txt61#### ----------------------------------------COMMENT
MEDIUMtests/parser/wtEscaping.txt370#### ----------------------------------------COMMENT
MEDIUMtests/parser/wtEscaping.txt569#### -----------------------------------COMMENT
MEDIUMtests/parser/wtEscaping.txt602#### --------------------------------------COMMENT
MEDIUMtests/parser/wtEscaping.txt1036#### --------------------------------------COMMENT
MEDIUMtests/parser/wtEscaping.txt1435#### --------------------------------------COMMENT
MEDIUMtests/parser/wtEscaping.txt1552#### --------------------------------------COMMENT
MEDIUMtests/parser/wtEscaping.txt1822#### -----------------------------------------COMMENT
MEDIUMtests/parser/wikiLinks.txt11# -------------------COMMENT
MEDIUMtests/parser/wikiLinks.txt13# -------------------COMMENT
MEDIUMtests/parser/wikiLinks.txt207# -----------COMMENT
MEDIUMtests/parser/wikiLinks.txt209# -----------COMMENT
MEDIUMtests/parser/parserTests.txt813#--------------------------------------------------------------------COMMENT
MEDIUMtests/parser/parserTests.txt816#--------------------------------------------------------------------COMMENT
MEDIUMtests/parser/parserTests.txt1055#--------------------------------------------------------------------COMMENT
MEDIUMtests/parser/parserTests.txt1057#--------------------------------------------------------------------COMMENT
MEDIUMtests/parser/parserTests.txt2005# ------------------------------------------------------------------------COMMENT
MEDIUMtests/parser/parserTests.txt2008# ------------------------------------------------------------------------COMMENT
MEDIUMtests/parser/parserTests.txt8984#### ----------------------------------------------------------------COMMENT
MEDIUMtests/parser/parserTests.txt8988#### ----------------------------------------------------------------COMMENT
MEDIUMtests/phpunit/includes/Page/WikiPageDbTest.php312 # ------------------------COMMENT
MEDIUMtests/phpunit/includes/Page/WikiPageDbTest.php323 # ------------------------COMMENT
MEDIUMtests/phpunit/includes/Page/WikiPageDbTest.php329 # ------------------------COMMENT
MEDIUMtests/phpunit/includes/Page/WikiPageDbTest.php343 # ------------------------COMMENT
MEDIUMtests/phpunit/includes/Page/WikiPageDbTest.php370 # ------------------------COMMENT
MEDIUMtests/phpunit/includes/Page/WikiPageDbTest.php378 # ------------------------COMMENT
MEDIUMtests/phpunit/includes/Page/WikiPageDbTest.php492 # ------------------------COMMENT
MEDIUMlanguages/messages/MessagesKk_arab.php374# -------------------------------------------------------------------COMMENT
MEDIUMlanguages/messages/MessagesKk_arab.php376# -------------------------------------------------------------------COMMENT
Synthetic Comment Markers6 hits · 45 pts
SeverityFileLineSnippetContext
HIGHresources/lib/jquery.ui/jquery.ui.datepicker.js1192 // Format a name, short or long as requestedCOMMENT
HIGHresources/lib/vue-router/vue-router.global.js3694 // history entry and trigger a new navigation as requested by theCOMMENT
HIGHtests/qunit/resources/mediawiki.jqueryMsg.test.js667 // Tests that {{-transformation vs. general parsing are done as requestedCOMMENT
HIGH…/MediaSearch/mediawiki.widgets.APIResultsQueue.test.js131 // * The queue returned 10 results as requestedCOMMENT
HIGHincludes/Specials/SpecialWatchlistLabels.php377 // Sort by count by default, and others as requested.COMMENT
HIGHincludes/Api/ApiOpenSearchFormatJson.php29 // Ignore warnings or treat as errors, as requestedCOMMENT
AI Slop Vocabulary17 hits · 40 pts
SeverityFileLineSnippetContext
MEDIUMresources/lib/qunitjs/qunit.js6972 // This also has the benefit of being stable and robust against e.g.COMMENT
MEDIUMresources/lib/ooui/oojs-ui-widgets.js5516 // but in our case, we want to utilize the menu selection behavior, andCOMMENT
MEDIUM⚡resources/lib/ooui/oojs-ui-widgets.js.map.json1{"version":3,"sources":["../src/intro.js.txt","../src/mixins/DraggableElement.js","../src/mixins/DraggableGroupElement.jCODE
MEDIUM⚡resources/lib/ooui/oojs-ui-widgets.js.map.json1{"version":3,"sources":["../src/intro.js.txt","../src/mixins/DraggableElement.js","../src/mixins/DraggableGroupElement.jCODE
MEDIUMresources/lib/jquery/jquery.js10665// understands anonymous AMD modules. A named AMD is safest and most robustCOMMENT
MEDIUMresources/lib/vuex/vuex.global.js157 // use computed to leverage its lazy-caching mechanismCOMMENT
LOWresources/src/mediawiki.String.js60 // String#slice will simply return a shorter (or empty) substring.COMMENT
MEDIUMincludes/Page/ImagePage.php199 # Yet we return metadata about the target. Definitely an issue in the FileRepoCOMMENT
LOWincludes/Category/CategoryViewer.php546 # and have already been retrieved. We can just use $rescnt in thatCOMMENT
LOWincludes/Language/LanguageNameUtils.php226 # - For other names just add if not added through the hookCOMMENT
LOWincludes/Parser/Parser.php5762 # Strip bad stuff out of the title (tooltip). We can't just useCOMMENT
LOWincludes/Parser/Parser.php6198 # so just use the current user's nameCOMMENT
LOWincludes/Parser/Parser.php6222 # so just use the parser input size, because the own substitutionCOMMENT
MEDIUMincludes/Installer/i18n/pt.json314 "config-install-success": "O MediaWiki foi instalado. Já pode visitar <$1$2> para ver a sua wiki.\nSe tiver dúvidas, veCODE
MEDIUMincludes/Installer/i18n/pt-br.json320 "config-install-success": "O MediaWiki foi instalado. Já pode visitar <$1$2> para ver a sua wiki.\nSe tiver dúvidas, veCODE
MEDIUMincludes/JobQueue/Jobs/AssembleUploadChunksJob.php187 // To be extra robust.COMMENT
MEDIUMincludes/Media/FormatMetadata.php629 // Essentially like iimCategory.COMMENT
Self-Referential Comments10 hits · 28 pts
SeverityFileLineSnippetContext
MEDIUMincludes/Linker/Linker.php425 # Create a resized image, without the additional thumbnail featuresCOMMENT
MEDIUMincludes/Specials/SpecialFileDuplicateSearch.php96 # Create the input formCOMMENT
MEDIUMincludes/Specials/SpecialLog.php335 # Create a LogPager item to get the results and a LogEventsList item to format them...COMMENT
MEDIUMincludes/Parser/Parser.php4442 # Create the anchor for linking from the TOC to the sectionCOMMENT
MEDIUMincludes/Installer/Task/SqliteCreateDatabaseTask.php54 # Create the l10n cache DBCOMMENT
MEDIUMincludes/Installer/Task/SqliteCreateDatabaseTask.php75 # Create the job queue DBCOMMENT
MEDIUMincludes/RecentChanges/RecentChangeNotifier.php161 # The following code is only run, if several conditions are met:COMMENT
MEDIUMdocs/config-schema.yaml1# This file is automatically generated using maintenance/generateConfigSchema.php.COMMENT
MEDIUMmaintenance/generateConfigSchema.php313 $header = "# This file is automatically generated using maintenance/generateConfigSchema.php.\n";CODE
MEDIUMmaintenance/mergeMessageFileList.php193 "## This file is generated by mergeMessageFileList.php. Do not edit it directly.\n\n" .CODE
Verbosity Indicators14 hits · 21 pts
SeverityFileLineSnippetContext
LOW…sources/src/mediawiki.rcfilters/dm/FiltersViewModel.js149 // In our case, we need to check if the entire group conflicts withCOMMENT
LOW…/src/mediawiki.special.block/components/UserLookup.vue251 // Valid IP, we need to check if there's a valid rangeCOMMENT
LOWincludes/Auth/AuthManager.php512 // Step 1: Choose a primary authentication provider, and call it until it succeeds.COMMENT
LOWincludes/Auth/AuthManager.php737 // Step 2: Primary authentication succeeded, create the User objectCOMMENT
LOWincludes/Auth/AuthManager.php792 // Step 3: Iterate over all the secondary authentication providers.COMMENT
LOWincludes/Auth/AuthManager.php847 // Step 4: Authentication complete! Give hook handlers a chance to interrupt, thenCOMMENT
LOWincludes/Auth/AuthManager.php1585 // Step 0: Prepare and validate the inputCOMMENT
LOWincludes/Auth/AuthManager.php1755 // Step 1: Choose a primary authentication provider and call it until it succeeds.COMMENT
LOWincludes/Auth/AuthManager.php1876 // Step 2: Primary authentication succeeded. Give hook handlers a chance to interrupt,COMMENT
LOWincludes/Auth/AuthManager.php1944 // Step 3: Iterate over all the secondary authentication providers.COMMENT
LOWincludes/Auth/AuthManager.php2557 // Step 0: Prepare and validate the inputCOMMENT
LOWincludes/Auth/AuthManager.php2610 // Step 1: Call the primary again until it succeedsCOMMENT
LOWmaintenance/includes/TextPassDumper.php547 // Step 1: Get some text (or reuse from previous iteratuon if checkingCOMMENT
LOWmaintenance/includes/TextPassDumper.php600 // Step 2: Checking for plausibility and return the text if it isCOMMENT
Structural Annotation Overuse12 hits · 18 pts
SeverityFileLineSnippetContext
LOWincludes/Auth/AuthManager.php512 // Step 1: Choose a primary authentication provider, and call it until it succeeds.COMMENT
LOWincludes/Auth/AuthManager.php737 // Step 2: Primary authentication succeeded, create the User objectCOMMENT
LOWincludes/Auth/AuthManager.php792 // Step 3: Iterate over all the secondary authentication providers.COMMENT
LOWincludes/Auth/AuthManager.php847 // Step 4: Authentication complete! Give hook handlers a chance to interrupt, thenCOMMENT
LOWincludes/Auth/AuthManager.php1585 // Step 0: Prepare and validate the inputCOMMENT
LOWincludes/Auth/AuthManager.php1755 // Step 1: Choose a primary authentication provider and call it until it succeeds.COMMENT
LOWincludes/Auth/AuthManager.php1876 // Step 2: Primary authentication succeeded. Give hook handlers a chance to interrupt,COMMENT
LOWincludes/Auth/AuthManager.php1944 // Step 3: Iterate over all the secondary authentication providers.COMMENT
LOWincludes/Auth/AuthManager.php2557 // Step 0: Prepare and validate the inputCOMMENT
LOWincludes/Auth/AuthManager.php2610 // Step 1: Call the primary again until it succeedsCOMMENT
LOWmaintenance/includes/TextPassDumper.php547 // Step 1: Get some text (or reuse from previous iteratuon if checkingCOMMENT
LOWmaintenance/includes/TextPassDumper.php600 // Step 2: Checking for plausibility and return the text if it isCOMMENT
Cross-Language Confusion (JS/TS)2 hits · 15 pts
SeverityFileLineSnippetContext
HIGHresources/lib/vue-test-utils/vue-test-utils.browser.js1908 // but still return True as though you hadCOMMENT
HIGHresources/src/mediawiki.base/log.js19 * @return {boolean|undefined} return.return True if the caller was not seen before.COMMENT
Slop Phrases9 hits · 15 pts
SeverityFileLineSnippetContext
LOW…sources/src/mediawiki.page.gallery.styles/gallery.less6/* Don't forget to update gallery.print.css */COMMENT
MEDIUM…sts/phpunit/unit/includes/Api/ApiModuleManagerTest.php34 // actually used is a UserFactory, for demonstration purposesCOMMENT
LOWincludes/ServiceWiring.php368 // NOTE: When adding a service here, don't forget to add a getter functionCOMMENT
LOWincludes/Installer/LocalSettingsGenerator.php326 * and their default values, but don't forget to make changes in _this_COMMENT
MEDIUMincludes/Installer/LocalSettingsGenerator.php438{$groupRights}{$noFollow}## Default skin: you can change the default skin. Use the internal symbolicCODE
LOWincludes/HTMLForm/HTMLFormField.php461 * field input. Don't forget to call parent::validate() to ensureCOMMENT
LOWincludes/Logging/LogEventsList.php1041 // Don't forget to also update the method documentationCOMMENT
LOWincludes/Pager/IndexPager.php61 * getQueryInfo() and getIndexField(). Don't forget to call the parentCOMMENT
LOWdocs/export-demo.xml69 <!-- * Don't forget to decode character entities! -->CODE
Redundant / Tautological Comments10 hits · 15 pts
SeverityFileLineSnippetContext
LOWincludes/Specials/SpecialRecentChanges.php305 # Check if the page has been updated since the last visitCOMMENT
LOWincludes/Diff/DifferenceEngine.php792 # Check if one of the revisions is deleted/suppressedCOMMENT
LOWincludes/Language/Language.php1569 # Check if the year is a leap yearCOMMENT
LOWincludes/Language/Language.php1623 # Check if leap yearCOMMENT
LOWincludes/Language/Language.php3882 # Check if there is no need to truncateCOMMENT
LOWincludes/Language/Language.php3969 # Check if there is clearly no need to truncateCOMMENT
LOWincludes/Parser/Preprocessor_Hash.php627 # Add it to the stackCOMMENT
LOWincludes/Parser/Parser.php5471 # Check if the options text is of the form "options|alt text"COMMENT
LOWincludes/Parser/LinkHolderArray.php163 # Check if it's a static known link, e.g. interwikiCOMMENT
LOWincludes/Import/WikiRevision.php667 # Check if it exists alreadyCOMMENT
AI Response Leakage2 hits · 12 pts
SeverityFileLineSnippetContext
HIGHresources/lib/ooui/oojs-ui-windows.js.map.json1{"version":3,"sources":["../src/intro.js.txt","../src/widgets/ActionWidget.js","../src/ActionSet.js","../src/Error.js","CODE
HIGH…/mediawiki.skinning.typeaheadSearch/instrumentation.js90 // In this implementation of the mediawiki.searchSuggestion protocol, we don't want toCOMMENT
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHmaintenance/language/zhtable/Makefile.py202except:CODE
Example Usage Blocks3 hits · 4 pts
SeverityFileLineSnippetContext
LOWresources/lib/codex/mixins/link.less16// Example usage:COMMENT
LOWresources/lib/codex/mixins/wip/grid.less12// Example usage:COMMENT
LOWresources/lib/codex/mixins/wip/grid.less118// Example usage:COMMENT
TODO Padding3 hits · 4 pts
SeverityFileLineSnippetContext
LOWincludes/Rest/Handler/ModuleSpecHandler.php58 // TODO: implement caching, get cache key from Router.COMMENT
LOWincludes/Pager/ContributionsPager.php1075 // TODO: Handle exceptions in the catch block above. Do any extensions rely onCOMMENT
LOWincludes/FileRepo/File/OldLocalFile.php350 // TODO: implement this and make it possible to hit it from refreshImageMetadata.phpCOMMENT
Deep Nesting2 hits · 2 pts
SeverityFileLineSnippetContext
LOWmaintenance/language/zhtable/Makefile.py83CODE
LOWmaintenance/language/zhtable/Makefile.py131CODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWresources/lib/jquery/jquery.js4139function getData( data ) {CODE