Magento Coding Standard (PHPCS) report for amadeco/module-elasticsuite-behavioral ================================================================================= Package version: v1.1.0 | Magento: 2.4.9 | Tested: 2026-05-26 5 errors, 71 warnings in 21 files Service/BehavioralService.php 35:1 error Final keyword is prohibited in Magento. It decreases extensibility and is not compatible with plugins and proxies. (Magento2.PHP.FinalImplementation.FoundFinal) 164:13 warning $stats parameter is missing in method annotation (Magento2.Annotation.MethodArguments.ArgumentMissing) Plugin/Tracker/ExposeVisibleProductsPlugin.php 28:8 warning Method arguments visual alignment must be consistent (Magento2.Annotation.MethodArguments.VisualAlignment) 34:8 warning Closing brace must be on a line by itself (Squiz.WhiteSpace.ScopeClosingBrace.ContentBefore) 57:1 warning Expected 1 newline at end of file; 0 found (PSR2.Files.EndFileNewline.NoneFound) Plugin/Block/CaptureVisibleProductsPlugin.php 32:8 warning Closing brace must be on a line by itself (Squiz.WhiteSpace.ScopeClosingBrace.ContentBefore) 60:1 warning Expected 1 newline at end of file; 0 found (PSR2.Files.EndFileNewline.NoneFound) Model/Collector/VisibleProductsProvider.php 67:1 warning Expected 1 newline at end of file; 0 found (PSR2.Files.EndFileNewline.NoneFound) Model/Config.php 26:1 error Final keyword is prohibited in Magento. It decreases extensibility and is not compatible with plugins and proxies. (Magento2.PHP.FinalImplementation.FoundFinal) 195:123 warning Line exceeds 120 characters; contains 123 characters (Generic.Files.LineLength.TooLong) 300:64 warning There must be exactly one blank line between lines short and long descriptions (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) Model/Optimizer/Applier/BehavioralBoostApplier.php 133:1 warning Expected 1 newline at end of file; 0 found (PSR2.Files.EndFileNewline.NoneFound) Model/BehavioralMetric.php 285:1 warning Expected 1 newline at end of file; 0 found (PSR2.Files.EndFileNewline.NoneFound) Model/Calculator/ShuffleCalculator.php 79:1 warning Expected 1 newline at end of file; 0 found (PSR2.Files.EndFileNewline.NoneFound) Model/Calculator/BayesianSmoother.php 10:1 error Final keyword is prohibited in Magento. It decreases extensibility and is not compatible with plugins and proxies. (Magento2.PHP.FinalImplementation.FoundFinal) Model/Calculator/ScoreCalculator.php 70:8 warning Method arguments visual alignment must be consistent (Magento2.Annotation.MethodArguments.VisualAlignment) 75:12 warning $stats parameter is missing in method annotation (Magento2.Annotation.MethodArguments.ArgumentMissing) 176:13 warning $stats parameter is missing in method annotation (Magento2.Annotation.MethodArguments.ArgumentMissing) 176:13 warning $storeConfig parameter is missing in method annotation (Magento2.Annotation.MethodArguments.ArgumentMissing) 210:130 warning Line exceeds 120 characters; contains 130 characters (Generic.Files.LineLength.TooLong) 295:13 warning $storeConfig parameter is missing in method annotation (Magento2.Annotation.MethodArguments.ArgumentMissing) 309:66 warning There must be exactly one blank line between lines short and long descriptions (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 318:13 warning $storeConfig parameter is missing in method annotation (Magento2.Annotation.MethodArguments.ArgumentMissing) 349:134 warning Line exceeds 120 characters; contains 134 characters (Generic.Files.LineLength.TooLong) 363:133 warning Line exceeds 120 characters; contains 133 characters (Generic.Files.LineLength.TooLong) 377:78 warning There must be exactly one blank line between lines short and long descriptions (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 401:91 warning There must be exactly one blank line between lines short and long descriptions (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 428:13 warning $context parameter is missing in method annotation (Magento2.Annotation.MethodArguments.ArgumentMissing) Model/Event/Processor/VisibleIds.php 24:5 warning Missing short description (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 25:8 warning There must be exactly one blank line before tags (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 52:1 warning Expected 1 newline at end of file; 0 found (PSR2.Files.EndFileNewline.NoneFound) Model/ResourceModel/BehavioralData.php 101:47 warning There must be exactly one blank line between lines short and long descriptions (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 113:124 warning Line exceeds 120 characters; contains 124 characters (Generic.Files.LineLength.TooLong) 114:122 warning Line exceeds 120 characters; contains 122 characters (Generic.Files.LineLength.TooLong) 222:65 warning There must be exactly one blank line between lines short and long descriptions (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 234:124 warning Line exceeds 120 characters; contains 124 characters (Generic.Files.LineLength.TooLong) 235:122 warning Line exceeds 120 characters; contains 122 characters (Generic.Files.LineLength.TooLong) 256:13 warning int> duplicate found in method annotation (Magento2.Annotation.MethodArguments.DuplicateParam) 256:13 warning int> duplicate found in method annotation (Magento2.Annotation.MethodArguments.DuplicateParam) 256:13 warning int> duplicate found in method annotation (Magento2.Annotation.MethodArguments.DuplicateParam) 256:13 warning $impressionData parameter is missing in method annotation (Magento2.Annotation.MethodArguments.ArgumentMissing) 256:13 warning $pdpViewData parameter is missing in method annotation (Magento2.Annotation.MethodArguments.ArgumentMissing) 256:13 warning $atcData parameter is missing in method annotation (Magento2.Annotation.MethodArguments.ArgumentMissing) 333:143 warning Line exceeds 120 characters; contains 143 characters (Generic.Files.LineLength.TooLong) 338:155 warning Line exceeds 120 characters; contains 155 characters (Generic.Files.LineLength.TooLong) Model/ResourceModel/Data/TrackerDataCollector.php 28:1 error Readonly classes are not supported in PHP 8.1 or earlier. (PHPCompatibility.Classes.NewReadonlyClasses.Found) 175:1 warning Expected 1 newline at end of file; 0 found (PSR2.Files.EndFileNewline.NoneFound) Model/ResourceModel/Data/StockStatusResolver.php 32:1 error Final keyword is prohibited in Magento. It decreases extensibility and is not compatible with plugins and proxies. (Magento2.PHP.FinalImplementation.FoundFinal) 37:51 warning Use ::class notation instead. (Magento2.PHP.LiteralNamespaces.LiteralClassUsage) 186:1 warning Expected 1 newline at end of file; 0 found (PSR2.Files.EndFileNewline.NoneFound) Model/Indexer/Fulltext/Datasource/BehavioralDataSource.php 39:12 warning $indexData parameter is missing in method annotation (Magento2.Annotation.MethodArguments.ArgumentMissing) 126:86 warning There must be exactly one blank line between lines short and long descriptions (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 144:138 warning Line exceeds 120 characters; contains 138 characters (Generic.Files.LineLength.TooLong) 145:137 warning Line exceeds 120 characters; contains 137 characters (Generic.Files.LineLength.TooLong) 169:1 warning Expected 1 newline at end of file; 0 found (PSR2.Files.EndFileNewline.NoneFound) Setup/Patch/Data/CreateProductAttributes.php 167:1 warning Expected 1 newline at end of file; 0 found (PSR2.Files.EndFileNewline.NoneFound) Console/Command/CalculateScoreCommand.php 37:8 warning Method arguments visual alignment must be consistent (Magento2.Annotation.MethodArguments.VisualAlignment) 74:15 warning Empty CATCH statement detected (Magento2.CodeAnalysis.EmptyBlock.DetectedCatch) 84:128 warning Line exceeds 120 characters; contains 128 characters (Generic.Files.LineLength.TooLong) 95:138 warning Line exceeds 120 characters; contains 138 characters (Generic.Files.LineLength.TooLong) registration.php 19:2 warning Expected 1 newline at end of file; 0 found (PSR2.Files.EndFileNewline.NoneFound) Api/BehavioralServiceInterface.php 39:1 warning Expected 1 newline at end of file; 0 found (PSR2.Files.EndFileNewline.NoneFound) Api/Data/TrackerDataBagInterface.php 45:12 warning $impressions parameter is missing in method annotation (Magento2.Annotation.MethodArguments.ArgumentMissing) 60:12 warning $views parameter is missing in method annotation (Magento2.Annotation.MethodArguments.ArgumentMissing) 75:12 warning $atcs parameter is missing in method annotation (Magento2.Annotation.MethodArguments.ArgumentMissing) Api/Data/BehavioralMetricInterface.php 114:8 warning There must be exactly one blank line before tags (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 114:19 warning Short description should not be in multi lines (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 120:8 warning There must be exactly one blank line before tags (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 217:8 warning There must be exactly one blank line before tags (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 217:20 warning Short description should not be in multi lines (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 223:8 warning There must be exactly one blank line before tags (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 230:8 warning There must be exactly one blank line before tags (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 230:20 warning Short description should not be in multi lines (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 236:8 warning There must be exactly one blank line before tags (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 258:71 warning There must be exactly one blank line between lines short and long descriptions (Magento2.Annotation.MethodAnnotationStructure.MethodAnnotation) 286:1 warning Expected 1 newline at end of file; 0 found (PSR2.Files.EndFileNewline.NoneFound)