J4 / UPGRADES
← All practice results

p2-06-symfony

Public GitHub evidence ↗

# p2-06-symfony — Batch 2 result: GREEN

Source: `slashfan/symfony-realworld-example-app` @ `5ad39ded1416f043d6307bcc7a76f9507b8ff116` (MIT).
Owned fork: https://github.com/j4groupfounders/j4-p2b-symfony
Locked target: symfony 5.4.6 → 6.4.47 (LTS, security support through November 2027).
Final evidence: [37549692264](https://github.com/j4groupfounders/j4-p2b-symfony/actions/runs/37549692264) (success); branch SHA `5189372e9d79fe884be4d06ba116398d5e46a68a`.

## Outcome
**GREEN.** Project tests (55 PHPUnit tests, same inventory as baseline) pass; app boots and serves the fixed route list with no 5xx; frozen HTTP characterization snapshots match baseline exactly; all five preregistered seeded faults are detected by the project's own test suite alone.

## What was repaired (agent edits, zero human edits)
Framework/dependency migration to Symfony 6.4 and PHP-API adaptations to current input/test-module-loading conventions (full diff: commits `b87fabf`, `45a12bd`, `6a449b5` on the upgrade branch). No test removal or skipping; no application behavior change beyond the version bump itself.

## Seeded-fault detection (five independent mutations, each reverted in `finally`)
| Fault | Project tests | Harness (HTTP probe) | Combined |
|---|---|---|---|
| tags-content | detected (1 failure) | detected | yes |
| article-count | detected (6 failures) | detected | yes |
| tags-method | detected (1 failure) | detected | yes |
| user-method | detected (2 failures) | detected | yes |
| login-firewall | detected (2 failures) | detected | yes |

Project-only detection: 5/5 (100%). Combined: 5/5 (100%). Exceeds the ≥80% combined / miss-rate-halving gate.

## CI accounting
7 CI runs (3 screening/baseline + 4 upgrade/seed attempts), 3.7 job-minutes, 7.4 wall-minutes (preregistration to terminal run). No paid runner/services/model calls; incremental vendor spend $0.

## Measured-scope limits (unchanged from protocol)
Empty-DB unauthenticated HTTP characterization plus the project's own fixture-backed PHPUnit suite; no authenticated frozen-fixture replay or route/line-coverage percentage claim; not a full production acceptance claim.