Skip to content

docs(claude-md): resync rule-version markers to shipped tags #135

docs(claude-md): resync rule-version markers to shipped tags

docs(claude-md): resync rule-version markers to shipped tags #135

Triggered via pull request July 15, 2026 12:16
Status Success
Total duration 5m 22s
Artifacts 4

ci.yml

on: pull_request
Matrix: check
ci-passed
2s
ci-passed
Fit to window
Zoom out
Zoom in

Annotations

20 warnings
check (8.5): src/Rules/EnforceActionTransactionsRule.php#L143
Escaped Mutant for Mutator "InstanceOf_": @@ @@ private function isOnNonDatabaseProperty(MethodCall $node, array $nonDatabaseProperties): bool { if ( - !$node->var instanceof PropertyFetch + $node->var instanceof PropertyFetch || !$node->var->var instanceof Variable || $node->var->var->name !== 'this' || !$node->var->name instanceof Identifier
check (8.5): src/Rules/EnforceActionTransactionsRule.php#L125
Escaped Mutant for Mutator "LogicalAnd": @@ @@ $count = 0; $this->walkNodes($method->stmts ?? [], function(Node $node) use (&$count, $nonDatabaseProperties): void { if ( - $node instanceof MethodCall - && $node->name instanceof Identifier + ($node instanceof MethodCall || $node->name instanceof Identifier) && in_array($node->name->toString(), self::WRITE_METHODS, true) && !$this->isOnNonDatabaseProperty($node, $nonDatabaseProperties) ) {
check (8.5): src/Rules/EnforceActionTransactionsRule.php#L94
Escaped Mutant for Mutator "LogicalOr": @@ @@ $executeMethod = $node->getMethod('execute'); - if ($executeMethod === null || $executeMethod->stmts === null) { + if ($executeMethod === null && $executeMethod->stmts === null) { return []; }
check (8.5): src/Rules/EnforceActionTransactionsRule.php#L88
Escaped Mutant for Mutator "LogicalOr": @@ @@ { $namespace = $scope->getNamespace(); - if ($namespace === null || !str_starts_with($namespace, 'App\Actions')) { + if ($namespace === null && !str_starts_with($namespace, 'App\Actions')) { return []; }
check (8.5): src/Rules/EnforceActionResultDtoRule.php#L158
Escaped Mutant for Mutator "MBString": @@ @@ $fqcn = $classReflection->getName(); $lastSeparator = mb_strrpos($fqcn, '\\'); - return $lastSeparator === false ? $fqcn : mb_substr($fqcn, $lastSeparator + 1); + return $lastSeparator === false ? $fqcn : substr($fqcn, $lastSeparator + 1); } }
check (8.5): src/Rules/EnforceActionResultDtoRule.php#L156
Escaped Mutant for Mutator "MBString": @@ @@ } $fqcn = $classReflection->getName(); - $lastSeparator = mb_strrpos($fqcn, '\\'); + $lastSeparator = strrpos($fqcn, '\\'); return $lastSeparator === false ? $fqcn : mb_substr($fqcn, $lastSeparator + 1); }
check (8.5): src/Rules/EnforceActionResultDtoRule.php#L125
Escaped Mutant for Mutator "IfNegation": @@ @@ if ($type instanceof UnionType || $type instanceof IntersectionType) { foreach ($type->types as $inner) { - if ($this->declaredTypeIsOrContainsArray($inner)) { + if (!$this->declaredTypeIsOrContainsArray($inner)) { return true; } }
check (8.5): src/Rules/EnforceActionResultDtoRule.php#L123
Escaped Mutant for Mutator "LogicalOrAllSubExprNegation": @@ @@ return $this->declaredTypeIsOrContainsArray($type->type); } - if ($type instanceof UnionType || $type instanceof IntersectionType) { + if (!$type instanceof UnionType || !$type instanceof IntersectionType) { foreach ($type->types as $inner) { if ($this->declaredTypeIsOrContainsArray($inner)) { return true;
check (8.5): src/Rules/EnforceActionResultDtoRule.php#L123
Escaped Mutant for Mutator "InstanceOf_": @@ @@ return $this->declaredTypeIsOrContainsArray($type->type); } - if ($type instanceof UnionType || $type instanceof IntersectionType) { + if ($type instanceof UnionType || !$type instanceof IntersectionType) { foreach ($type->types as $inner) { if ($this->declaredTypeIsOrContainsArray($inner)) { return true;
check (8.5): src/Rules/EnforceActionResultDtoRule.php#L114
Escaped Mutant for Mutator "MBString": @@ @@ private function declaredTypeIsOrContainsArray(?Node $type): bool { if ($type instanceof Identifier) { - $name = mb_strtolower($type->toString()); + $name = strtolower($type->toString()); return $name === 'array' || $name === 'iterable'; }
check (8.4): src/Rules/EnforceActionTransactionsRule.php#L143
Escaped Mutant for Mutator "InstanceOf_": @@ @@ private function isOnNonDatabaseProperty(MethodCall $node, array $nonDatabaseProperties): bool { if ( - !$node->var instanceof PropertyFetch + $node->var instanceof PropertyFetch || !$node->var->var instanceof Variable || $node->var->var->name !== 'this' || !$node->var->name instanceof Identifier
check (8.4): src/Rules/EnforceActionTransactionsRule.php#L125
Escaped Mutant for Mutator "LogicalAnd": @@ @@ $count = 0; $this->walkNodes($method->stmts ?? [], function(Node $node) use (&$count, $nonDatabaseProperties): void { if ( - $node instanceof MethodCall - && $node->name instanceof Identifier + ($node instanceof MethodCall || $node->name instanceof Identifier) && in_array($node->name->toString(), self::WRITE_METHODS, true) && !$this->isOnNonDatabaseProperty($node, $nonDatabaseProperties) ) {
check (8.4): src/Rules/EnforceActionTransactionsRule.php#L94
Escaped Mutant for Mutator "LogicalOr": @@ @@ $executeMethod = $node->getMethod('execute'); - if ($executeMethod === null || $executeMethod->stmts === null) { + if ($executeMethod === null && $executeMethod->stmts === null) { return []; }
check (8.4): src/Rules/EnforceActionTransactionsRule.php#L88
Escaped Mutant for Mutator "LogicalOr": @@ @@ { $namespace = $scope->getNamespace(); - if ($namespace === null || !str_starts_with($namespace, 'App\Actions')) { + if ($namespace === null && !str_starts_with($namespace, 'App\Actions')) { return []; }
check (8.4): src/Rules/EnforceActionResultDtoRule.php#L158
Escaped Mutant for Mutator "MBString": @@ @@ $fqcn = $classReflection->getName(); $lastSeparator = mb_strrpos($fqcn, '\\'); - return $lastSeparator === false ? $fqcn : mb_substr($fqcn, $lastSeparator + 1); + return $lastSeparator === false ? $fqcn : substr($fqcn, $lastSeparator + 1); } }
check (8.4): src/Rules/EnforceActionResultDtoRule.php#L156
Escaped Mutant for Mutator "MBString": @@ @@ } $fqcn = $classReflection->getName(); - $lastSeparator = mb_strrpos($fqcn, '\\'); + $lastSeparator = strrpos($fqcn, '\\'); return $lastSeparator === false ? $fqcn : mb_substr($fqcn, $lastSeparator + 1); }
check (8.4): src/Rules/EnforceActionResultDtoRule.php#L125
Escaped Mutant for Mutator "IfNegation": @@ @@ if ($type instanceof UnionType || $type instanceof IntersectionType) { foreach ($type->types as $inner) { - if ($this->declaredTypeIsOrContainsArray($inner)) { + if (!$this->declaredTypeIsOrContainsArray($inner)) { return true; } }
check (8.4): src/Rules/EnforceActionResultDtoRule.php#L123
Escaped Mutant for Mutator "LogicalOrAllSubExprNegation": @@ @@ return $this->declaredTypeIsOrContainsArray($type->type); } - if ($type instanceof UnionType || $type instanceof IntersectionType) { + if (!$type instanceof UnionType || !$type instanceof IntersectionType) { foreach ($type->types as $inner) { if ($this->declaredTypeIsOrContainsArray($inner)) { return true;
check (8.4): src/Rules/EnforceActionResultDtoRule.php#L123
Escaped Mutant for Mutator "InstanceOf_": @@ @@ return $this->declaredTypeIsOrContainsArray($type->type); } - if ($type instanceof UnionType || $type instanceof IntersectionType) { + if ($type instanceof UnionType || !$type instanceof IntersectionType) { foreach ($type->types as $inner) { if ($this->declaredTypeIsOrContainsArray($inner)) { return true;
check (8.4): src/Rules/EnforceActionResultDtoRule.php#L114
Escaped Mutant for Mutator "MBString": @@ @@ private function declaredTypeIsOrContainsArray(?Node $type): bool { if ($type instanceof Identifier) { - $name = mb_strtolower($type->toString()); + $name = strtolower($type->toString()); return $name === 'array' || $name === 'iterable'; }

Artifacts

Produced during runtime
Name Size Digest
clover-php-8.4
6.37 KB
sha256:aa674f89f362da6e9510004c363c3e52b67b07517f1d2e669e4681f2b3bb056d
clover-php-8.5
6.37 KB
sha256:6d8d322b76ced4ff46d93c6755cb29ec1896ca04ae61135334c2e7c5b92a8987
infection-php-8.4
438 KB
sha256:62f2152e571427f4d5172bd87b0d1e352227fb1a86b54f5c9d16097e0490b82d
infection-php-8.5
438 KB
sha256:ef78946f5f6ca8e46c0dfb5fe4d70dd5f7b61c172a397993d2109c43ed4cdbe9