fix(static-analysis): drop missing src/Core/Service/Tests path, suppress pending Service module

PHPStan + Psalm CI both failed at config-load on dAppCore/php#2 because
src/Core/Service/Tests doesn't exist. Removed that exclude entry from both
configs.

Knock-on: BunnyStorageService implements Core\Service\Contracts\HealthCheckable
which lives in a not-yet-built Core\Service module. PHPStan flagged it via
non-ignorable interface.notFound, Psalm via MissingDependency. Excluded the
file from PHPStan and added directory-scoped MissingDependency suppression to
Psalm covering src/Core/Cdn until the Service module lands.

Also added Front\Client\Boot to the UndefinedClass suppression list (pending
Front\Client frontage subpackage).

Local verification:
  vendor/bin/phpstan analyse --no-progress    → No errors
  vendor/bin/psalm --no-progress              → No errors found
  composer test                                → 245 tests pass

Tracked under core/lint RFC migration: plans/code/core/lint/RFC.md

Co-Authored-By: Cladius Maximus <claude@anthropic.com>
This commit is contained in:
Snider 2026-04-27 15:54:09 +01:00
parent d2410f50a3
commit 5a1be07c2b
2 changed files with 14 additions and 2 deletions

View file

@ -17,7 +17,8 @@ parameters:
- src/Core/Tests
- src/Core/Bouncer/Tests
- src/Core/Bouncer/Gate/Tests
- src/Core/Service/Tests
- src/Core/Front/Tests
- src/Mod/Trees
# Pending Core\Service module — see plans/code/core/lint/RFC.md migration
- src/Core/Cdn/Services/BunnyStorageService.php
reportUnmatchedIgnoredErrors: false

View file

@ -55,9 +55,21 @@
<referencedClass name="Core\Tenant\Models\User" />
<referencedClass name="Core\Tenant\Services\EntitlementService" />
<referencedClass name="Core\Config\Workspace" />
<!-- Pending Core\Service module (see plans/code/core/lint/RFC.md) -->
<referencedClass name="Core\Service\Contracts\HealthCheckable" />
<referencedClass name="Core\Service\HealthCheckResult" />
<!-- Pending Front\Client frontage subpackage -->
<referencedClass name="Core\Front\Client\Boot" />
</errorLevel>
</UndefinedClass>
<!-- Pending Core\Service module — referenced by Cdn BunnyStorageService and app variant -->
<MissingDependency>
<errorLevel type="suppress">
<directory name="src/Core/Cdn" />
</errorLevel>
</MissingDependency>
<!-- Suppress false positives from strict type analysis -->
<NoValue>
<errorLevel type="suppress">
@ -82,7 +94,6 @@
<directory name="src/Core/Input/Tests" />
<directory name="src/Core/Bouncer/Tests" />
<directory name="src/Core/Bouncer/Gate/Tests" />
<directory name="src/Core/Service/Tests" />
<directory name="src/Core/Front/Tests" />
<directory name="src/Mod/Trees" />
</ignoreFiles>