Category
Foundation · Pillar 1 trust / helper-runtime (#24302; follow-on after closed #29812 DOM refresh)
Problem
./script/release-readiness.sh --json reports user_release_ready: no because check-helper-runtime-prelink.php --strict finds 60 stale helper-runtime units on x86_64-linux (316 fresh, 0 broken). DOM units from #29812 are no longer in the stale set — this batch is almost entirely ext/standard/*JitHelper.php plus VM/AttributeNewInstanceJitHelper.php.
Verified 2026-08-10 via ./script/docker-exec.sh.
First failing gate message (truncated):
STALE ext_standard_UrlencodeJitHelper_php … STALE ext_standard_Utf8Latin1JitHelper_php … 316 fresh, 60 stale
Stale units (complete list)
- VM_AttributeNewInstanceJitHelper_php (/VM/AttributeNewInstanceJitHelper.php)
- ext_standard_AcosJitHelper_php (/ext/standard/AcosJitHelper.php)
- ext_standard_AcoshJitHelper_php (/ext/standard/AcoshJitHelper.php)
- ext_standard_AsinJitHelper_php (/ext/standard/AsinJitHelper.php)
- ext_standard_AsinhJitHelper_php (/ext/standard/AsinhJitHelper.php)
- ext_standard_Atan2JitHelper_php (/ext/standard/Atan2JitHelper.php)
- ext_standard_AtanJitHelper_php (/ext/standard/AtanJitHelper.php)
- ext_standard_AtanhJitHelper_php (/ext/standard/AtanhJitHelper.php)
- ext_standard_CaseCompareJitHelper_php (/ext/standard/CaseCompareJitHelper.php)
- ext_standard_CeilJitHelper_php (/ext/standard/CeilJitHelper.php)
- ext_standard_CharInMaskJitHelper_php (/ext/standard/CharInMaskJitHelper.php)
- ext_standard_CosJitHelper_php (/ext/standard/CosJitHelper.php)
- ext_standard_CoshJitHelper_php (/ext/standard/CoshJitHelper.php)
- ext_standard_CountCharsJitHelper_php (/ext/standard/CountCharsJitHelper.php)
- ext_standard_CslashesJitHelper_php (/ext/standard/CslashesJitHelper.php)
- ext_standard_Deg2radJitHelper_php (/ext/standard/Deg2radJitHelper.php)
- ext_standard_ExpJitHelper_php (/ext/standard/ExpJitHelper.php)
- ext_standard_Expm1JitHelper_php (/ext/standard/Expm1JitHelper.php)
- ext_standard_FindSubstrJitHelper_php (/ext/standard/FindSubstrJitHelper.php)
- ext_standard_FloorJitHelper_php (/ext/standard/FloorJitHelper.php)
- ext_standard_FmodJitHelper_php (/ext/standard/FmodJitHelper.php)
- ext_standard_FpowJitHelper_php (/ext/standard/FpowJitHelper.php)
- ext_standard_GetClassVarsJitHelper_php (/ext/standard/GetClassVarsJitHelper.php)
- ext_standard_HtmlEntityDecodeJitHelper_php (/ext/standard/HtmlEntityDecodeJitHelper.php)
- ext_standard_HtmlspecialcharsDecodeJitHelper_php (/ext/standard/HtmlspecialcharsDecodeJitHelper.php)
- ext_standard_HtmlspecialcharsJitHelper_php (/ext/standard/HtmlspecialcharsJitHelper.php)
- ext_standard_HypotJitHelper_php (/ext/standard/HypotJitHelper.php)
- ext_standard_IncludePathResolverJitHelper_php (/ext/standard/IncludePathResolverJitHelper.php)
- ext_standard_Log10JitHelper_php (/ext/standard/Log10JitHelper.php)
- ext_standard_Log1pJitHelper_php (/ext/standard/Log1pJitHelper.php)
- ext_standard_LogJitHelper_php (/ext/standard/LogJitHelper.php)
- ext_standard_MathBaseConvertJitHelper_php (/ext/standard/MathBaseConvertJitHelper.php)
- ext_standard_NCompareJitHelper_php (/ext/standard/NCompareJitHelper.php)
- ext_standard_NetInterfacesJitHelper_php (/ext/standard/NetInterfacesJitHelper.php)
- ext_standard_NextafterJitHelper_php (/ext/standard/NextafterJitHelper.php)
- ext_standard_Nl2brJitHelper_php (/ext/standard/Nl2brJitHelper.php)
- ext_standard_ParseUrlJitHelper_php (/ext/standard/ParseUrlJitHelper.php)
- ext_standard_PathinfoJitHelper_php (/ext/standard/PathinfoJitHelper.php)
- ext_standard_PregJitHelper_php (/ext/standard/PregJitHelper.php)
- ext_standard_Rad2degJitHelper_php (/ext/standard/Rad2degJitHelper.php)
- ext_standard_RandomBytesJitHelper_php (/ext/standard/RandomBytesJitHelper.php)
- ext_standard_RealpathJitHelper_php (/ext/standard/RealpathJitHelper.php)
- ext_standard_RoundJitHelper_php (/ext/standard/RoundJitHelper.php)
- ext_standard_SinJitHelper_php (/ext/standard/SinJitHelper.php)
- ext_standard_SinhJitHelper_php (/ext/standard/SinhJitHelper.php)
- ext_standard_SqrtJitHelper_php (/ext/standard/SqrtJitHelper.php)
- ext_standard_StrIncdecJitHelper_php (/ext/standard/StrIncdecJitHelper.php)
- ext_standard_StrRepeatJitHelper_php (/ext/standard/StrRepeatJitHelper.php)
- ext_standard_StrReplaceJitHelper_php (/ext/standard/StrReplaceJitHelper.php)
- ext_standard_StrWordCountJitHelper_php (/ext/standard/StrWordCountJitHelper.php)
- ext_standard_StripTagsJitHelper_php (/ext/standard/StripTagsJitHelper.php)
- ext_standard_StrrchrJitHelper_php (/ext/standard/StrrchrJitHelper.php)
- ext_standard_SubstrCompareJitHelper_php (/ext/standard/SubstrCompareJitHelper.php)
- ext_standard_SubstrCountJitHelper_php (/ext/standard/SubstrCountJitHelper.php)
- ext_standard_TanJitHelper_php (/ext/standard/TanJitHelper.php)
- ext_standard_TanhJitHelper_php (/ext/standard/TanhJitHelper.php)
- ext_standard_UniqidJitHelper_php (/ext/standard/UniqidJitHelper.php)
- ext_standard_UrldecodeJitHelper_php (/ext/standard/UrldecodeJitHelper.php)
- ext_standard_UrlencodeJitHelper_php (/ext/standard/UrlencodeJitHelper.php)
- ext_standard_Utf8Latin1JitHelper_php (/ext/standard/Utf8Latin1JitHelper.php)
PHP implementation target
Repro
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && php script/check-helper-runtime-prelink.php --strict'
# expect: 60 stale
./script/release-readiness.sh --json
# expect: user_release_ready no; first fail helper-runtime-prelink
Done when
Category
Foundation· Pillar 1 trust / helper-runtime (#24302; follow-on after closed #29812 DOM refresh)Problem
./script/release-readiness.sh --jsonreportsuser_release_ready: nobecausecheck-helper-runtime-prelink.php --strictfinds 60 stale helper-runtime units onx86_64-linux(316 fresh, 0 broken). DOM units from #29812 are no longer in the stale set — this batch is almost entirelyext/standard/*JitHelper.phpplusVM/AttributeNewInstanceJitHelper.php.Verified 2026-08-10 via
./script/docker-exec.sh.First failing gate message (truncated):
STALE ext_standard_UrlencodeJitHelper_php … STALE ext_standard_Utf8Latin1JitHelper_php … 316 fresh, 60 staleStale units (complete list)
PHP implementation target
php script/emit-helper-runtime-object.php --prelink(inside./script/docker-exec.sh, with LLVM available)prelinked/helper-runtime/artifacts + fingerprints only after a real emit (no restamp)php script/check-helper-runtime-prelink.php --strictexits 0 and./script/release-readiness.sh --jsonflipsuser_release_ready(unless gen-0 Trust: refresh gen-0 spine sidecar — stamp ≠ spine SHA; link falls back to Zend (prelinked/bootstrap-gen0) #28998 remains a soft warning only)Repro
Done when
check-helper-runtime-prelink.php --strict→ 0 stale / 0 broken onx86_64-linux./script/release-readiness.sh --jsonno longer fails on helper-runtime-prelink