Summary
Umbrella tracker for M2 spine growth — bringing test/selfhost/compiler_lib_spine_smoke/main.php toward the full bin/vm.php inventory (#1492; was #1056).
Current (master, 2026-05-24 batch 71): 569 units in spine · 586 inventory files · 17 files not yet in spine bundle (~97% coverage).
Pending: #1517 adds +15 math/type units → 426 baseline — PR closed (conflicts); rebase tracked on #1753. Master moved past 426 via batch 67 merges.
Per-file tracking: 146 open issues labeled m2-spine-unit (many pre-filed; 17 inventory files remain — close issues as PRs land), indexed on #1497.
Batch groups
| Group |
Focus |
| A — lib/ |
JIT helpers, Web project, Cli/vm.php, AOT ProjectGraph, Lint/top |
| B — Jit* |
Missing ext/standard/Jit*.php leaf modules (66) |
| C — wrappers |
ext/standard/*.php Module inventory (258+) |
| D — Vm* |
VM handler leaves (27) — union-return deferred (#1467) |
| E — src/ |
CLI bootstrap shims (5; llvm-env.php ✅ #1743; others open) |
Recently landed (batch 68–71): #1794 (567), #1799 (sort_), #1804/#1805 (shell_exec) → 569; drift guard #1802 ✅ (#1806).
Wave 2 batches landed
| Batch |
Units |
PR |
| Start |
179 |
baseline |
| Batch 4 |
358 |
#1516 |
| String-format wave |
408 |
#1748 |
| llvm-env + web_int |
411 |
#1754, #1756 |
| Batch 67 (May 24) |
444 |
#1771–#1784 |
| Batch 68–70 (May 24) | 567 | #1794, #1787–#1788, #1799 |
| Batch 71 (May 24) | 569 | #1804, #1805 |
| Math/type batch 5 | 426 | #1517 (closed — rebase #1753) |
Next batch deferrals (from #1517)
| Pattern |
Reason |
array_pop/shift/search, array_combine |
Union-return AOT types |
Other preg_*.php |
JitPreg docblock failures (preg_replace ✅ #1749) |
ext/standard/Vm* (11 leaves) |
Union-return Vm* (#1467) |
array_filter/reduce/walk/multisort, in_array |
Callback/array edge cases |
Gates
php bin/compile.php -l test/selfhost/compiler_lib_spine_smoke/main.php
BOOTSTRAP_LIB_SPINE_SMOKE=1 ./script/bootstrap-selfhost-lib-spine-smoke-link.sh
php script/bootstrap-selfhost-next-includes.php --bundle=test/selfhost/compiler_lib_spine_smoke/main.php
References
Summary
Umbrella tracker for M2 spine growth — bringing
test/selfhost/compiler_lib_spine_smoke/main.phptoward the fullbin/vm.phpinventory (#1492; was #1056).Current (master, 2026-05-24 batch 71): 569 units in spine · 586 inventory files · 17 files not yet in spine bundle (~97% coverage).
Pending: #1517 adds +15 math/type units → 426 baseline — PR closed (conflicts); rebase tracked on #1753. Master moved past 426 via batch 67 merges.
Per-file tracking: 146 open issues labeled
m2-spine-unit(many pre-filed; 17 inventory files remain — close issues as PRs land), indexed on #1497.Batch groups
ext/standard/Jit*.phpleaf modules (66)ext/standard/*.phpModule inventory (258+)llvm-env.php✅ #1743; others open)Recently landed (batch 68–71): #1794 (567), #1799 (
sort_), #1804/#1805 (shell_exec) → 569; drift guard #1802 ✅ (#1806).Wave 2 batches landed
| Batch 68–70 (May 24) | 567 | #1794, #1787–#1788, #1799 |
| Batch 71 (May 24) | 569 | #1804, #1805 |
| Math/type batch 5 | 426 | #1517 (closed — rebase #1753) |
Next batch deferrals (from #1517)
array_pop/shift/search,array_combinepreg_*.phppreg_replace✅ #1749)ext/standard/Vm*(11 leaves)array_filter/reduce/walk/multisort,in_arrayGates
References
docs/bootstrap-m5-fast-path.mddocs/bootstrap-inventory.mddocs/self-host-target.md