Problem
Coverage reporting is configured in phpunit.xml.dist but CI runs with coverage: none in every workflow (run-tests.yml, test-matrix.yml, security-audit.yml), so there is no coverage signal or gate.
Every test, including the "integration" suite, fakes the HTTP layer... Resolved by #233: tests/Feature/PassageRealServerIntegrationTest.php now proxies through a real PHP built-in web server (tests/Fixtures/real-server-router.php) covering body types, header forwarding, query forwarding, streaming, and the allowed-hosts guard — exactly the real-transport gap this issue originally raised. tests/Feature/PassageIntegrationTest.php remains Http::fake-based, which is fine now that the real-transport lane exists alongside it.
Location
- CI workflows (
run-tests.yml, test-matrix.yml, security-audit.yml all still run with coverage: none)
Fix
Enable a coverage driver (pcov or xdebug) and a coverage job with a modest floor (start at 80%). The real-server test lane portion of this issue is done; only the coverage gate remains.
Sizing
Priority 18 (Impact 3, Risk 3, Effort 3). Originally estimated 1-2 days; remaining scope (coverage gate only) is smaller.
From the tech debt audit dated 2026-07-05.
Problem
Coverage reporting is configured in
phpunit.xml.distbut CI runs withcoverage: nonein every workflow (run-tests.yml,test-matrix.yml,security-audit.yml), so there is no coverage signal or gate.Every test, including the "integration" suite, fakes the HTTP layer...Resolved by #233:tests/Feature/PassageRealServerIntegrationTest.phpnow proxies through a real PHP built-in web server (tests/Fixtures/real-server-router.php) covering body types, header forwarding, query forwarding, streaming, and the allowed-hosts guard — exactly the real-transport gap this issue originally raised.tests/Feature/PassageIntegrationTest.phpremainsHttp::fake-based, which is fine now that the real-transport lane exists alongside it.Location
run-tests.yml,test-matrix.yml,security-audit.ymlall still run withcoverage: none)Fix
Enable a coverage driver (pcov or xdebug) and a coverage job with a modest floor (start at 80%). The real-server test lane portion of this issue is done; only the coverage gate remains.
Sizing
Priority 18 (Impact 3, Risk 3, Effort 3). Originally estimated 1-2 days; remaining scope (coverage gate only) is smaller.
From the tech debt audit dated 2026-07-05.