v1.7.2 appended the `(?)` optional marker to two excludePaths entries. Measured
against the real apps, that made PHPStan 2.x WORSE: NEON reads `… (?)` after a
`%…%` expansion as an ENTITY, so 2.x died with
FileExcluder::isAbsolutePath(): Argument #1 ($path) must be of type string,
Nette\DI\Definitions\Statement given
Quoting the whole value fixes 2.x but breaks 1.x, which then does NOT strip the
marker and resolves the literal "/app/vendor-bin (?)" — a path matching nothing.
Harmless where the directory is absent, and silently breaking where it exists:
openbuild ships 31 files under lib/Resources/template.
So a conditional path has no spelling that is safe on both majors, and it leaves
the base. `vendor` is the only entry that always exists. The other two move to
the apps that actually have the directory:
vendor-bin openregister only
lib/Resources/template portaliq, openbuild, hermiq
Verified on zaakafhandelapp (PHPStan 2.2.8, the fleet's only 2.x app) with its
temporary override removed: 57 files analysed, no errors. The `[OK] No errors`
line was not taken as proof — a zero-file run prints the same thing, which was
the original defect.