Post

GSoC 2026 Week 11: PHPStan Level 5 Completed & Focused Topic Branch Split

GSoC 2026 Week 11: PHPStan Level 5 Completed & Focused Topic Branch Split

This week was all about two things: cleaning up the remaining PHPStan baseline errors up to level 5 and splitting our three large feature branches into focused, reviewable topic branches. I am happy to say that we have finally cleared all the PHPStan level 5 issues, and the baseline is now clean for level 5.


1. PHPStan Level 5 — Baseline Clear

Last week we had 24 remaining baseline entries. This week I resolved all of them with that, the PHPStan level 5 baseline is now empty and we will move to level 6 next week.


2. Splitting the Monolithic Branches Into Focused Topic Branches

The bigger chunk of this week was restructuring our three parent branches into small topic branches.

Here is how the split looks:

From mr-26 (3 branches)

#BranchWhat It Does
1chore/laratrust-v8-migrationMigrates Laratrust v7 traits and methods to v8
2fix/factory-test-defaultsReplaces random country_id/city_id values in AddressFactory and PatientContactFactory with deterministic defaults (156 / 1) to eliminate flaky foreign-key failures during seeding
3test/security-test-suiteAdds SecurityTestSeeder, SecurityTestCase, SecurityTestFoundationTest for the MU workflows

From composer-updated-end-to-end (2 branches)

#BranchWhat It Does
4chore/composer-dependency-upgradesupgraded composer.json and composer.lock to Laravel 12 / Laratrust v8 compatible versions
5fix/route-constraints-and-patient-redirectsAdds route pattern constraints and patient redirect endpoints

From CI-CD-Pipeline-Setup (4 branches)

#BranchWhat It Does
6phpstanAdds phpstan.neon.dist (level 5) and phpstan-baseline.neon
7zapOWASP ZAP DAST configuration (zap-plan.yaml) and dedicated ZapSeeder for testing
8ci.gitlab-ci.yml, Dockerfile.ci, and .env.ci with build, static-scan, dynamic-scan, and scoring stages
9scoringFull security scoring engine: app/Security/*, SecurityScoreCommand, CVSS calculator, CWE mapper, PHI classifier, gate logic, and HTML report generator

Next Week Plan

Next week I will focus on:

  1. Work on the PHPStan level 6 baseline and start reducing it.
  2. Get these topic branches reviewed and merged.

Acknowledgement

Thank you Mua Rachmann and Robby O’Connor for your continuous guidance and feedback.

Thanks for following my GSoC journey.

This post is licensed under CC BY 4.0 by the author.