AI Slop Code Risk Monitor

ampproject/amphtml

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

The AMP web component framework.

3.0 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for ampproject/amphtml, a JavaScript project with 14,907 GitHub stars. SynthScan examined 1,066,863 lines of code across 5902 source files, recording 2363 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 3.0 (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.0
Adjusted Signal
3.0
Raw Pattern Score
100%
Time Factor
2026-10-20
Last Push
14.9K
Stars
JavaScript
Language
1.1M
Lines of Code
5.9K
Files
2.4K
Pattern Hits
2026-10-31
Scan Date
0.01
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 3.6/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 10.5/100 · LOW

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

Agent Over-Engineering Ratio 2.8/100 · LOW

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

PR Review Velocity Impact 12.5/100 · LOW

Which changes need focused human review? 2363 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 30HIGH 35MEDIUM 19LOW 2279

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

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

Fake / Example Data1540 hits · 1791 pts
SeverityFileLineSnippetContext
LOWvalidator/testdata/feature_tests/video-json-ld.html11 <title>Lorem Ipsum</title>CODE
LOW⚡validator/testdata/feature_tests/everything.html147 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt.CODE
LOW⚡validator/testdata/feature_tests/everything.html147 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt.CODE
LOW⚡validator/testdata/feature_tests/everything.html152 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt.CODE
LOW⚡validator/testdata/feature_tests/everything.html152 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt.CODE
LOW⚡validator/testdata/feature_tests/everything.html250 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id CODE
LOW⚡validator/testdata/feature_tests/everything.html250 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id CODE
LOW⚡validator/testdata/feature_tests/everything.html256 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id CODE
LOW⚡validator/testdata/feature_tests/everything.html256 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id CODE
LOW⚡validator/testdata/feature_tests/everything.html262 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id CODE
LOW⚡validator/testdata/feature_tests/everything.html262 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id CODE
LOW⚡validator/testdata/feature_tests/everything.html273 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id CODE
LOW⚡validator/testdata/feature_tests/everything.html273 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id CODE
LOW⚡validator/testdata/feature_tests/everything.html274 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id CODE
LOW⚡validator/testdata/feature_tests/everything.html274 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id CODE
LOW⚡validator/testdata/feature_tests/everything.html275 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id CODE
LOW⚡validator/testdata/feature_tests/everything.html275 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id CODE
LOW⚡validator/testdata/feature_tests/everything.html308 Lorem ipsum dolor sit amet.CODE
LOW⚡validator/testdata/feature_tests/everything.html308 Lorem ipsum dolor sit amet.CODE
LOW⚡validator/testdata/feature_tests/everything.html317 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id neCODE
LOW⚡validator/testdata/feature_tests/everything.html317 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id neCODE
LOW⚡validator/testdata/feature_tests/everything.html321 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id neCODE
LOW⚡validator/testdata/feature_tests/everything.html321 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id neCODE
LOWvalidator/testdata/feature_tests/everything.html233 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id CODE
LOWvalidator/testdata/feature_tests/everything.html233 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id CODE
LOWvalidator/testdata/feature_tests/everything.html333 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id neCODE
LOWvalidator/testdata/feature_tests/everything.html333 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id neCODE
LOWvalidator/testdata/feature_tests/everything.html358 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id neCODE
LOWvalidator/testdata/feature_tests/everything.html358 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id neCODE
LOWvalidator/testdata/feature_tests/everything.html390 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id neCODE
LOWvalidator/testdata/feature_tests/everything.html390 Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id neCODE
LOWvalidator/testdata/feature_tests/review-microdata.html11 <title>Lorem Ipsum</title>CODE
LOWvalidator/testdata/feature_tests/recipe-json-ld.html11 <title>Lorem Ipsum</title>CODE
LOWvalidator/testdata/feature_tests/old-boilerplate.html16 "Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."CODE
LOWvalidator/testdata/feature_tests/old-boilerplate.html16 "Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."CODE
LOWvalidator/testdata/feature_tests/recipe-microdata.html11 <title>Lorem Ipsum</title>CODE
LOWvalidator/testdata/feature_tests/article.html5 <title>Lorem Ipsum | PublisherName</title>CODE
LOWvalidator/testdata/feature_tests/article.html316 <h1 itemprop="headline">Lorem Ipsum</h1>CODE
LOW⚡validator/testdata/feature_tests/article.html331 itemprop="author"><b>Lorem Ipsum</b>CODE
LOW⚡validator/testdata/feature_tests/article.html340 Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOW⚡validator/testdata/feature_tests/article.html340 Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOWvalidator/testdata/feature_tests/video-microdata.html11 <title>Lorem Ipsum</title>CODE
LOWvalidator/testdata/feature_tests/review-json-ld.html11 <title>Lorem Ipsum</title>CODE
LOWvalidator/testdata/feature_tests/article-microdata.html11 <title>Lorem Ipsum</title>CODE
LOWvalidator/testdata/feature_tests/article-microdata.html48 <h1 itemprop="headline">Lorem Ipsum</h1>CODE
LOW⚡validator/testdata/feature_tests/article-microdata.html65 <amp-img src="http://cdn.ampproject.org/leader.jpg" alt="Lorem Ipsum?" height="2000" width="800"></amp-img>CODE
LOW⚡validator/testdata/feature_tests/article-microdata.html70 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer necCODE
LOW⚡validator/testdata/feature_tests/article-microdata.html70 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer necCODE
LOWvalidator/testdata/feature_tests/article-json-ld.html11 <title>Lorem Ipsum</title>CODE
LOWvalidator/testdata/feature_tests/article-json-ld.html60 "headline": "Lorem Ipsum",CODE
LOW⚡validator/testdata/feature_tests/article-json-ld.html91 <h1>Lorem Ipsum</h1>CODE
LOW⚡validator/testdata/feature_tests/article-json-ld.html92 <amp-img src="http://cdn.ampproject.org/leader.jpg" alt="Lorem Ipsum?" height="2000" width="800"></amp-img>CODE
LOW⚡validator/testdata/feature_tests/article-json-ld.html93 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer necCODE
LOW⚡validator/testdata/feature_tests/article-json-ld.html93 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer necCODE
LOWtest/unit/test-resource.js434 element.setAttribute('placeholder', '');CODE
LOWtest/unit/test-custom-element.js835 placeholder.setAttribute('placeholder', '');CODE
LOW⚡test/unit/test-custom-element.js2010 element.appendChild(createWithAttr('placeholder'));CODE
LOW⚡test/unit/test-custom-element.js2011 const placeholder2 = element.appendChild(createWithAttr('placeholder'));CODE
LOW⚡test/unit/test-custom-element.js2016 const placeholder1 = element.appendChild(createWithAttr('placeholder'));CODE
LOW⚡test/unit/test-custom-element.js2018 input.setAttribute('placeholder', '');CODE
1480 more matches not shown…
Hyper-Verbose Identifiers563 hits · 574 pts
SeverityFileLineSnippetContext
LOWads/vendors/nativo.js97 function getLastPositionCoordinates(positions) {CODE
LOWads/vendors/vmfive.js26function parallelDownloadScriptsAndExecuteInOrder(win) {CODE
LOWads/inabox/full-overlay-frame-helper.js12export function centerFrameUnderVsyncMutate(CODE
LOWads/inabox/full-overlay-frame-helper.js49export function expandFrameUnderVsyncMutate(iframe) {CODE
LOWads/inabox/full-overlay-frame-helper.js72export function collapseFrameUnderVsyncMutate(iframe) {CODE
LOWads/inabox/frame-overlay-helper.js102export function stubExpandFrameForTesting(implFn) {CODE
LOWads/inabox/frame-overlay-helper.js109export function resetExpandFrameForTesting() {CODE
LOWads/inabox/frame-overlay-helper.js126export function stubCollapseFrameForTesting(implFn) {CODE
LOWads/inabox/frame-overlay-helper.js133export function resetCollapseFrameForTesting() {CODE
LOWads/google/utils.js193export function getMatchedContentResponsiveHeightAndUpdatePubParams(CODE
LOWads/google/ima/ima-video.js483export function removeHoverEventFromElement(element, callback) {CODE
LOWads/google/ima/ima-video.js1502export function getShowControlsThrottledForTesting() {CODE
LOW⚡ads/google/ima/ima-video.js1520export function setAdDisplayContainerForTesting(adc) {CODE
LOW⚡ads/google/ima/ima-video.js1530export function setVideoWidthAndHeightForTesting(width, height) {CODE
LOW⚡ads/google/ima/ima-video.js1540export function setVideoPlayerMutedForTesting(shouldMute) {CODE
LOW⚡ads/google/ima/ima-video.js1549export function setAllAdsCompletedForTesting(newValue) {CODE
LOW⚡ads/google/ima/ima-video.js1558export function setAdRequestFailedForTesting(newValue) {CODE
LOWads/google/ima/ima-video.js1585export function setMuteAdsManagerOnLoadedForTesting(shouldMute) {CODE
LOWads/google/ima/ima-video.js1604export function setAdsManagerDimensionsOnLoadForTesting(width, height) {CODE
LOWads/google/ima/ima-video.js1614export function setContentCompleteForTesting(newContentComplete) {CODE
LOWads/google/ima/ima-video.js1641export function setHideControlsTimeoutForTesting(newTimeout) {CODE
LOWads/google/a4a/cookie-utils.js27export function maybeSetCookieFromAdResponse(win, fetchResponse) {CODE
LOWads/google/a4a/cookie-utils.js64export function handleCookieOptOutPostMessage(win, event) {CODE
LOWads/google/a4a/traffic-experiments.js167export function addAmpExperimentIdToElement(experimentId, element) {CODE
LOWads/google/a4a/utils.js640export function getCsiAmpAnalyticsVariables(analyticsTrigger, a4a, qqid) {CODE
LOWads/google/a4a/utils.js668export function extractAmpAnalyticsConfig(a4a, responseHeaders) {CODE
LOWads/google/a4a/utils.js721function generateActiveViewRequest(config, urls) {CODE
LOWads/google/a4a/utils.js745function generateBeginToRenderRequest(config, urls) {CODE
LOWads/google/a4a/utils.js794export function addCsiSignalsToAmpAnalyticsConfig(CODE
LOWads/google/a4a/utils.js858export function getEnclosingContainerTypes(adElement) {CODE
LOWads/google/a4a/utils.js880export function maybeAppendErrorParameter(adUrl, parameterValue) {CODE
LOWads/google/a4a/utils.js904export function getBinaryTypeNumericalCode(type) {CODE
LOWads/google/a4a/utils.js936export function setNameframeExperimentConfigs(headers, nameframeConfig) {CODE
LOWads/google/a4a/utils.js963function getBrowserCapabilitiesBitmap(win) {CODE
LOWads/google/a4a/utils.js990export function getAmpRuntimeTypeParameter(win) {CODE
LOWads/google/a4a/utils.js1036function getUserAgentClientHintParameters(win) {CODE
LOWads/google/a4a/shared/content-recommendation.js309function validateAndParsePubControlParams(params) {CODE
LOWads/google/a4a/shared/content-recommendation.js309function validateAndParsePubControlParams(params) {CODE
LOWads/google/a4a/shared/content-recommendation.js470function getLargerAdOneColumnSidebysideSize(CODE
LOWads/google/a4a/shared/content-recommendation.js493function convertToPubControlLayoutType(layout) {CODE
LOW3p/yotpo.js74function getReviewsCarouselContainer(global, data) {CODE
LOW3p/yotpo.js140function getProductGalleryContainer(global, data) {CODE
LOW3p/yotpo.js165function getVisualUgcGalleryContainer(global) {CODE
LOW3p/yotpo.js182function getEmbeddedWidgetContainer(global, data) {CODE
LOW3p/yotpo.js221function getPhotosCarouselContainer(global, data) {CODE
LOW3p/yotpo.js241function getPromotedProductsContainer(global, data) {CODE
LOW3p/messaging.js11export function nonSensitiveDataPostMessage(type, opt_object) {CODE
LOW3p/integration-lib.js257export function validateAllowedEmbeddingOrigins(window, allowedHostnames) {CODE
LOW3p/environment.js262export function installEmbedStateListener() {CODE
LOW3p/recaptcha.js126function initializeIframeMessagingClient(win, grecaptcha, dataObject) {CODE
LOW3p/recaptcha.js189export function doesOriginDomainMatchIframeSrc(win, data) {CODE
LOWvalidator/js/gulpjs/test/validate.js158 function createFileWithValidatorFailure(name) {CODE
LOWvalidator/js/webui/webui.js18function removeParamFromLocationHashParams(param) {CODE
LOWvalidator/js/chromeextension/worker.js180function handleValidatorNotPresent(tabId) {CODE
LOWvalidator/cpp/engine/wasm/validator.js60function stringifyValidationErrorFields(error) {CODE
LOWvalidator/cpp/engine/wasm/validator.js75function digitizeValidationErrorFields(error) {CODE
LOWtest/unit/test-runtime.js138 function extensionRegistrationTest() {CODE
LOWtest/unit/test-video-iframe-integration.js14 function expectCalledWithAmpVideoIntegration(spy) {CODE
LOWtest/unit/test-xhr.js627 function getDefaultResponseOptions() {CODE
LOWtest/unit/test-xhr.js633 function getDefaultResponsePromise() {CODE
503 more matches not shown…
Hallucination Indicators30 hits · 330 pts
SeverityFileLineSnippetContext
CRITICALtest/unit/test-friendly-iframe-embed.js130 embed.win.document.documentElement.classList.contains('i-amphtml-fie')CODE
CRITICALextensions/amp-story/1.0/amp-story.js1904 this.win.document.documentElement.classList.add(CODE
CRITICALextensions/amp-story/1.0/test/test-amp-story.js2195 env.win.document.body.parentElement.setAttribute('lang', 'es');CODE
CRITICALextensions/amp-story/1.0/test/test-amp-story.js2221 env.win.document.body.parentElement.setAttribute('lang', 'es-419');CODE
CRITICALextensions/amp-story/1.0/test/test-amp-story.js2232 env.win.document.body.parentElement.setAttribute('lang', 'es-419');CODE
CRITICALextensions/amp-story/1.0/test/test-amp-story.js2244 env.win.document.body.parentElement.setAttribute('lang', 'es-419');CODE
CRITICAL…tensions/amp-web-push/0.1/amp-web-push-helper-frame.js365 this.window_.navigator.serviceWorker.controller.addEventListener(CODE
CRITICALextensions/amp-web-push/0.1/web-push-service.js907 this.ampdoc.win.location.href.indexOf('?') !== -1;CODE
CRITICALextensions/amp-a4a/0.1/test/test-template-renderer.js113 expect(iframe.contentWindow.document.body.innerHTML.trim()).to.equal(CODE
CRITICAL…nsions/amp-analytics/0.1/test/test-iframe-transport.js226 env.ampdoc.win.document.body.appendChild(frame);CODE
CRITICAL…system/release-tagger/test/label-pull-requests.test.js25 t.context.octokitRest.rest.issues.getLabel.resolves({CODE
CRITICAL…system/release-tagger/test/label-pull-requests.test.js45 t.context.octokitRest.rest.repos.compareCommits.resolves({CODE
CRITICAL…system/release-tagger/test/label-pull-requests.test.js123 t.context.octokitRest.rest.issues.getLabel.resolves({CODE
CRITICAL…system/release-tagger/test/label-pull-requests.test.js143 t.context.octokitRest.rest.repos.compareCommits.resolves({CODE
CRITICALbuild-system/release-tagger/test/make-release.test.js41 t.context.octokitRest.rest.repos.createRelease.resolves({data: {}});CODE
CRITICALbuild-system/release-tagger/test/make-release.test.js42 t.context.octokitRest.rest.repos.compareCommits.resolves({CODE
CRITICALbuild-system/release-tagger/test/make-release.test.js158 t.context.octokitRest.rest.repos.createRelease.calledWith({CODE
CRITICALbuild-system/release-tagger/test/make-release.test.js198 t.context.octokitRest.rest.repos.createRelease.resolves({data: {}});CODE
CRITICALbuild-system/release-tagger/test/make-release.test.js199 t.context.octokitRest.rest.repos.compareCommits.resolves({CODE
CRITICALbuild-system/release-tagger/test/make-release.test.js245 t.context.octokitRest.rest.repos.createRelease.calledWith({CODE
CRITICAL⚡build-system/release-tagger/test/update-release.test.js22 t.context.octokitRest.rest.repos.getReleaseByTag.resolves({data: {id: 1}});CODE
CRITICAL⚡build-system/release-tagger/test/update-release.test.js23 t.context.octokitRest.rest.repos.updateRelease.resolves({data: {id: 1}});CODE
CRITICAL⚡build-system/release-tagger/test/update-release.test.js32 t.context.octokitRest.rest.repos.updateRelease.calledWith({CODE
CRITICAL⚡build-system/release-tagger/test/update-release.test.js43 t.context.octokitRest.rest.repos.getReleaseByTag.resolves({CODE
CRITICAL⚡build-system/release-tagger/test/update-release.test.js49 t.context.octokitRest.rest.repos.updateRelease.resolves({data: {id: 1}});CODE
CRITICAL⚡build-system/release-tagger/test/update-release.test.js57 t.context.octokitRest.rest.repos.updateRelease.calledOnceWith({CODE
CRITICALsrc/friendly-iframe-embed.js516 this.win.document.documentElement.classList.add('i-amphtml-fie');CODE
CRITICALsrc/service/resources-impl.js264 this.win.document.fonts.ready.then(remeasure);CODE
CRITICALsrc/service/viewport/viewport-binding-natural.js131 this.win.document.documentElement.classList.add(CODE
CRITICALsrc/service/viewport/viewport-binding-natural.js139 this.win.document.documentElement.classList.remove(CODE
Magic Placeholder Names33 hits · 236 pts
SeverityFileLineSnippetContext
HIGH…ogle-read-aloud-player/amp-google-read-aloud-player.md120 data-api-key="<YOUR_API_KEY>"CODE
HIGH…ogle-read-aloud-player/amp-google-read-aloud-player.md120 data-api-key="<YOUR_API_KEY>"CODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html86 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="UA-168915890-1" data-voice="eCODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html90 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="UA-168915890-1"CODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html96 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="UA-168915890-1,UA-168915890-2CODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html100 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="UA-1-168915890"CODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html105 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="UA-1-1" data-voice="en.some-vCODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html109 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="UA-168915890-1" data-voice="eCODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html113 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="UA-168915890-1" data-voice="eCODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html121 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="123" data-voice="en.some-voicCODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html125 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="168915890-1" data-voice="en.sCODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html129 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="ua-1" data-voice="en.some-voiCODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html133 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="UA-1-1.2" data-voice="en.someCODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html137 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="" data-voice="en.some-voice">CODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html141 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="UA-1-1 XYZ" data-voice="en.soCODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html145 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-voice="en.some-voice">CODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html149 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="UA-168915890-1">CODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html153 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-url="index.html" data-voice="en.some-voice"CODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html157 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-url="http://www.example.com/index.html" datCODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html161 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="UA-168915890-1" data-voice="eCODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html165 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-voice="en.some-voice" data-intro="file.mp3"CODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html169 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-voice="en.some-voice" data-outro="file.mp3"CODE
HIGH⚡…r/0.1/test/validator-amp-google-read-aloud-player.html173 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-voice="en.some-voice" data-ad-tag-url="indeCODE
HIGH…d-player/0.1/test/test-amp-google-read-aloud-player.js12const API_KEY = 'YOUR_API_KEY';CODE
HIGH⚡…ead-aloud-player/amp-google-read-aloud-player.amp.html90 <amp-google-read-aloud-player height="66" data-api-key="YOUR_API_KEY" data-tracking-ids="UA-000000-2"CODE
HIGH⚡…ead-aloud-player/amp-google-read-aloud-player.amp.html99 <amp-google-read-aloud-player layout="fixed" height="66" width="500" data-api-key="YOUR_API_KEY"CODE
HIGH⚡…ead-aloud-player/amp-google-read-aloud-player.amp.html106 <amp-google-read-aloud-player layout="fixed-height" height="66" data-api-key="YOUR_API_KEY"CODE
HIGH⚡…ead-aloud-player/amp-google-read-aloud-player.amp.html114 data-api-key="YOUR_API_KEY" data-tracking-ids="UA-000000-2"CODE
HIGH⚡…ead-aloud-player/amp-google-read-aloud-player.amp.html130 <amp-google-read-aloud-player layout="fixed-height" height="66" data-api-key="YOUR_API_KEY"CODE
HIGH⚡…ead-aloud-player/amp-google-read-aloud-player.amp.html137 <amp-google-read-aloud-player layout="fixed-height" height="66" data-api-key="YOUR_API_KEY"CODE
HIGH⚡…ead-aloud-player/amp-google-read-aloud-player.amp.html144 <amp-google-read-aloud-player layout="fixed-height" height="66" data-api-key="YOUR_API_KEY"CODE
HIGH⚡…ead-aloud-player/amp-google-read-aloud-player.amp.html151 <amp-google-read-aloud-player layout="fixed-height" height="66" data-api-key="YOUR_API_KEY"CODE
HIGH⚡…ead-aloud-player/amp-google-read-aloud-player.amp.html159 <amp-google-read-aloud-player layout="fixed-height" height="66" data-api-key="YOUR_API_KEY"CODE
Over-Commented Block157 hits · 157 pts
SeverityFileLineSnippetContext
LOW.lando.yml1# This is a configuration file for a Lando-based local dev environment for amphtml.COMMENT
LOWvalidator/validator.pb.go21COMMENT
LOWvalidator/validator.pb.go361 return nilCOMMENT
LOWvalidator/validator.pb.go1501 unknownFields protoimpl.UnknownFieldsCOMMENT
LOWvalidator/validator.pb.go1541 ValueOneofSet *AttrSpec_ValueSet `protobuf:"varint,26,opt,name=value_oneof_set,json=valueOneofSet,enum=amp.validator.ACOMMENT
LOWvalidator/validator.pb.go2341COMMENT
LOWvalidator/validator.pb.go2461// Specifies which AMP Layouts are supported by a given element.COMMENT
LOWvalidator/validator.pb.go2581}COMMENT
LOWvalidator/validator.pb.go2681 return *x.MandatoryMinNumChildTagsCOMMENT
LOWvalidator/validator.pb.go2701// they are first matched against these reference points, and onlyCOMMENT
LOWvalidator/validator.pb.go2781 state protoimpl.MessageStateCOMMENT
LOWvalidator/validator.pb.go2961 // this TagSpec. If a Type Identifier is in `enabled_by` then thisCOMMENT
LOWvalidator/validator.pb.go2981 // do with this tag spec, provide a `descriptive_name` value, which if presentCOMMENT
LOWvalidator/validator.pb.go3001 MandatoryAlternatives *string `protobuf:"bytes,4,opt,name=mandatory_alternatives,json=mandatoryAlternatives" json:"mandCOMMENT
LOWvalidator/validator.pb.go3021 // spec_names (e.g. tag.name = "!DOCTYPE" or tag.spec_name = "html doctype").COMMENT
LOWvalidator/validator.pb.go3041 // e.g. the name of a tag.COMMENT
LOWvalidator/validator.pb.go3061 // of this tag in the document.COMMENT
LOWvalidator/validator.pb.go3481 // validating parsed documents;: with that Type Identifier. An DocCssSpec canCOMMENT
LOWvalidator/validator.pb.go3501 // `max_bytes`. This is used for handling signed exchange transformationsCOMMENT
LOWvalidator/validator.pb.go4281 //COMMENT
LOWvalidator/js/engine/htmlparser-interface.js81// amp-ad-0.1.mjsCOMMENT
LOWvalidator/cpp/htmlparser/doctype.h1#ifndef CPP_HTMLPARSER_DOCTYPE_H_COMMENT
LOWvalidator/cpp/htmlparser/parser.h21 // Parsing state flags (section 12.2.4.5).COMMENT
LOWvalidator/cpp/htmlparser/parser.h41 // Count number of terms in a text node delimited by ascii whitespace andCOMMENT
LOWvalidator/cpp/htmlparser/parser.h141 void InBodyEndTagOther(Atom tag_atom, std::string_view tag_name);COMMENT
LOWvalidator/cpp/htmlparser/parser.h201 // is in matchTags, provided there is no higher element in the scope's stopCOMMENT
LOWvalidator/cpp/htmlparser/fileutil.h1#ifndef CPP_HTMLPARSER_FILEUTIL_H_COMMENT
LOWvalidator/cpp/htmlparser/fileutil.h81 // - Rows are sorted in some form and client provides a comparator. Example:COMMENT
LOWvalidator/cpp/htmlparser/renderer.h1// Renderer renders the parse tree rooted at node to the given buffer.COMMENT
LOWvalidator/cpp/htmlparser/node.h1#ifndef CPP_HTMLPARSER_NODE_H_COMMENT
LOWvalidator/cpp/htmlparser/node.h221// test consistency of the nodes built manually, or by the Parser.COMMENT
LOWvalidator/cpp/htmlparser/tokenizer.h1#ifndef CPP_HTMLPARSER_TOKENIZER_H_COMMENT
LOWvalidator/cpp/htmlparser/tokenizer.h41 // can contain a <foreignObject> that is foreign-to-SVG but not foreign-to-COMMENT
LOWvalidator/cpp/htmlparser/tokenizer.h61 // <title> inside an <svg> does not. Another example is that a <textarea>COMMENT
LOWvalidator/cpp/htmlparser/tokenizer.h81 // `<!-- xml version="1.0"` (without closing), then the first Next call wouldCOMMENT
LOWvalidator/cpp/htmlparser/tokenizer.h141 // been consumed, where 'a' means anything in [A-Za-z].COMMENT
LOWvalidator/cpp/htmlparser/tokenizer.h161COMMENT
LOWvalidator/cpp/htmlparser/tokenizer.h241 // Tells if the token is manufactured.COMMENT
LOWvalidator/cpp/htmlparser/logging.h1// Defines various logging macros. This is temporary and will be replaced by aCOMMENT
LOWvalidator/cpp/htmlparser/strings.h1#ifndef CPP_HTMLPARSER_STRINGS_H_COMMENT
LOWvalidator/cpp/htmlparser/strings.h61 // byte is in the range 0x41-0x5A or 0x61-0x7A (A-Z or a-z).COMMENT
LOWvalidator/cpp/htmlparser/strings.h81 static int8_t CodePointByteSequenceCount(uint8_t c);COMMENT
LOWvalidator/cpp/htmlparser/strings.h121 //COMMENT
LOWvalidator/cpp/htmlparser/strings.h201 // Case insensitive equals.COMMENT
LOWvalidator/cpp/htmlparser/strings.h221 // "ABCDEFGHIJKLMNOPQRSTUVWXYZ")COMMENT
LOWvalidator/cpp/htmlparser/glog_polyfill.h21};COMMENT
LOWvalidator/cpp/htmlparser/casetable.h1// AUTO GENERATED; DO NOT EDIT.COMMENT
LOWvalidator/cpp/htmlparser/allocator.h1// An average HTML DOM tree consists of hundreds or thousands of nodes andCOMMENT
LOWvalidator/cpp/htmlparser/allocator.h21// the block size is upgraded to 4096 for 4k page_size or 8192 for 8k page_size.COMMENT
LOWvalidator/cpp/htmlparser/allocator.h41// The allocator maintains linked list of blocks of memory buffers forCOMMENT
LOWvalidator/cpp/htmlparser/allocator.h61// It's called misaligned otherwise. For example, an 8-byte floating-point dataCOMMENT
LOWvalidator/cpp/htmlparser/allocator.h81// int64_t b; // 8 byte (now at 8 byte alignment). 0x0008COMMENT
LOWvalidator/cpp/htmlparser/allocator.h101// | 10 | waste | 120 | Obj22 | 164 | waste |COMMENT
LOWvalidator/cpp/htmlparser/allocator.h121// object size. So the remaining bytes in the block are skipped and new blockCOMMENT
LOWvalidator/cpp/htmlparser/allocator.h141// is the master owner of all the objects. Client treats all objects as constCOMMENT
LOWvalidator/cpp/htmlparser/allocator.h161// This can also be achieved by modulo operator N % A == 0.COMMENT
LOWvalidator/cpp/htmlparser/url.h1// Uniform resouce locator parsing related static functions.COMMENT
LOWvalidator/cpp/htmlparser/entity.h1// AUTO GENERATED; DO NOT EDIT.COMMENT
LOWvalidator/cpp/htmlparser/document.h1#ifndef CPP_HTMLPARSER_DOCUMENT_H_COMMENT
LOWvalidator/cpp/htmlparser/document.h21struct DocumentMetadata {COMMENT
97 more matches not shown…
AI Slop Vocabulary9 hits · 24 pts
SeverityFileLineSnippetContext
MEDIUM3p/integration.js117import {empower} from '#ads/vendors/empower';CODE
MEDIUM3p/vendors/empower.js7import {empower} from '#ads/vendors/empower';CODE
MEDIUMvalidator/js/nodejs/index_test.js220 // relatively robust. We don't want it to churn if the validatorCOMMENT
MEDIUMvalidator/cpp/htmlparser/atom.h1394 0xcce08, // seamlessCODE
MEDIUM…-network-adzerk-impl/0.1/amp-ad-network-adzerk-impl.js65 // Does not utilize crypto signature based AMP creative validation.COMMENT
MEDIUMextensions/amp-form/0.1/amp-form.js1357 // Do not interfere with form fields that utilize variable substitutions.COMMENT
MEDIUMextensions/amp-analytics/0.1/iframe-transport.js137 // utilize the same analytics vendor, so perhaps two creatives mightCOMMENT
MEDIUMthird_party/resize-observer-polyfill/ResizeObserver.js251 // be possible to utilize the getBoundingClientRect if only it's data wasn'tCOMMENT
MEDIUM…rty/resize-observer-polyfill/ResizeObserver.install.js250 // be possible to utilize the getBoundingClientRect if only it's data wasn'tCOMMENT
Decorative Section Separators8 hits · 24 pts
SeverityFileLineSnippetContext
MEDIUMvalidator/cpp/htmlparser/data/CaseFolding.txt31# ================================================================================COMMENT
MEDIUMvalidator/cpp/htmlparser/data/CaseFolding.txt33# ================================================================================COMMENT
MEDIUMvalidator/cpp/htmlparser/data/CaseFolding.txt55# =================================================================COMMENT
MEDIUMvalidator/cpp/htmlparser/data/CaseFolding.txt62# =================================================================COMMENT
MEDIUMvalidator/cpp/htmlparser/data/ipaddressgrammar.txt10# =================COMMENT
MEDIUMvalidator/cpp/htmlparser/data/ipaddressgrammar.txt12# =================COMMENT
MEDIUMvalidator/cpp/htmlparser/data/ipaddressgrammar.txt126# =================COMMENT
MEDIUMvalidator/cpp/htmlparser/data/ipaddressgrammar.txt128# =================COMMENT
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHvalidator/build.py34except (subprocess.CalledProcessError, OSError):CODE
Cross-Language Confusion1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHvalidator/validator_gen_js.py437 out.Line('this.combinedDenyListedCdataRegex = null;')CODE
Self-Referential Comments2 hits · 5 pts
SeverityFileLineSnippetContext
MEDIUMvalidator/validator_gen_js.py867 # Create a mapping from attr spec ids to AttrSpec instances, deduping theCOMMENT
MEDIUMexamples/article-with-docked-video.html346 <!-- ## Define the content under the slot -->CODE
Slop Phrases3 hits · 4 pts
SeverityFileLineSnippetContext
LOWextensions/amp-list/1.0/component.jss.js3// Make sure to replace "#" with "%23" in these strings!COMMENT
LOW.github/workflows/codeql.yml27 # TODO: add `cpp` for Validator; don't forget to add a build stepCOMMENT
LOW.github/workflows/codeql.yml27 # TODO: add `cpp` for Validator; don't forget to add a build stepCOMMENT
Deep Nesting4 hits · 4 pts
SeverityFileLineSnippetContext
LOWvalidator/validator_gen_js.py374CODE
LOWvalidator/validator_gen_js.py555CODE
LOWvalidator/validator_gen_js.py690CODE
LOWvalidator/js/webui/build.py89CODE
TODO Padding2 hits · 3 pts
SeverityFileLineSnippetContext
LOWads/google/a4a/test/test-utils.js82 //TODO: Add tests for other utils functions.COMMENT
LOWextensions/amp-consent/0.1/amp-consent.js616 // TODO: Handle errorsCOMMENT
Verbosity Indicators2 hits · 3 pts
SeverityFileLineSnippetContext
LOWextensions/amp-vimeo/0.1/amp-vimeo.js237 // We need to check if already muted to prevent an initial mute() callCOMMENT
LOWexamples/amp-ad/sticky.js4 // Step 1: Once knowing the ad size is 300x250, hide the frame and request to have ad shownCOMMENT
Overly Generic Function Names3 hits · 3 pts
SeverityFileLineSnippetContext
LOW…s/amp-consent/0.1/test/test-tcf-api-command-manager.js470function getData(command, callId, opt_parameter) {CODE
LOWbuild-system/tasks/e2e/driver/query-xpath.js90function getData(node) {CODE
LOWsrc/utils/event-helper.js63export function getData(event) {CODE
Unused Imports2 hits · 2 pts
SeverityFileLineSnippetContext
LOWvalidator/build.py5CODE
LOWvalidator/js/webui/build.py10CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWvalidator/cpp/htmlparser/iterators.h16// Example usage:COMMENT
Structural Annotation Overuse1 hit · 2 pts
SeverityFileLineSnippetContext
LOWexamples/amp-ad/sticky.js4 // Step 1: Once knowing the ad size is 300x250, hide the frame and request to have ad shownCOMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOW.circleci/check_config.sh20# Check if the PR branch contains the most recent revision the CircleCI config.COMMENT