Repository Analysis

mautic/mautic

Mautic: Open Source Marketing Automation Software.

7.3 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of mautic/mautic, a PHP project with 10,130 GitHub stars. SynthScan v2.0 examined 705,981 lines of code across 5015 source files, recording 4926 pattern matches distributed across 10 syntactic categories. The overall adjusted score of 7.3 places this repository in the Low AI signal band.

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

7.3
Adjusted Score
7.3
Raw Score
100%
Time Factor
2026-07-14
Last Push
10.1K
Stars
PHP
Language
706.0K
Lines of Code
5.0K
Files
4.9K
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 4HIGH 0MEDIUM 4LOW 4918

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 4926 distinct pattern matches across 10 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 Identifiers4510 hits · 4666 pts
SeverityFileLineSnippetContext
LOW…Tests/Rule/AbstractClassNameMustBeAbstractRuleTest.php31 public function testSkipRealAbstractClass(): voidCODE
LOW…Tests/Rule/AbstractClassNameMustBeAbstractRuleTest.php36 public function testSkipClassWithoutAbstractInName(): voidCODE
LOWapp/AppKernel.php256 public function registerContainerConfiguration(LoaderInterface $loader): voidCODE
LOWapp/middlewares/CORSMiddleware.php94 private function getAllowOriginHeaderValue(Request $request)CODE
LOWapp/middlewares/Tests/HSTSMiddlewareTest.php73 public function testIncludeSubdomainsEnabled(): voidCODE
LOWapp/middlewares/Tests/HSTSMiddlewareTest.php87 public function testIncludeSubdomainsDisabled(): voidCODE
LOWapp/middlewares/Tests/HSTSMiddlewareTest.php156 private function setIncludeDubDomainsValue(bool $value): voidCODE
LOWapp/middlewares/Tests/Dev/IpRestrictMiddlewareTest.php30 public function testWorkflowWithLocalhostIp(): voidCODE
LOWapp/middlewares/Tests/Dev/IpRestrictMiddlewareTest.php51 public function testWorkflowWithDisallowedIp(): voidCODE
LOWapp/middlewares/Tests/Dev/IpRestrictMiddlewareTest.php77 public function testWorkflowWithConfiguredIp(): voidCODE
LOWapp/bundles/ReportBundle/Entity/SchedulerRepository.php24 public function getScheduledReportsForExport(ExportOption $exportOption)CODE
LOWapp/bundles/ReportBundle/Entity/ReportRepository.php40 protected function addSearchCommandWhereClause($q, $filter): arrayCODE
LOWapp/bundles/ReportBundle/Entity/Report.php495 public function getSelectAndAggregatorAndOrderAndGroupByColumns(): arrayCODE
LOWapp/bundles/ReportBundle/Entity/Report.php500 public function getSelectAndAggregatorColumns(): arrayCODE
LOWapp/bundles/ReportBundle/Entity/Report.php602 public function getScheduleMonthFrequency()CODE
LOWapp/bundles/ReportBundle/Entity/Report.php610 public function setScheduleMonthFrequency($scheduleMonthFrequency): voidCODE
LOWapp/bundles/ReportBundle/Tests/Fixtures.php159 public static function getValidReportTotalResult(): intCODE
LOWapp/bundles/ReportBundle/Tests/Fixtures.php197 public static function getReportBuilderEventData(): arrayCODE
LOWapp/bundles/ReportBundle/Tests/Fixtures.php256 public static function getValidReportResultWithAggregatedColumns(): arrayCODE
LOWapp/bundles/ReportBundle/Tests/Fixtures.php306 public static function getValidReportDataAggregatedColumns(): arrayCODE
LOWapp/bundles/ReportBundle/Tests/Fixtures.php329 public static function getValidReportDataAggregatedTotals(): arrayCODE
LOWapp/bundles/ReportBundle/Tests/Fixtures.php341 public static function getValidReportWithAggregatedColumnsHeaders(): arrayCODE
LOWapp/bundles/ReportBundle/Tests/Fixtures.php355 public static function getValidReportWithAggregatedColumnsKeys(): arrayCODE
LOWapp/bundles/ReportBundle/Tests/Fixtures.php366 public static function getValidReportWithAggregatedColumnsTotalResult(): intCODE
LOWapp/bundles/ReportBundle/Tests/Fixtures.php374 public static function getValidReportResultWithNoGraphs(): arrayCODE
LOWapp/bundles/ReportBundle/Tests/Fixtures.php385 public static function getValidReportResultWithGraphs(): arrayCODE
LOW…dles/ReportBundle/Tests/Unit/Model/ReportModelTest.php20 public function testThatGetReportDataUsesCorrectDataRange(): voidCODE
LOW…rm/DataTransformer/ReportFilterDataTransformerTest.php62 public function testTransformUtcToLocalForSupportedTypes(string $column, string $utcValue, string $expectedLocalValuCODE
LOW…rm/DataTransformer/ReportFilterDataTransformerTest.php84 public function testReverseTransformLocalToUtc(): voidCODE
LOW…rm/DataTransformer/ReportFilterDataTransformerTest.php101 public function testTransformationIsSkippedForStringLikeConditions(string $condition): voidCODE
LOW…rm/DataTransformer/ReportFilterDataTransformerTest.php120 public function testReturnsOriginalFiltersIfColumnIsNotDefined(): voidCODE
LOW…undles/ReportBundle/Tests/Form/Type/ReportTypeTest.php37 public function testBuildFormThatAssetWillBePreselectedSource(): voidCODE
LOW…eportBundle/Tests/Form/Type/FilterSelectorTypeTest.php32 public function testBuildFormWithTagFilter(): voidCODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php123 public function testBuildFormWithNoDynamicFilters(): voidCODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php132 public function testBuildFormWithNonDynamicFilter(): voidCODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php143 public function testBuildFormWithDynamicFilterDefaultType(): voidCODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php175 public function testBuildFormWithDynamicFilterBoolType(): voidCODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php215 public function testBuildFormWithDynamicFilterBooleanType(): voidCODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php237 public function testBuildFormWithDynamicFilterDateType(): voidCODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php273 public function testBuildFormWithDynamicFilterDateTimeType(): voidCODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php309 public function testBuildFormWithDynamicFilterSelectType(): voidCODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php335 public function testBuildFormWithDynamicFilterMultiselectType(): voidCODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php363 public function testBuildFormWithDynamicFilterWithData(): voidCODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php385 public function testBuildFormWithDynamicFilterInvalidOperatorGroup(): voidCODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php407 public function testBuildFormWithDynamicFilterNoOperatorGroup(): voidCODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php429 public function testBuildFormWithDynamicFilterNoOperatorLabel(): voidCODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php498 public function testFilterWithDefaultValueIsSet(): voidCODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php527 public function testBooleanFilterIsSetCorrectly(): voidCODE
LOW…/ReportBundle/Tests/Entity/SchedulerRepositoryTest.php18 public function testGetScheduledReportsForExportNoID(): voidCODE
LOWapp/bundles/ReportBundle/Tests/Entity/ReportTest.php66 public function testInvalidMonthlyScheduled(): voidCODE
LOWapp/bundles/ReportBundle/Tests/Entity/ReportTest.php74 public function testInvalidWeeklyScheduled(): voidCODE
LOWapp/bundles/ReportBundle/Tests/Entity/ReportTest.php82 public function testGetFilterValueIfFIltersAreEmpty(): voidCODE
LOWapp/bundles/ReportBundle/Tests/Entity/ReportTest.php90 public function testGetFilterValueIfExists(): voidCODE
LOWapp/bundles/ReportBundle/Tests/Entity/ReportTest.php103 public function testGetFilterValueIfDoesNotExist(): voidCODE
LOW…s/Scheduler/Validator/ScheduleIsValidValidatorTest.php246 public function testNotSupportedScheduleType(): voidCODE
LOW…/ReportBundle/Tests/Scheduler/Date/DateBuilderTest.php60 public function testSchedulerNotSupported(): voidCODE
LOW…/ReportBundle/Tests/Scheduler/Date/DateBuilderTest.php98 public function testGetPreviewDaysForMonths(): voidCODE
LOW…rtBundle/Tests/Scheduler/Model/MessageScheduleTest.php32 public function testGetMessageForAttachedFile(): voidCODE
LOW…rtBundle/Tests/Scheduler/Model/MessageScheduleTest.php53 public function testGetMessageForLinkedFile(): voidCODE
LOW…eportBundle/Tests/Scheduler/Model/SendScheduleTest.php62 public function testSendScheduleWithCsvFile(): voidCODE
4450 more matches not shown…
Fake / Example Data366 hits · 382 pts
SeverityFileLineSnippetContext
LOWapp/bundles/ReportBundle/Form/Type/TableOrderType.php35 'placeholder' => false,CODE
LOWapp/bundles/ReportBundle/Form/Type/TableOrderType.php56 'placeholder' => false,CODE
LOW…/bundles/ReportBundle/Form/Type/DynamicFiltersType.php59 $args['attr']['placeholder'] = $filter['value'];CODE
LOW…/bundles/ReportBundle/Form/Type/DynamicFiltersType.php61 $args['attr']['placeholder'] = $definition['defaultValue'];CODE
LOWapp/bundles/ReportBundle/Form/Type/ReportType.php122 'placeholder' => false,CODE
LOWapp/bundles/ReportBundle/Form/Type/ReportType.php335 'placeholder' => false,CODE
LOWapp/bundles/ReportBundle/Form/Type/ReportType.php353 'placeholder' => false,CODE
LOWapp/bundles/ReportBundle/Form/Type/ReportType.php371 'placeholder' => false,CODE
LOWapp/bundles/ReportBundle/Form/Type/AggregatorType.php40 'placeholder' => false,CODE
LOWapp/bundles/ReportBundle/Form/Type/AggregatorType.php58 'placeholder' => false,CODE
LOW…/bundles/ReportBundle/Form/Type/FilterSelectorType.php34 'placeholder' => false,CODE
LOW…/bundles/ReportBundle/Form/Type/FilterSelectorType.php61 'placeholder' => false,CODE
LOW…/bundles/ReportBundle/Form/Type/FilterSelectorType.php115 'placeholder' => false,CODE
LOWapp/bundles/ReportBundle/Form/Type/ReportWidgetType.php47 'placeholder' => false,CODE
LOW…eportBundle/Tests/Form/Type/FilterSelectorTypeTest.php79 'placeholder' => false,CODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php162 'placeholder' => 'test_value',CODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php194 'placeholder' => 1,CODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php256 'placeholder' => '2023-01-01',CODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php292 'placeholder' => '2023-01-01 12:00:00',CODE
LOW…eportBundle/Tests/Form/Type/DynamicFiltersTypeTest.php583 $this->assertEquals('US', $view->children['country']->vars['attr']['placeholder']);CODE
LOW…le/Tests/Controller/ReportControllerFunctionalTest.php379 $report->setToAddress('test@test.com');CODE
LOW…le/Tests/Controller/ReportControllerFunctionalTest.php497 $toAddress = 'test@test.com';CODE
LOW…bhookBundle/Form/Type/CampaignEventSendWebhookType.php61 'placeholder' => false,CODE
LOWapp/bundles/WebhookBundle/Form/Type/WebhookType.php139 'placeholder' => 'mautic.core.form.default',CODE
LOWapp/bundles/WebhookBundle/Form/Type/ConfigType.php31 'placeholder' => false,CODE
LOW…les/InstallBundle/Tests/Command/InstallCommandTest.php77 '--admin_email' => 'admin@example.com',CODE
LOW…s/InstallBundle/Configurator/Form/DoctrineStepType.php37 'placeholder' => false,CODE
LOWapp/bundles/DashboardBundle/Form/Type/WidgetType.php56 'placeholder' => 'mautic.core.select',CODE
LOW…bundles/ConfigBundle/Form/Helper/RestrictionHelper.php71 'placeholder' => $this->translator->trans('mautic.config.restricted'),CODE
LOW…nfigBundle/Tests/Form/Helper/RestrictionHelperTest.php197 'placeholder' => 'mautic.config.restricted',CODE
LOW…bundles/ConfigBundle/Tests/Mapper/ConfigMapperTest.php105 'address' => 'test@test.com',CODE
LOW…bundles/ConfigBundle/Tests/Mapper/ConfigMapperTest.php109 'user' => 'test@test.com',CODE
LOW…bundles/ConfigBundle/Tests/Mapper/ConfigMapperTest.php195 'address' => 'test@test.com',CODE
LOW…bundles/ConfigBundle/Tests/Mapper/ConfigMapperTest.php199 'user' => 'test@test.com',CODE
LOW…igBundle/Tests/Mapper/Helper/RestrictionHelperTest.php52 'address' => 'test@test.com',CODE
LOW…igBundle/Tests/Mapper/Helper/RestrictionHelperTest.php56 'user' => 'test@test.com',CODE
LOW…igBundle/Tests/Mapper/Helper/RestrictionHelperTest.php86 'address' => 'test@test.com',CODE
LOW…igBundle/Tests/Mapper/Helper/RestrictionHelperTest.php90 'user' => 'test@test.com',CODE
LOW…/ConfigBundle/Tests/Mapper/Helper/ConfigHelperTest.php56 'address' => 'test@test.com',CODE
LOW…/ConfigBundle/Tests/Mapper/Helper/ConfigHelperTest.php60 'user' => 'test@test.com',CODE
LOW…/ConfigBundle/Tests/Mapper/Helper/ConfigHelperTest.php96 'address' => 'test@test.com',CODE
LOW…/ConfigBundle/Tests/Mapper/Helper/ConfigHelperTest.php100 'user' => 'test@test.com',CODE
LOW…/bundles/CampaignBundle/Form/Type/CampaignListType.php48 'placeholder' => false,CODE
LOWapp/bundles/CampaignBundle/Form/Type/EventType.php86 'placeholder' => false,CODE
LOWapp/bundles/CampaignBundle/Form/Type/EventType.php145 'placeholder' => false,CODE
LOWapp/bundles/CampaignBundle/Form/Type/EventType.php237 'placeholder' => false,CODE
LOW…aignBundle/Tests/Model/CampaignModelFunctionalTest.php217 $stat->setEmailAddress('test@test.com');CODE
LOW…paignBundle/Tests/Functional/Fixtures/entity_data.json590 "custom_html": "<!doctype html>\r\n<html lang=\"und\" dir=\"auto\" xmlns=\"http:\/\/www.w3.org\/1999\/xhCODE
LOW…paignBundle/Tests/Functional/Fixtures/entity_data.json590 "custom_html": "<!doctype html>\r\n<html lang=\"und\" dir=\"auto\" xmlns=\"http:\/\/www.w3.org\/1999\/xhCODE
LOW…paignBundle/Tests/Functional/Fixtures/entity_data.json711 "placeholder": nullCODE
LOW…ndles/CampaignBundle/Controller/CampaignController.php861 'placeholder' => $this->translator->trans('mautic.campaign.filter.placeholder'),CODE
LOWapp/bundles/UserBundle/Form/Type/UserInviteType.php31 'placeholder' => 'mautic.user.invite.email.label',CODE
LOWapp/bundles/UserBundle/Form/Type/UserInviteType.php53 'placeholder' => 'mautic.user.invite.role.placeholder',CODE
LOWapp/bundles/UserBundle/Form/Type/ConfigType.php191 'placeholder' => '',CODE
LOWapp/bundles/UserBundle/Form/Type/PasswordResetType.php30 'placeholder' => 'mautic.user.auth.form.loginusername',CODE
LOW…dles/UserBundle/Form/Type/PasswordResetConfirmType.php33 'placeholder' => 'mautic.user.auth.form.loginusername',CODE
LOW…dles/UserBundle/Form/Type/PasswordResetConfirmType.php52 'placeholder' => 'mautic.user.user.passwordreset.password.placeholder',CODE
LOW…dles/UserBundle/Form/Type/PasswordResetConfirmType.php76 'placeholder' => 'mautic.user.user.passwordreset.confirm.placeholder',CODE
LOWapp/bundles/UserBundle/Form/Type/RoleListType.php28 'placeholder' => 'mautic.core.form.chooseone',CODE
LOWapp/bundles/UserBundle/Form/Type/UserType.php121 'placeholder' => $placeholder,CODE
306 more matches not shown…
Hallucination Indicators4 hits · 40 pts
SeverityFileLineSnippetContext
CRITICALthemes/fresh-fixed/js/jquery.min.js4null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;returnCODE
CRITICALthemes/fresh-wide/js/jquery.min.js4null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;returnCODE
CRITICALthemes/fresh-left/js/jquery.min.js4null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;returnCODE
CRITICALthemes/fresh-center/js/jquery.min.js4null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;returnCODE
Verbosity Indicators17 hits · 37 pts
SeverityFileLineSnippetContext
LOW…InstallBundle/Tests/Functional/InstallWorkflowTest.php59 // Step 0: System checks.COMMENT
LOW…InstallBundle/Tests/Functional/InstallWorkflowTest.php69 // Step 1: DB.COMMENT
LOW…InstallBundle/Tests/Functional/InstallWorkflowTest.php83 // Step 2: Admin user.COMMENT
LOW…le/Tests/Functional/Api/CampaignApiEventDeleteTest.php50 // Step 1: GET the campaign (like API Library test does)COMMENT
LOW…le/Tests/Functional/Api/CampaignApiEventDeleteTest.php57 // Step 2: Remove last event with array_pop (exactly like API Library test)COMMENT
LOW…le/Tests/Functional/Api/CampaignApiEventDeleteTest.php60 // Step 3: PUT request to update campaign (this triggers the SQL error)COMMENT
LOW…/EventListener/CustomFieldSubscriberFunctionalTest.php27 // Step 1: Create a custom field of type select with 4 optionsCOMMENT
LOW…/EventListener/CustomFieldSubscriberFunctionalTest.php30 // Step 2: Create a form with a field mapped to the custom field using syncListCOMMENT
LOW…/EventListener/CustomFieldSubscriberFunctionalTest.php33 // Step 3: Create a landing page with the formCOMMENT
LOW…/EventListener/CustomFieldSubscriberFunctionalTest.php53 // Step 4: Edit custom field and remove one optionCOMMENT
LOW…/EventListener/CustomFieldSubscriberFunctionalTest.php56 // Step 5: Refresh the page and assert the form has updated optionsCOMMENT
LOW…undle/Tests/Functional/Model/FocusFormAutoFillTest.php22 // Step 1: Create a form with an email field that has auto-fill enabledCOMMENT
LOW…undle/Tests/Functional/Model/FocusFormAutoFillTest.php43 // Step 2: Create a Focus item using this formCOMMENT
LOW…undle/Tests/Functional/Model/FocusFormAutoFillTest.php75 // Step 3: Create a contact with emailCOMMENT
LOW…undle/Tests/Functional/Model/FocusFormAutoFillTest.php81 // Step 4: Track the contact using setSystemContact (bypasses HTTP request requirement)COMMENT
LOW…undle/Tests/Functional/Model/FocusFormAutoFillTest.php86 // Step 5: Generate Focus content directlyCOMMENT
LOW…undle/Tests/Functional/Model/FocusFormAutoFillTest.php91 // Step 6: Verify the generated form HTML contains auto-filled email valueCOMMENT
Structural Annotation Overuse17 hits · 37 pts
SeverityFileLineSnippetContext
LOW…InstallBundle/Tests/Functional/InstallWorkflowTest.php59 // Step 0: System checks.COMMENT
LOW…InstallBundle/Tests/Functional/InstallWorkflowTest.php69 // Step 1: DB.COMMENT
LOW…InstallBundle/Tests/Functional/InstallWorkflowTest.php83 // Step 2: Admin user.COMMENT
LOW…le/Tests/Functional/Api/CampaignApiEventDeleteTest.php50 // Step 1: GET the campaign (like API Library test does)COMMENT
LOW…le/Tests/Functional/Api/CampaignApiEventDeleteTest.php57 // Step 2: Remove last event with array_pop (exactly like API Library test)COMMENT
LOW…le/Tests/Functional/Api/CampaignApiEventDeleteTest.php60 // Step 3: PUT request to update campaign (this triggers the SQL error)COMMENT
LOW…/EventListener/CustomFieldSubscriberFunctionalTest.php27 // Step 1: Create a custom field of type select with 4 optionsCOMMENT
LOW…/EventListener/CustomFieldSubscriberFunctionalTest.php30 // Step 2: Create a form with a field mapped to the custom field using syncListCOMMENT
LOW…/EventListener/CustomFieldSubscriberFunctionalTest.php33 // Step 3: Create a landing page with the formCOMMENT
LOW…/EventListener/CustomFieldSubscriberFunctionalTest.php53 // Step 4: Edit custom field and remove one optionCOMMENT
LOW…/EventListener/CustomFieldSubscriberFunctionalTest.php56 // Step 5: Refresh the page and assert the form has updated optionsCOMMENT
LOW…undle/Tests/Functional/Model/FocusFormAutoFillTest.php22 // Step 1: Create a form with an email field that has auto-fill enabledCOMMENT
LOW…undle/Tests/Functional/Model/FocusFormAutoFillTest.php43 // Step 2: Create a Focus item using this formCOMMENT
LOW…undle/Tests/Functional/Model/FocusFormAutoFillTest.php75 // Step 3: Create a contact with emailCOMMENT
LOW…undle/Tests/Functional/Model/FocusFormAutoFillTest.php81 // Step 4: Track the contact using setSystemContact (bypasses HTTP request requirement)COMMENT
LOW…undle/Tests/Functional/Model/FocusFormAutoFillTest.php86 // Step 5: Generate Focus content directlyCOMMENT
LOW…undle/Tests/Functional/Model/FocusFormAutoFillTest.php91 // Step 6: Verify the generated form HTML contains auto-filled email valueCOMMENT
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM…undles/LeadBundle/Controller/Api/LeadApiController.php597 // new endpoints will leverage getNewEntity in order to return the correct status codesCOMMENT
MEDIUM…p/bundles/CoreBundle/Assets/js/libraries/8a.adminre.js694 // utilize bootstrap collapseCOMMENT
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM…ries/bootstrap/_bootstrap-mautic-custom-variables.scss288//## Define the breakpoints at which your layout will change, adapting to different screen sizes.COMMENT
MEDIUM…ries/bootstrap/_bootstrap-mautic-custom-variables.scss342//## Define the maximum width of `.container` for different screen sizes.COMMENT
Over-Commented Block6 hits · 6 pts
SeverityFileLineSnippetContext
LOWapp/bundles/PageBundle/Model/TrackableModel.php681COMMENT
LOW…derBundle/Assets/library/js/preset-mautic/listeners.js1export default () => {COMMENT
LOW…ibrary/js/preset-mautic/buttons/buttonClose.command.js81COMMENT
LOW…preset-mautic/dynamicContent/dynamicContent.service.js161COMMENT
LOW…preset-mautic/dynamicContent/dynamicContent.service.js221 }COMMENT
LOWplugins/MauticSocialBundle/Form/Type/TweetSendType.php81 // ]COMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOW.ddev/mautic-setup.sh40# Check if the user has indicated their preference for the Mautic installationCOMMENT
Slop Phrases1 hit · 1 pts
SeverityFileLineSnippetContext
LOWapp/bundles/LeadBundle/Translations/en_US/messages.ini73mautic.contact.noinformation.places="Our system is still on the trail. Don't forget to enable geolocation services in thCODE