chore: sync canonical root configs + mechanical phpmd cleanup#1641
Merged
Conversation
Phase 2 fleet rollout of the root-config consolidation for the openregister foundation app. Drops per-app phpcs/phpmd/psalm/phpstan extensions in favour of the canonical from nextcloud-app-template, then cleans the mechanical phpmd violations unmasked by the sync. Config changes: - phpcs.xml: sync canonical, restore OpenRegister description. - phpmd.xml: canonical, restore OpenRegister ruleset name. - psalm.xml: sync canonical + add errorBaseline="psalm-baseline.xml" attribute (psalm-baseline.xml preserved untouched per fleet plan). - phpstan.neon: sync canonical (now uses phpstan-bootstrap.php instead of vendor/autoload.php; includes phpstan-baseline.neon). - phpstan-bootstrap.php: NEW from canonical. - phpstan-baseline.neon: regenerated with 1724 entries baselined. Header points to the tracking issue (#1640). - phpcs-custom-sniffs/.../{SpecTagSniff,NoLegacyServerAccessorsSniff}.php: custom sniffs the synced phpcs.xml references. Mechanical phpmd source cleanup (160 -> 59 violations): - MissingImport (57 -> 0): added 25+ `use` statements across Application.php, BookmarksProvider, CalendarProvider, TasksProvider, ExternalIntegrationRouter, ResponseGenerationHandler, ObjectService, PdfReportWriter, UserService. - ElseExpression (15 -> 0): refactored to early-return / continue / default-then-override patterns. - UnusedFormalParameter (7 -> 0): added @SuppressWarnings on deprecated facade signatures with TODO comments. - UnusedLocalVariable (2 -> 0): foreach key renamed to $_ with @SuppressWarnings to satisfy phpmd's strict ignore-name rule. - BooleanArgumentFlag (2 -> 0): suppressed on requestHeaders($withBody) in OpenProjectProvider / XwikiProvider; body-vs-no-body is the natural HTTP-headers toggle. Quality gates after sync: - phpcs: 336 errors / 3594 warnings (CustomSniffs/Commenting SpecTag ADR-008 annotation debt + Squiz inline-if) - tracked in #1640. - phpstan: 0 unmatched errors (1724 baselined per #1640). - psalm: 145 unbaselined errors surfaced by the stricter canonical config - psalm-baseline.xml preserved untouched per fleet plan, follow-ups tracked in #1640. - phpmd: 59 architectural violations remain (Cyclomatic/NPath/ ExcessiveMethodLength/Coupling/StaticAccess/etc.) - tracked in #1640. openregister has the largest follow-up scope of the fleet; phpmd / phpcs / psalm CI will be red until #1640 is worked through. Admin merge authorized. Refs: #1640
Contributor
Quality Report — ConductionNL/openregister @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ❌ | ||||
| stylelint | ❌ | ||||
| composer | ❌ | ✅ 162/162 | |||
| npm | ✅ | ✅ 532/532 | |||
| PHPUnit | ⏭️ | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ |
Quality workflow — 2026-05-21 21:27 UTC
Download the full PDF report from the workflow artifacts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Phase 2 fleet rollout of the root-config consolidation for the openregister foundation app. Pattern adapted from shillinq#300 and decidesk#243.
openregister has the largest follow-up scope of the fleet — note that phpmd / phpcs / psalm CI will be very red until #1640 is worked through. Admin-merge authorised by the user.
Config changes
phpcs.xml: sync canonical, restore OpenRegister description.phpmd.xml: canonical, restore OpenRegister ruleset name.psalm.xml: sync canonical witherrorBaseline="psalm-baseline.xml"attribute added back;psalm-baseline.xmlpreserved untouched per fleet plan.phpstan.neon: sync canonical (now usesphpstan-bootstrap.phpinstead ofvendor/autoload.php; includes baseline).phpstan-bootstrap.php: NEW from canonical.phpstan-baseline.neon: regenerated with 1724 entries baselined; header points to Lint debt cleanup post-canonical-sync (Phase 2 fleet rollout) #1640.phpcs-custom-sniffs/.../{SpecTagSniff,NoLegacyServerAccessorsSniff}.php: sniffs the syncedphpcs.xmlreferences.Mechanical phpmd source cleanup (160 -> 59)
usestatements acrossApplication.php,BookmarksProvider,CalendarProvider,TasksProvider,ExternalIntegrationRouter,ResponseGenerationHandler,ObjectService,PdfReportWriter,UserService.@SuppressWarningson deprecated facade signatures with TODO comments.$_with suppression.requestHeaders($withBody)— body-vs-no-body is the natural HTTP-headers toggle.Total mechanical fixes: ~80 violations cleared.
Quality gate state
Test plan
Refs: #1640