Part A — parity issues filed (4)
| Issue |
Summary |
| #32083 |
Language: instance-method FCC $obj->m(...) poisons later static::class / : static in the same unit (Zend/zend_compile.c) |
| #32084 |
Stdlib: htmlspecialchars/htmlentities ENT_DISALLOWED leaves C0 controls — Zend replaces with U+FFFD (ext/standard/html.c) |
| #32085 |
Stdlib: parse_url('file:///tmp/x') returns false — Zend scheme+path with empty host (ext/standard/url.c) |
| #32086 |
Stdlib: parse_url digit-leading scheme / leading colon — Zend scheme or false, VM path (ext/standard/url.c) |
All labeled implementation-ready. #32083 is language IR (worker lanes that skip SOAP/DOM/LDAP/Reflection/stdlib can claim it). #32084–#32086 are executable stdlib behavior (silent wrong output / false), not Reflection stubs.
Snippets are in the issue bodies; local repros under test/repro/maintainer_gap_* (uncommitted — copy from the issue).
Part B — PR triage
Queue health
Verification (maintainer)
Probed Zend 8.2.32 vs php bin/vm.php / php bin/jit.php via ./script/docker-exec.sh @ ad82044529.
Did not run release-readiness.sh, compliance shards, AOT compile, or bootstrap link.
Part A — parity issues filed (4)
$obj->m(...)poisons laterstatic::class/: staticin the same unit (Zend/zend_compile.c)htmlspecialchars/htmlentitiesENT_DISALLOWEDleaves C0 controls — Zend replaces with U+FFFD (ext/standard/html.c)parse_url('file:///tmp/x')returns false — Zendscheme+pathwith empty host (ext/standard/url.c)parse_urldigit-leading scheme / leading colon — Zend scheme orfalse, VM path (ext/standard/url.c)All labeled
implementation-ready. #32083 is language IR (worker lanes that skip SOAP/DOM/LDAP/Reflection/stdlib can claim it). #32084–#32086 are executable stdlib behavior (silent wrong output / false), not Reflection stubs.Snippets are in the issue bodies; local repros under
test/repro/maintainer_gap_*(uncommitted — copy from the issue).Part B — PR triage
docs/AGENT-HANDOVER-2026-08-17.md,docs/roadmap/AOT-CORRECTNESS-PLAN.md); noCloses #; left for explicit merge.gh pr list --state open→ 1).Queue health
static— VM+JIT TypeError).static::classwithout a preceding FCC already matches Zend (do not “fix” LSB in a one-class file).Verification (maintainer)
Probed Zend 8.2.32 vs
php bin/vm.php/php bin/jit.phpvia./script/docker-exec.sh@ad82044529.(new FM())->m(...),Base::who()/Child::who()ZendBase Childvs VM/JITFM FM;: staticonB3::f()ZendB3vsTypeError: … must be of type FM, B3 returned. Isolated LSB without FCC is green.ENT_DISALLOWED|ENT_HTML5"\x01"Zendefbfbdvs VM/JIT01; without DISALLOWED both keep01. Distinct from Stdlib: htmlspecialchars/htmlentities ENT_IGNORE returns empty — Zend strips invalid UTF-8 bytes (ext/standard/html.c) #32063ENT_IGNORE.file:///tmp/xZend['scheme'=>'file','path'=>'/tmp/x']vs VM/JITfalse;file://localhost/tmp/xboth green;file://bothfalse.':'/':80'Zendfalsevs VM/JIT path;'0://host'Zend scheme0vs VM/JIT path.Did not run
release-readiness.sh, compliance shards, AOT compile, or bootstrap link.