Repository Analysis

drupal/drupal

Verbatim mirror of the git.drupal.org repository for Drupal core. Please see the https://github.com/drupal/drupal#contributing. PRs are not accepted on GitHub.

4.7 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of drupal/drupal, a PHP project with 4,278 GitHub stars. SynthScan v2.0 examined 1,685,659 lines of code across 14611 source files, recording 7530 pattern matches distributed across 12 syntactic categories. The overall adjusted score of 4.7 places this repository in the Likely human-written 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).

4.7
Adjusted Score
4.7
Raw Score
100%
Time Factor
2026-07-14
Last Push
4.3K
Stars
PHP
Language
1.7M
Lines of Code
14.6K
Files
7.5K
Pattern Hits
2026-07-14
Scan Date
0.00
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 2HIGH 3MEDIUM 78LOW 7447

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 7530 distinct pattern matches across 12 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.

Hyper-Verbose Identifiers6734 hits · 6799 pts
SeverityFileLineSnippetContext
LOW…pal/FunctionalTests/GetTestMethodCallerExtendsTest.php26 public function testGetTestMethodCallerChildClass(): void {CODE
LOW…e/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php273 public function testFieldAssertsForTextfields(): void {CODE
LOW…e/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php376 public function testFieldAssertsForCheckbox(): void {CODE
LOW…e/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php526 public function testGetDefaultDriveInstance(): void {CODE
LOW…e/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php614 public function testDeprecationTriggeredInSystemUnderTest(): void {CODE
LOW…e/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php659 public function testSimpleTestBaseUrlValidation(): void {CODE
LOW…FunctionalTests/HttpKernel/DestructableServiceTest.php32 public function testDestructableServiceExecutionOrder(): void {CODE
LOW…l/FunctionalTests/Core/Test/ModuleInstallBatchTest.php36 public function testLoadingEntitiesCreatedInBatch(): void {CODE
LOW…upal/FunctionalTests/Core/Recipe/RecipeCommandTest.php103 public function testErrorOnNonExistentDirectory(): void {CODE
LOW…upal/FunctionalTests/Core/Recipe/RecipeCommandTest.php141 public function testDefaultInputValueFromConfig(): void {CODE
LOW…ctionalTests/Core/Recipe/StandardRecipeInstallTest.php98 protected function installDefaultThemeFromClassProperty(ContainerInterface $container): void {CODE
LOW…ts/Drupal/FunctionalTests/Core/Recipe/RollbackTest.php52 public function testRollbackForInvalidConfig(string $recipe_fixture, string $expected_invalid_config_name): void {CODE
LOW…unctionalTests/Bootstrap/LegacyFrontControllerTest.php51 public function testSuccessfulFrontControllerRequest() : void {CODE
LOW…al/FunctionalTests/Bootstrap/UncaughtExceptionTest.php110 public function testUncaughtExceptionCustomExceptionHandler(): void {CODE
LOW…al/FunctionalTests/Bootstrap/UncaughtExceptionTest.php187 public function testLostDatabaseConnection(): void {CODE
LOW…tionalTests/Test/FunctionalTestDebugHtmlOutputTest.php32 public function testFunctionalTestDebugHtmlOutput(): void {CODE
LOW…tionalTests/Test/FunctionalTestDebugHtmlOutputTest.php179 private function getAlteredPhpunitXmlConfigurationFile(array|string $search, array|string $replace): string {CODE
LOW…Tests/Test/FunctionalTestDebugHtmlOutputHelperTest.php28 public function testCreateFunctionalTestDebugHtmlOutput(): void {CODE
LOW…upal/FunctionalTests/Update/UpdatePathTestBaseTest.php38 public function testDatabaseProperlyLoaded(): void {CODE
LOW…ctionalTests/Update/UpdateReducedThemeRegistryTest.php32 public function testUpdatePageWithBrokenThemeHook(): void {CODE
LOW…upal/FunctionalTests/Entity/RevisionRevertFormTest.php117 protected function testAccessRevertLatestDefault(): void {CODE
LOW…upal/FunctionalTests/Entity/RevisionRevertFormTest.php136 protected function testAccessRevertLatestForwardRevision(): void {CODE
LOW…upal/FunctionalTests/Entity/RevisionRevertFormTest.php160 protected function testAccessRevertNonLatest(): void {CODE
LOW…ests/Entity/RevisionVersionHistoryTranslatableTest.php53 public function testVersionHistoryTranslations(): void {CODE
LOW…upal/FunctionalTests/Entity/DeleteMultipleFormTest.php125 public function testUntranslatableEntities(): void {CODE
LOW…ormCorrectUserInputMappingOnFieldDeltaElementsTest.php83 public function testCorrectUserInputMappingOnComplexFields(): void {CODE
LOW…upal/FunctionalTests/Entity/RevisionDeleteFormTest.php114 public function testAccessDeleteLatestDefault(): void {CODE
LOW…upal/FunctionalTests/Entity/RevisionDeleteFormTest.php141 protected function testAccessDeleteLatestForwardRevision(): void {CODE
LOW…upal/FunctionalTests/Entity/RevisionDeleteFormTest.php202 protected function testAccessDeleteNonLatest(): void {CODE
LOW…tity/ContentEntityFormFieldValidationFilteringTest.php135 public function testFieldWidgetsWithLimitedValidationErrors(): void {CODE
LOW…/FunctionalTests/Entity/RevisionVersionHistoryTest.php84 public function testDescriptionRevLogNullValues(): void {CODE
LOW…/FunctionalTests/Entity/RevisionVersionHistoryTest.php139 public function testDescriptionLinkNoAccess(): void {CODE
LOW…/FunctionalTests/Entity/RevisionVersionHistoryTest.php158 public function testDescriptionLinkWithAccess(): void {CODE
LOW…/FunctionalTests/Entity/RevisionVersionHistoryTest.php187 public function testDescriptionRevisionLogMessage(): void {CODE
LOW…/FunctionalTests/Entity/RevisionVersionHistoryTest.php204 public function testOperationRevertRevision(): void {CODE
LOW…/FunctionalTests/Entity/RevisionVersionHistoryTest.php244 public function testOperationDeleteRevision(): void {CODE
LOW…/FunctionalTests/Entity/EntityConcurrentRenderTest.php68 public function testSameEntityInMultipleBlocks(): void {CODE
LOW…unctionalTests/Libraries/JqueryUiLibraryAssetsTest.php189 public function testLibraryAssetLoadingOrder(string $library, array $expected_css, array $expected_js): void {CODE
LOW…unctionalTests/Libraries/JqueryUiLibraryAssetsTest.php269 public function testAssetLoadingUnchanged(string $library, array $expected_css, array $expected_js): void {CODE
LOW…/Drupal/FunctionalTests/Image/ToolkitSetupFormTest.php84 public function testGdToolkitRequirements(): void {CODE
LOW…l/FunctionalTests/DefaultContent/ContentImportTest.php140 public function testDirectContentImportWithDifferentUser(): void {CODE
LOW…l/FunctionalTests/DefaultContent/ContentImportTest.php157 public function testEntityValidationIsTriggered(): void {CODE
LOW…l/FunctionalTests/DefaultContent/ContentExportTest.php164 public function testEntityExportScenarios(): void {CODE
LOW…l/FunctionalTests/DefaultContent/ContentExportTest.php177 protected function doTestExportedPasswordIsPreserved(): void {CODE
LOW…l/FunctionalTests/DefaultContent/ContentExportTest.php213 protected function doTestExportSingleEntityToDirectory(): void {CODE
LOW…l/FunctionalTests/DefaultContent/ContentExportTest.php234 protected function doTestExportWithDependencies(): void {CODE
LOW…l/FunctionalTests/DefaultContent/ContentExportTest.php320 protected function doTestMissingDependenciesAreLogged(): void {CODE
LOW…l/FunctionalTests/DefaultContent/ContentExportTest.php367 protected function doTestExportFileEntityWithMissingPhysicalFile(): void {CODE
LOW…l/FunctionalTests/DefaultContent/ContentExportTest.php398 protected function doTestExportEntitiesFilteredByType(): void {CODE
LOW…l/FunctionalTests/DefaultContent/ContentExportTest.php434 public function testExportEntitiesFilteredByBundle(): void {CODE
LOW…ests/DefaultContent/ContentImportAlreadyExistsTest.php86 public static function providerImportEntityThatAlreadyExists(): array {CODE
LOW…ests/DefaultContent/ContentImportAlreadyExistsTest.php97 public function testImportEntityThatAlreadyExists(Existing $existing): void {CODE
LOWcore/tests/Drupal/FunctionalTests/Theme/ClaroTest.php37 public function testRegressionMissingElementsCss(): void {CODE
LOWcore/tests/Drupal/FunctionalTests/Theme/OliveroTest.php171 public function testSystemSiteBrandingSlogan(): void {CODE
LOW…l/FunctionalTests/Routing/RouteCachingLanguageTest.php133 public function testLinkTranslationWithAlias(string $source_langcode): void {CODE
LOW…s/Drupal/FunctionalTests/Routing/DefaultFormatTest.php44 public function testMultipleRoutesWithSameSingleFormat(): void {CODE
LOW…nctionalTests/Routing/RouteCachingQueryAlteredTest.php52 public function testRouteCollectionCacheAfterException(): void {CODE
LOW…sts/Drupal/FunctionalTests/Routing/SystemFilesTest.php46 public function testExtensionStreamWrappers(): void {CODE
LOW…rupal/FunctionalTests/Breadcrumb/Breadcrumb404Test.php56 protected function getBreadcrumbCacheEntries() {CODE
LOW…FunctionalTests/Installer/InstallerPostInstallTest.php30 public function testVisitInstallerPostInstall(): void {CODE
6674 more matches not shown…
Fake / Example Data437 hits · 493 pts
SeverityFileLineSnippetContext
LOWcore/misc/drupal.js268 * `{@link Drupal.theme}('placeholder')`).COMMENT
LOWcore/misc/drupal.js293 processedArgs[key] = Drupal.theme('placeholder', args[key]);CODE
LOWcore/misc/drupal.js593 * Drupal.theme('placeholder', text);COMMENT
LOWcore/misc/drupal.js626 return `<em class="placeholder">${Drupal.checkPlain(str)}</em>`;CODE
LOW…al/FunctionalTests/Bootstrap/UncaughtExceptionTest.php98 $message = '@<em class="placeholder">TypeError</em>: Drupal\\\error_test\\\Controller\\\ErrorTestController::{closurCODE
LOW…upal/FunctionalTests/Entity/RevisionRevertFormTest.php353 $this->assertEquals('Copy of the revision from <em class="placeholder">Sun, 11 Jan 2009 - 17:00</em>.', $latestRevisCODE
LOW…FunctionalTests/Installer/InstallerTranslationTest.php75 $this->assertSession()->responseContains('<strong>CREATE</strong> ein Test-Tabelle auf Ihrem Datenbankserver mit demCODE
LOW…sts/Installer/InstallerSkipPermissionHardeningTest.php38 $this->assertSession()->responseContains('All necessary changes to <em class="placeholder">' . $this->siteDirectory CODE
LOW…Drupal/FunctionalTests/Installer/InstallerTestBase.php106 'mail' => 'admin@example.com',CODE
LOW…tionalTests/Rest/EntityFormDisplayResourceTestBase.php90 'placeholder' => '',CODE
LOW…tionalTests/Rest/EntityFormDisplayResourceTestBase.php101 'placeholder' => '',CODE
LOWcore/tests/Drupal/Tests/Core/Form/FormValidatorTest.php502 'The submitted value <em class="placeholder">baz</em> in the <em class="placeholder">Test</em> element is not alCODE
LOWcore/tests/Drupal/Tests/Core/Form/FormValidatorTest.php515 'The submitted value <em class="placeholder">0</em> in the <em class="placeholder">Test</em> element is not alloCODE
LOWcore/tests/Drupal/Tests/Core/Form/FormValidatorTest.php528 'The submitted value <em class="placeholder">baz</em> in the <em class="placeholder">Test</em> element is not alCODE
LOWcore/tests/Drupal/Tests/Core/Form/FormValidatorTest.php537 'Test cannot be longer than <em class="placeholder">7</em> characters but is currently <em class="placeholder">8CODE
LOWcore/tests/Drupal/Tests/Core/Form/FormValidatorTest.php550 'The submitted value type <em class="placeholder">array</em> in the <em class="placeholder">Test</em> element isCODE
LOW…/Tests/Core/Entity/Controller/EntityControllerTest.php33 #[TestWith(['deleteTitle', 'example', 'Delete <em class="placeholder">example</em>'])]COMMENT
LOW…/Tests/Core/Entity/Controller/EntityControllerTest.php35 #[TestWith(['editTitle', 'example', 'Edit <em class="placeholder">example</em>'])]COMMENT
LOWcore/tests/Drupal/Tests/Core/Mail/MailManagerTest.php192 $this->mailManager->mail('example', 'key', 'to@example.org', 'en');CODE
LOWcore/tests/Drupal/Tests/Core/Mail/MailManagerTest.php222 'from' => 'from@example.org',CODE
LOW…sts/Drupal/Tests/Core/Mail/Plugin/Mail/PhpMailTest.php123 'to' => 'to@example.org',CODE
LOW…sts/Drupal/Tests/Core/Mail/Plugin/Mail/PhpMailTest.php124 'from' => 'from@example.org',CODE
LOW…sts/Drupal/Tests/Core/Mail/Plugin/Mail/PhpMailTest.php125 'reply-to' => 'from@example.org',CODE
LOW…sts/Drupal/Tests/Core/Mail/Plugin/Mail/PhpMailTest.php137 'Reply-to' => 'from@example.org',CODE
LOW…sts/Drupal/Tests/Core/Mail/Plugin/Mail/PhpMailTest.php138 'Return-Path' => 'from@example.org',CODE
LOW…sts/Drupal/Tests/Core/Mail/Plugin/Mail/PhpMailTest.php159 $this->equalTo('to@example.org'),CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php103 'Reply-to' => 'from@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php104 'Return-Path' => 'from@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php163 'from' => 'from@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php164 'reply-to' => 'from@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php165 'to' => 'to@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php170 'reply-to' => 'from@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php171 'to' => 'to@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php177 'from' => 'from@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php178 'reply-to' => 'from@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php179 'to' => 'to@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php184 'reply-to' => 'from@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php185 'to' => 'to@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php191 'from' => 'from@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php192 'reply-to' => 'from@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php193 'to' => 'foo@example.org,bar@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php198 'reply-to' => 'from@example.org',CODE
LOW…upal/Tests/Core/Mail/Plugin/Mail/SymfonyMailerTest.php199 'to' => 'foo@example.org, bar@example.org',CODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php545 $test_element['placeholder']['#cache']['keys'] = ['placeholder', 'output', 'can', 'be', 'render', 'cached', 'too'];CODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php546 $test_element['placeholder']['#cache']['contexts'] = [];CODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php547 $test_element['placeholder']['#create_placeholder'] = TRUE;CODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php548 $test_element['placeholder']['#lazy_builder'] = ['Drupal\Tests\Core\Render\PlaceholdersTest::callback', $args];CODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php640 $has_uncacheable_lazy_builder = !isset($test_element['placeholder']['#cache']['keys']) && isset($test_element['placeCODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php646 $edge_case_a6_uncacheable = $has_uncacheable_lazy_builder && $test_element['placeholder']['#lazy_builder'][0] === 'DCODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php648 $edge_case_a7_uncacheable = $has_uncacheable_lazy_builder && $test_element['placeholder']['#lazy_builder'][0] === 'DCODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php100 'placeholder' => [CODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php116 'placeholder' => [CODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php132 'placeholder' => [CODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php147 'placeholder' => [CODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php168 'placeholder' => [CODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php184 'placeholder' => [CODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php207 $keys = ['placeholder', 'output', 'can', 'be', 'render', 'cached', 'too'];CODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php216 $expected_placeholder_render_array = $extract_placeholder_render_array($base_element_a1['placeholder']);CODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php232 $element_with_cache_keys['placeholder']['#cache']['keys'] = $keys;CODE
LOW…/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php260 $expected_placeholder_render_array = $extract_placeholder_render_array($base_element_a2['placeholder']);CODE
377 more matches not shown…
Over-Commented Block259 hits · 258 pts
SeverityFileLineSnippetContext
LOW.gitlab-ci.yml1# cspell:ignore codequality Micheh micheh webide testdox updatedb stylelintrc fastzip phpcscache Ksection drupaltestbot COMMENT
LOW.gitlab-ci.yml21# * On commitCOMMENT
LOW.gitlab-ci.yml41 - if: $CI_PIPELINE_SOURCE == "push" && $CI_PROJECT_ROOT_NAMESPACE == "project"COMMENT
LOWrobots.txt1#COMMENT
LOWcore/.deprecation-ignore.txt1# This file contains patterns to be ignored while testing for use ofCOMMENT
LOWcore/core.services.yml961 http_kernel.basic:COMMENT
LOWcore/misc/ajax.js581 return (COMMENT
LOWcore/misc/ajax.js881 // There is no simple way to know which submission mechanism will be used,COMMENT
LOW…ormCorrectUserInputMappingOnFieldDeltaElementsTest.php101 "$this->fieldName[1][_weight]" => -1,COMMENT
LOW…sts/Composer/Template/ComposerProjectTemplatesTest.php261 // CI environment always forces composer commands to run in theCOMMENT
LOWcore/tests/Drupal/Tests/RequirementsPageTrait.php101 // header or each other. There is no guaranteed wrapper we can rely onCOMMENT
LOWcore/tests/Drupal/Tests/Core/Form/ConfigTargetTest.php361 /**COMMENT
LOW…ests/Core/Cache/BackendChainImplementationUnitTest.php61COMMENT
LOW…e/tests/Drupal/Tests/Core/Cache/CacheCollectorTest.php241COMMENT
LOWcore/tests/Drupal/Tests/Core/Batch/PercentagesTest.php41 // Set up an array of test cases.COMMENT
LOWcore/tests/Drupal/Tests/Core/Batch/PercentagesTest.php61 [200, 1, '0.5'],COMMENT
LOW…ser/Plugin/Scaffold/Functional/ScaffoldUpgradeTest.php121 // vendor directory, so that the installed plugin keeps the old codeCOMMENT
LOW…ent/Annotation/Doctrine/StaticReflectionParserTest.php21 #[TestWith(["AttributeClass", "Attribute", true])]COMMENT
LOW…sts/Drupal/FunctionalJavascriptTests/Ajax/AjaxTest.php201 // as the one to clear the log element) are only executed for requestsCOMMENT
LOW…rupal/KernelTests/Core/Config/SchemaCheckTraitTest.php121COMMENT
LOW…elTests/Core/Config/ConfigEntityValidationTestBase.php561COMMENT
LOW…ts/Core/TypedData/ValidKeysConstraintValidatorTest.php301 // `requiredKey: false` set, then they MUST be set. In otherCOMMENT
LOW…pal/KernelTests/Core/Entity/ContentEntityCacheTest.php161 // from the persistent entity cache. This simulates e.g. a behavior whereCOMMENT
LOW…pal/KernelTests/Core/Entity/ContentEntityCloneTest.php341 }COMMENT
LOW…sts/Drupal/KernelTests/Core/Entity/EntityQueryTest.php521 ->accessCheck(FALSE)COMMENT
LOW…sts/Drupal/KernelTests/Core/Entity/EntityQueryTest.php541 // 15 blue pl *COMMENT
LOW…s/Drupal/KernelTests/Core/Menu/MenuTreeStorageTest.php221 // ===============COMMENT
LOW…ts/Drupal/KernelTests/Core/Hook/HookAlterOrderTest.php141 // This method has a reorder targeting it, but it is using a hook thatCOMMENT
LOW…sts/Core/Session/AccessPolicyProcessorInFibersTest.php41COMMENT
LOW…tests/Drupal/KernelTests/Config/Schema/MappingTest.php301 ],COMMENT
LOWcore/recipes/example/recipe.yml1# The name of the recipe.COMMENT
LOWcore/scripts/dev/commit-code-check.sh1#!/bin/bashCOMMENT
LOWcore/scripts/dev/commit-code-check.sh101COMMENT
LOWcore/lib/Drupal/Core/Database/ReplicaKillSwitch.php81 //COMMENT
LOWcore/lib/Drupal/Core/Database/Install/Tasks.php221COMMENT
LOWcore/lib/Drupal/Core/Form/FormValidator.php361 protected function determineLimitValidationErrors(FormStateInterface &$form_state) {COMMENT
LOWcore/lib/Drupal/Core/Form/FormState.php1261 foreach ($this->getCleanValueKeys() as $value) {COMMENT
LOWcore/lib/Drupal/Core/Form/FormState.php1281 // 'baz' => 'button_value',COMMENT
LOWcore/lib/Drupal/Core/Form/FormBuilder.php301COMMENT
LOWcore/lib/Drupal/Core/Form/FormBuilder.php321 $form_state->setFormState($cache_form_state);COMMENT
LOWcore/lib/Drupal/Core/Form/FormBuilder.php341 // All of the handlers in the pipeline receive $form_state by reference andCOMMENT
LOWcore/lib/Drupal/Core/Form/FormBuilder.php361 // $ajax_form_request that it's an AJAX request for this particular form.COMMENT
LOWcore/lib/Drupal/Core/Form/FormBuilder.php381 // we're here, it means that this is either a form being viewed initiallyCOMMENT
LOWcore/lib/Drupal/Core/Form/FormBuilder.php401 // method, we base the decision to cache on the form method, because:COMMENT
LOWcore/lib/Drupal/Core/Form/FormBuilder.php641 // Typically, a submit handler calls $form_state->setRebuild(TRUE) whenCOMMENT
LOWcore/lib/Drupal/Core/Form/FormBuilder.php761 // and #parents being set elsewhere.COMMENT
LOWcore/lib/Drupal/Core/Form/FormBuilder.php1161 // Allow Ajax submissions to the form action to bypass verification. ThisCOMMENT
LOWcore/lib/Drupal/Core/Form/FormBuilder.php1241 // @todo Remove this files prefix now?COMMENT
LOWcore/lib/Drupal/Core/Form/FormBuilder.php1261 // who has JavaScript disabled trigger that condition? Instead, developersCOMMENT
LOWcore/lib/Drupal/Core/Form/FormBuilder.php1301 $input_exists = NULL;COMMENT
LOWcore/lib/Drupal/Core/Extension/ModuleWeight.php61 *COMMENT
LOWcore/lib/Drupal/Core/Extension/ModuleInstaller.php401 // particular, this happens when installing Drupal via Drush, as theCOMMENT
LOWcore/lib/Drupal/Core/Extension/ModuleInstaller.php441 // \Drupal\Tests\forum\Functional\Module\DependencyTest::testUninstallDependents().COMMENT
LOWcore/lib/Drupal/Core/Extension/ExtensionDiscovery.php161COMMENT
LOWcore/lib/Drupal/Core/Extension/ExtensionDiscovery.php421 // symlinks (to allow extensions to be linked from elsewhere), and returnCOMMENT
LOWcore/lib/Drupal/Core/Extension/ModuleHandler.php461 // First we get the the modules in moduleList order, this order is moduleCOMMENT
LOWcore/lib/Drupal/Core/Extension/module.api.php381 * @see install_tasks()COMMENT
LOWcore/lib/Drupal/Core/Extension/module.api.php401 ],COMMENT
LOWcore/lib/Drupal/Core/Extension/module.api.php421 'display_name' => t('Import additional data'),COMMENT
LOWcore/lib/Drupal/Core/Cache/DatabaseBackend.php121 }COMMENT
199 more matches not shown…
Modern AI Meta-Vocabulary56 hits · 181 pts
SeverityFileLineSnippetContext
MEDIUM…sts/Composer/Template/ComposerProjectTemplatesTest.php271 // Verify that there is an autoloader. This is written by the scaffoldCOMMENT
MEDIUM…/Composer/Plugin/Scaffold/Integration/AppendOpTest.php58 // Assert the target contained the contents from the correct scaffold files.COMMENT
MEDIUM…Composer/Plugin/Scaffold/Integration/ReplaceOpTest.php36 // Assert the target contained the contents from the correct scaffold file.COMMENT
MEDIUM…Composer/Plugin/Scaffold/Integration/ReplaceOpTest.php54 // Assert the target contained the contents from the correct scaffold file.COMMENT
MEDIUM…Composer/Plugin/Scaffold/Integration/ReplaceOpTest.php94 // Assert the target contained the contents from the correct scaffold file.COMMENT
MEDIUM…s/Composer/Plugin/Scaffold/Functional/ScaffoldTest.php118 // Test drupal:scaffold.COMMENT
MEDIUM…s/Composer/Plugin/Scaffold/Functional/ScaffoldTest.php174 // Test scaffold. Expect an error.COMMENT
MEDIUM…s/Composer/Plugin/Scaffold/Functional/ScaffoldTest.php380 // top-level composer.json excludes it from the files to scaffold.COMMENT
MEDIUM…s/Composer/Plugin/Scaffold/Functional/ScaffoldTest.php399 // Assert scaffold files are written in the correct locations.COMMENT
MEDIUM…ser/Plugin/Scaffold/Functional/ManageGitIgnoreTest.php112 // Run the scaffold command.COMMENT
MEDIUM…ser/Plugin/Scaffold/Functional/ManageGitIgnoreTest.php156 // Run the scaffold command.COMMENT
MEDIUM…ser/Plugin/Scaffold/Functional/ManageGitIgnoreTest.php176 // Run the scaffold command.COMMENT
MEDIUM…ser/Plugin/Scaffold/Functional/ManageGitIgnoreTest.php222 // Run the scaffold command.COMMENT
MEDIUM…mposer/Plugin/Scaffold/Functional/ComposerHookTest.php85 // since there is no lock file. Ensure that scaffold operation ran.COMMENT
MEDIUM…mposer/Plugin/Scaffold/Functional/ComposerHookTest.php88 // Run composer required to add in the scaffold-override-fixture. ThisCOMMENT
MEDIUM…mposer/Plugin/Scaffold/Functional/ComposerHookTest.php90 // We expect that requiring this library should re-scaffold, resultingCOMMENT
MEDIUM…mposer/Plugin/Scaffold/Functional/ComposerHookTest.php97 // Delete one scaffold file, just for test purposes, then runCOMMENT
MEDIUM…mposer/Plugin/Scaffold/Functional/ComposerHookTest.php98 // 'composer update' and see if the scaffold file is replaced.COMMENT
MEDIUM…mposer/Plugin/Scaffold/Functional/ComposerHookTest.php103 // Delete the same test scaffold file again, then runCOMMENT
MEDIUM…mposer/Plugin/Scaffold/Functional/ComposerHookTest.php104 // 'composer drupal:scaffold' and see if the scaffold file isCOMMENT
MEDIUM…mposer/Plugin/Scaffold/Functional/ComposerHookTest.php110 // Delete the same test scaffold file yet again, then runCOMMENT
MEDIUM…mposer/Plugin/Scaffold/Functional/ComposerHookTest.php111 // 'composer install' and see if the scaffold file is re-scaffolded.COMMENT
MEDIUM…mposer/Plugin/Scaffold/Functional/ComposerHookTest.php134 // since there is no lock file. Ensure that scaffold operation ran.COMMENT
MEDIUM…mposer/Plugin/Scaffold/Functional/ComposerHookTest.php140 // Run scaffold operation again. It should not print anything.COMMENT
MEDIUM…mposer/Plugin/Scaffold/Functional/ComposerHookTest.php145 // Delete a file and run it again. It should re-scaffold the removed file.COMMENT
MEDIUM…ser/Plugin/Scaffold/Functional/ScaffoldUpgradeTest.php71 // First step: set up the Scaffold plug in. Ensure that scaffold operationCOMMENT
MEDIUM…ser/Plugin/Scaffold/Functional/ScaffoldUpgradeTest.php76 // Next, bring back packagist.org and install core-composer-scaffold:8.8.0.COMMENT
MEDIUM…ser/Plugin/Scaffold/Functional/ScaffoldUpgradeTest.php101 // Remove a scaffold file and run the scaffold command again to prove thatCOMMENT
MEDIUMcore/scripts/PackageManagerFixtureCreator.php36 // Copy drupal scaffold file mapping from core/composer.json toCOMMENT
MEDIUMcore/lib/Drupal/Core/Session/SessionConfiguration.php31 // @see core/assets/scaffold/files/default.services.ymlCOMMENT
MEDIUM…ge_manager/tests/src/Build/TemplateProjectTestBase.php502 // scaffold files, like Drupal core.COMMENT
MEDIUM…age_manager/tests/src/Kernel/ComposerInspectorTest.php505 // The scaffold and runtime plugins are explicitly disallowed by theCOMMENT
MEDIUM…/Kernel/PathExcluder/SiteConfigurationExcluderTest.php107 // to ensure the scaffold plugin can copy certain files into there.COMMENT
MEDIUM…ckage_manager/src/PathExcluder/UnknownPathExcluder.php97 // operations, along with `composer.json`, `composer.lock`, and any scaffoldCOMMENT
MEDIUM…ckage_manager/src/PathExcluder/UnknownPathExcluder.php107 // to do anything special for scaffold files that live in it.COMMENT
MEDIUMcomposer/Plugin/Scaffold/ComposerScaffoldCommand.php41For more information, see https://www.drupal.org/docs/develop/using-composer/using-drupals-composer-scaffold.CODE
MEDIUMcomposer/Plugin/Scaffold/ScaffoldFilePath.php132 // Calculate the full path to the source scaffold file.COMMENT
MEDIUMcomposer/Plugin/Scaffold/Handler.php136 // may declare scaffold files. Note that the top-level composer.json fileCOMMENT
MEDIUMcomposer/Plugin/Scaffold/Handler.php144 // Call any pre-scaffold scripts that may be defined.COMMENT
MEDIUMcomposer/Plugin/Scaffold/Handler.php159 // Get the scaffold files whose contents on disk match what we are about toCOMMENT
MEDIUMcomposer/Plugin/Scaffold/Handler.php181 // Add the managed scaffold files to .gitignore if applicable.COMMENT
MEDIUMcomposer/Plugin/Scaffold/Handler.php185 // Call post-scaffold scripts.COMMENT
MEDIUMcomposer/Plugin/Scaffold/Handler.php233 // Warn the user if they allow a package that does not have any scaffoldCOMMENT
MEDIUMcomposer/Plugin/Scaffold/Handler.php235 // but might not have scaffold files (version 8.7.x and earlier).COMMENT
MEDIUMcomposer/Plugin/Scaffold/README.md21[drupal-composer/drupal-project](https://github.com/drupal-composer/drupal-scaffold)CODE
MEDIUMcomposer/Plugin/Scaffold/README.md38files. See [altering scaffold files](#altering-scaffold-files) for moreCODE
MEDIUMcomposer/Plugin/Scaffold/README.md192scaffold files](#altering-scaffold-files), above. Excluding a file means thatCODE
MEDIUMcomposer/Plugin/Scaffold/README.md503### drupal-composer/drupal-scaffoldCOMMENT
MEDIUMcomposer/Plugin/Scaffold/AllowedPackages.php100 // which of the newly-installed packages have scaffold operations, andCOMMENT
MEDIUMcomposer/Plugin/Scaffold/AllowedPackages.php101 // whether or not they are allowed to scaffold by the allowed-packagesCOMMENT
MEDIUMcomposer/Plugin/Scaffold/Operations/AppendOp.php120 // Be extra-noisy of creating a new file or appending to a non-scaffoldCOMMENT
MEDIUMcomposer/Plugin/Scaffold/Operations/AppendOp.php162 // If there is no existing scaffold file at the target location, then anyCOMMENT
MEDIUM…/Plugin/Scaffold/Operations/ScaffoldFileCollection.php41 // when two projects scaffold the same file and we have to either replace orCOMMENT
MEDIUM…/Plugin/Scaffold/Operations/ScaffoldFileCollection.php63 // path, notify the scaffold operation of this fact.COMMENT
MEDIUM…/Plugin/Scaffold/Operations/ScaffoldFileCollection.php68 // Combine the scaffold operation with the destination and record it.COMMENT
MEDIUMcomposer/Template/README.txt66https://www.drupal.org/docs/develop/using-composer/using-drupals-composer-scaffoldCODE
AI Slop Vocabulary11 hits · 33 pts
SeverityFileLineSnippetContext
MEDIUMcore/lib/Drupal/Core/TypedData/TypedData.php178 // Variables in double quotes used to leverage fast string concatenation.COMMENT
MEDIUMcore/lib/Drupal/Core/Template/TwigEnvironment.php110 // "serialization.yaml" service. This allows the core serializer to utilizeCOMMENT
MEDIUMcore/lib/Drupal/Core/Template/TwigEnvironment.php173 // "serialization.yaml" service. This allows the core serializer to utilizeCOMMENT
MEDIUMcore/lib/Drupal/Core/Routing/RouteProvider.php442 // the explicit cast makes this sort more robust against unexpected input.COMMENT
MEDIUM…config_translation/src/FormElement/FormElementBase.php58 // other in the source for each element, which is why we utilize theCOMMENT
MEDIUMcore/modules/locale/src/LocaleProjectStorage.php212 // check for possible out-of-date project information more robust.COMMENT
MEDIUM…dules/file/src/Plugin/Field/FieldWidget/FileWidget.php231 // Essentially we use the managed_file type, extended with someCOMMENT
MEDIUMcore/modules/comment/src/CommentViewBuilder.php112 // Pre-load associated users into cache to leverage multiple loading.COMMENT
MEDIUM…aint/SourceEditingRedundantTagsConstraintValidator.php114 // Essentially when assessing a particular value (for example `<span>`),COMMENT
MEDIUM…odules/views/src/Entity/Render/EntityFieldRenderer.php140 // leverage multiple-entity building of formatter output, we build theCOMMENT
MEDIUMcore/modules/help/src/HelpTopicTwigLoader.php77 // utilize core related functionality which isn't available as theCOMMENT
Synthetic Comment Markers3 hits · 30 pts
SeverityFileLineSnippetContext
HIGH…b/Drupal/Core/Plugin/Context/LazyContextRepository.php69 // runtime contexts and assign them as requested.COMMENT
HIGH…ode/tests/src/Functional/NodeFieldMultilingualTest.php114 // Verify that body is correctly displayed using Italian as requestedCOMMENT
HIGH…ode/tests/src/Functional/NodeFieldMultilingualTest.php119 // Verify that body is correctly displayed using English as requestedCOMMENT
Slop Phrases12 hits · 27 pts
SeverityFileLineSnippetContext
MEDIUMcore/lib/Drupal/Core/Lock/LockBackendInterface.php25 * name of the function performing the operation. Here is a simple example:COMMENT
MEDIUM…mo_umami/tests/src/Functional/DemoUmamiProfileTest.php289 $web_assert->pageTextContains('This site is intended for demonstration purposes.');CODE
MEDIUM…mo_umami/tests/src/Functional/DemoUmamiProfileTest.php294 $web_assert->pageTextContains('This site is intended for demonstration purposes.');CODE
MEDIUM…mo_umami/tests/src/Functional/DemoUmamiProfileTest.php299 $web_assert->pageTextContains('This site is intended for demonstration purposes.');CODE
MEDIUM…mo_umami/tests/src/Functional/DemoUmamiProfileTest.php304 $web_assert->pageTextContains('This site is intended for demonstration purposes.');CODE
MEDIUM…mo_umami/tests/src/Functional/DemoUmamiProfileTest.php309 $web_assert->pageTextContains('This site is intended for demonstration purposes.');CODE
LOW…article_body/give-it-a-go-and-grow-your-own-herbs.html15<p>Coriander can grow indoors, but unlike the other herbs, it doesn't like full sun. If you have a south facing kitchen CODE
MEDIUMcore/profiles/demo_umami/src/Hook/DemoUmamiHooks.php98 '#template' => '<a class="toolbar-warning" href="{{ more_info_link }}">This site is intended for demonstration pCODE
MEDIUMcore/profiles/demo_umami/src/Hook/DemoUmamiHooks.php172 'content' => (string) $this->t('This site is intended for demonstration purposes.'),CODE
LOW…e/modules/system/src/Controller/DbUpdateController.php450 $message .= '<p>' . $this->t("<strong>Reminder: don't forget to set the <code>\$settings['update_free_access']</coCODE
MEDIUM…dules/views/src/Plugin/views/argument/NullArgument.php36 '#description' => $this->t('By checking this field, you can use this to make sure views with more arguments than nCODE
LOW…e/modules/views/src/Plugin/views/field/EntityField.php572 '#description' => $this->t('If checked, multiple values for this field will be shown in the same row. If not checkCODE
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICALcore/modules/ckeditor5/js/ckeditor5.js402 editor.ui.view.editable.element.append(element);CODE
CRITICAL…keditor5_plugins/drupalMedia/src/drupalmediaediting.js220 this.editor.editing.view.domConverter.blockElements.push('drupal-media');CODE
Verbosity Indicators7 hits · 14 pts
SeverityFileLineSnippetContext
LOWcore/lib/Drupal/Core/Command/GenerateTheme.php167 // Step 1: Replace old patterns with placeholders in content.COMMENT
LOWcore/lib/Drupal/Core/Command/GenerateTheme.php169 // Step 2: Replace placeholders with new patterns in content.COMMENT
LOWcore/lib/Drupal/Core/Command/GenerateTheme.php191 // Step 3: Repeat for file renaming.COMMENT
LOWcore/modules/file/src/Element/ManagedFile.php244 // Set up the buttons first since we need to check if they were clicked.COMMENT
LOWcore/modules/mysql/src/Driver/Database/mysql/Schema.php689 // information_schema.columns so we need to check if the table exists.COMMENT
LOW…ia/tests/src/Functional/Rest/MediaResourceTestBase.php332 // Step 1: upload file, results in File entity marked temporary.COMMENT
LOW…ia/tests/src/Functional/Rest/MediaResourceTestBase.php338 // Step 2: create Media entity using the File, makes File entity permanent.COMMENT
Structural Annotation Overuse6 hits · 12 pts
SeverityFileLineSnippetContext
LOWcore/lib/Drupal/Core/Command/GenerateTheme.php167 // Step 1: Replace old patterns with placeholders in content.COMMENT
LOWcore/lib/Drupal/Core/Command/GenerateTheme.php169 // Step 2: Replace placeholders with new patterns in content.COMMENT
LOWcore/lib/Drupal/Core/Command/GenerateTheme.php191 // Step 3: Repeat for file renaming.COMMENT
LOW…s/node/tests/src/Functional/Views/NodeLanguageTest.php241 // IMPORTANT: Make sure this part of the test is last -- it is changingCOMMENT
LOW…ia/tests/src/Functional/Rest/MediaResourceTestBase.php332 // Step 1: upload file, results in File entity marked temporary.COMMENT
LOW…ia/tests/src/Functional/Rest/MediaResourceTestBase.php338 // Step 2: create Media entity using the File, makes File entity permanent.COMMENT
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMcore/core.libraries.yml28 # This file is not aggregated to force the creation of a new aggregate fileCOMMENT
MEDIUM…themes/sdc_theme_test/components/bar/bar.component.yml1# This file is intentionally left emptyCOMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOW…migrate/src/Plugin/migrate/process/SkipRowIfNotSet.php28 * # Check if the "contact" key exists in the "data" array.COMMENT