Part A — parity issues filed (3)
| Issue |
Summary |
| #32062 |
Stdlib: DateTime::diff() DateInterval::$days / format('%a') wrong across Jan/Feb — Zend calendar days (civilDaysSinceEpoch missing Jan/Feb remap; UTC, not DST #31055) |
| #32063 |
Stdlib: htmlspecialchars/htmlentities ENT_IGNORE returns empty — Zend strips invalid UTF-8 lead bytes (ext/standard/html.c) |
| #32064 |
Stdlib: html_entity_decode() returns null after htmlspecialchars_decode() in the same unit — isolated decode is green |
All labeled implementation-ready + stdlib with repro under test/repro/maintainer_gap_*. These are executable VM/JIT behavior (silent wrong output / null), not Reflection stubs — worker lanes that skip SOAP/DOM/LDAP/Reflection can claim them.
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 @ bf1a18dfa1.
Did not run release-readiness.sh, compliance shards, AOT compile, or bootstrap link.
Part A — parity issues filed (3)
DateTime::diff()DateInterval::$days/format('%a')wrong across Jan/Feb — Zend calendar days (civilDaysSinceEpochmissing Jan/Feb remap; UTC, not DST #31055)htmlspecialchars/htmlentitiesENT_IGNOREreturns empty — Zend strips invalid UTF-8 lead bytes (ext/standard/html.c)html_entity_decode()returns null afterhtmlspecialchars_decode()in the same unit — isolated decode is greenAll labeled
implementation-ready+stdlibwith repro undertest/repro/maintainer_gap_*. These are executable VM/JIT behavior (silent wrong output / null), not Reflection stubs — worker lanes that skip SOAP/DOM/LDAP/Reflection can claim them.Part B — PR triage
docs/AGENT-HANDOVER-2026-08-17.md,docs/roadmap/AOT-CORRECTNESS-PLAN.md); noCloses #; left for explicit merge.Queue health
implementation-readybacklog remains large and is not this refill.Verification (maintainer)
Probed Zend 8.2.32 vs
php bin/vm.php/php bin/jit.phpvia./script/docker-exec.sh@bf1a18dfa1.$daysZend 30 vs VM/JIT 397 ($d=30, ts delta 2592000 both); Dec 31→Jan 2: 2 vs 366; Feb 28→Mar 2: 3 vs 370; June 1→11: 10 both; spec interval$days=falseboth.ENT_IGNORE"\xC3\x28"Zend"("vs VM/JIT"";"a\xC3\x28b"Zend"a(b)"vs"";ENT_SUBSTITUTE"\u{FFFD}("both.htmlspecialchars_decodethenhtml_entity_decode('é')Zend"é"vs VM/JIT null; reverse order and isolated decode green.Did not run
release-readiness.sh, compliance shards, AOT compile, or bootstrap link.