style(phpcs): clear the 10 phpcs ERRORS, leaving warnings untouched - #450
Merged
Conversation
Precondition for ConductionNL/.github#483, which makes phpcs ERRORS fail the gate. That PR must not land while any repo still carries errors, because `.github@main` is consumed live and the flip reaches every repo the instant it merges. All ten were formatting, not logic: - CommonCartridgeParser / MoodleBackupParser / AssessmentDrawResolver (8): an `@return` docblock whose continuation lines were padded to align under a very long type, pushing them to 159-202 characters against a 150 limit. The prose moves above the tag, where it reads the same and fits. - LearningRecordShareVerifyController (2): `$throttler` and `$logger` were added to the constructor without their `@param` lines. Measured, with a control: on this tree phpcs reports `A TOTAL OF 10 ERRORS AND 110 WARNINGS`; with the fix, `A TOTAL OF 0 ERRORS AND 110 WARNINGS`. The warning count is identical on purpose — this clears errors and deliberately does not touch the warning debt #483 leaves passing.
Contributor
Quality Report — ConductionNL/scholiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-specs | ✅ | ||||
| format | ✅ | ||||
| composer | ✅ | ✅ 104/104 | |||
| npm | ✅ | ✅ 634/634 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| PHPUnit | ✅ | ||||
| Newman | ⏭️ | ||||
| Playwright | ✅ | ||||
| Hydra gates | ❌ |
Quality workflow — 2026-08-19 17:03 UTC
Download the full PDF report from the workflow artifacts.
gate-61 is diff-scoped on purpose — it "pulls the fleet along one listener at a time" rather than letting a 149-registration backlog block unrelated PRs. This PR's docblock reformat touched lib/Listener/AssessmentDrawResolver.php, which pulled that registration into scope and surfaced pre-existing synchronous work. Deferral is the gate's preferred answer and is the WRONG answer here. This handler writes the AssessmentResult's `drawnItemRefs`, which is the set of items the learner is about to be served, and the class contract is that it is "written once; never recomputed by any later process". `TakeAssessmentView.vue` POSTs the AssessmentResult and reads it straight back, so deferring to a background job would serve an attempt whose drawnItemRefs is still the default `[]` for however long the queue takes — an assessment with no questions. That is `correctness`, one of the four closed ADR-078 categories, and the annotation carries the reason rather than being a bare marker. The work is also bounded: one ItemBank read plus a Fisher-Yates permutation over drawCount items.⚠️ My first placement of the tag REGRESSED phpcs — putting @listener-placement above @PARAM tripped "Parameter tags must be defined first in a doc comment", taking the file from 0 errors back to 1. Caught by re-running phpcs rather than assuming the annotation was inert. Now: A TOTAL OF 0 ERRORS AND 110 WARNINGS, the same warning count as before any of this.
Contributor
Quality Report — ConductionNL/scholiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-specs | ✅ | ||||
| format | ✅ | ||||
| composer | ✅ | ✅ 104/104 | |||
| npm | ✅ | ✅ 634/634 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| PHPUnit | ❌ | ||||
| Newman | ⏭️ | ||||
| Playwright | ✅ | ||||
| Hydra gates | ✅ |
Quality workflow — 2026-08-19 17:50 UTC
Download the full PDF report from the workflow artifacts.
Contributor
Quality Report — ConductionNL/scholiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-specs | ✅ | ||||
| format | ✅ | ||||
| composer | ✅ | ✅ 104/104 | |||
| npm | ✅ | ✅ 634/634 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| PHPUnit | ✅ | ||||
| Newman | ⏭️ | ||||
| Playwright | ✅ | ||||
| Hydra gates | ✅ |
Quality workflow — 2026-08-19 17:58 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.
Precondition for ConductionNL/.github#483, which makes phpcs errors fail the gate. That PR must not land while any repo still carries errors —
.github@mainis consumed live, so the flip reaches every repo the instant it merges.All ten were formatting, not logic:
@returndocblock continuation lines padded to align under a very long type, reaching 159–202 chars against a 150 limit. The prose moves above the tag, reads the same, and fits.$throttlerand$loggeradded to the constructor without their@paramlinesMeasured, with a control — same tree, same instrument:
The warning count is identical on purpose: this clears errors and deliberately does not touch the warning debt #483 leaves passing.