You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci: gate pull requests on a worker-mode state audit
Changes
- Add `igor-php/igor-php` as a dev dependency and register `IgorPhpBundle` in dev
- Configure it in `igor.json`: project scope, dev environment, baseline file
- Record the 33 existing findings in `igor-baseline.json`, each with a reason
- Add `composer worker-state-check` and `worker-state-baseline`, and a
`Worker state audit` job to the review workflow
Why
The statelessness rules the last few commits established are the kind that decay
without enforcement, and they matter whether or not worker mode is ever switched
on: `messenger:consume` is already long-running in production.
igor-php audits every shared service in the compiled container rather than
grepping for patterns, which is why it caught the `AdminUrlGenerator` mutations
that reading `src/` for stateful properties had missed. Against that, roughly two
thirds of its project findings are noise — mostly Doctrine entities returned from
a repository, which it reads as shared services — so it is only usable behind a
baseline. Vendor code is out of scope: it reported 341 findings there, none of
them ours to fix.
Every baseline entry carries a reason rather than the generated TODO, so the file
documents why each is safe instead of just silencing it. Verified the gate is
live: introducing a stateful property on a service fails the audit, and removing
it passes.
0 commit comments