Skip to content

Fix what the second CI round found - #22

Merged
imanimanyara merged 2 commits into
mainfrom
ci/alias-and-dependabot
Sep 16, 2026
Merged

imanimanyara merged 2 commits into
mainfrom
ci/alias-and-dependabot

Conversation

@imanimanyara

Copy link
Copy Markdown
Member

Fix what the second CI round found

  • Two phpstan.neon files had a duplicated key. Merging the branch with
    main put a second ignoreErrors / reportUnmatchedIgnoredErrors under
    parameters: -- git merges that cleanly because neither side touched the
    other's lines, and NEON then refuses to load the file at all. PHPStan exits
    with its usage banner rather than an analysis, so the job fails without ever
    naming a rule. error-pages and package-scaffolder are folded back to one
    declaration each.

  • Orphaned @var list<string> docblocks. Deleting the $commandAliases
    properties left their docblocks sitting above the next method, where
    PHPStan reports PHPDoc tag @var above a method has no effect. Five in
    product-demo-mode.

  • Pint drift, resolved at the version CI actually installs. CI resolves
    laravel/pint 1.32.1; a long-lived local vendor/ had 1.30.5, and the two
    disagree about binary_operator_spaces. Checking against the old one is the
    same false green as checking against the wrong config -- so this ran 1.32.1.

  • console: PHPStan proves the property_exists($this, 'commandAliases')
    guard false, because it only sees the subclasses inside src/ and none of
    them declare it. The property belongs to the CONSUMING command -- a trait
    and a using class cannot both declare it with different defaults -- so the
    guard is exactly right and the finding is scoped away with that reason.

  * **Two phpstan.neon files had a duplicated key.** Merging the branch with
    main put a second `ignoreErrors` / `reportUnmatchedIgnoredErrors` under
    `parameters:` -- git merges that cleanly because neither side touched the
    other's lines, and NEON then refuses to load the file at all. PHPStan exits
    with its usage banner rather than an analysis, so the job fails without ever
    naming a rule. error-pages and package-scaffolder are folded back to one
    declaration each.

  * **Orphaned `@var list<string>` docblocks.** Deleting the `$commandAliases`
    properties left their docblocks sitting above the next method, where
    PHPStan reports `PHPDoc tag @var above a method has no effect`. Five in
    product-demo-mode.

  * **Pint drift, resolved at the version CI actually installs.** CI resolves
    laravel/pint 1.32.1; a long-lived local vendor/ had 1.30.5, and the two
    disagree about `binary_operator_spaces`. Checking against the old one is the
    same false green as checking against the wrong config -- so this ran 1.32.1.

  * **console:** PHPStan proves the `property_exists($this, 'commandAliases')`
    guard false, because it only sees the subclasses inside src/ and none of
    them declare it. The property belongs to the CONSUMING command -- a trait
    and a using class cannot both declare it with different defaults -- so the
    guard is exactly right and the finding is scoped away with that reason.
Copilot AI lite review requested due to automatic review settings September 16, 2026 17:31

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions

Copy link
Copy Markdown

Benchmark results

Scenario Optimizations Native Laravel Optimized Speedup Δ vs base
Product import — 500 items, simple rules Wildcard, fast-check 185.5ms 3.5ms ~54x +3%
Nested order lines — 1000 orders × 5 line items Wildcard, fast-check (nested) 1278.0ms 19.1ms ~67x -1%
Event scheduling — 100 items, field-ref dates Wildcard, partial fast-check 32.5ms 1.4ms ~24x +0%
Article submission — 50 items, custom Rule objects Wildcard only 10.8ms 3.2ms ~3x +0%
Conditional import — 100 items, 47 conditional fields Wildcard, pre-evaluation 4203.2ms 54.2ms ~78x +0%
Login form — 3 fields, no wildcards Fast-check (flat) 0.2ms 0.0ms ~9x —

@imanimanyara
imanimanyara merged commit 394c7a0 into main Sep 16, 2026
1 check passed
@imanimanyara
imanimanyara deleted the ci/alias-and-dependabot branch September 28, 2026 14:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants