You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stale: Linker is not excluded from spine — it is require_once in compiler_lib_spine_smoke and M2 link is 717/717 ✅.
Remaining gap: honest lowering of shell_exec / link driver methods (inventory lint: 14 class methods). Spine link succeeds via PHP_COMPILER_SELFHOST_AOT stubs; M5 needs real execute or documented external-clang floor.
Ground truth update (2026-05-27, master, Docker): M2 spine/link is green now.
Repro evidence:
./script/docker-exec.sh -- bash -lc 'make bootstrap-selfhost-link'# bootstrap-selfhost-link: OK /compiler/build/selfhost
./script/docker-exec.sh -- bash -lc 'make bootstrap-inventory-check'# (inventory check passes; Phase A is 717/717)
So this ticket no longer needs to wait on “M2 spine link RED due to #2573” (at least on this environment). If Linker.php is still the last deferred path, we can now scope the actual blocker by running:
Activity
PurHur commentedon May 27, 2026
Backlog architect update (2026-05-27 harness):
BOOTSTRAP_LIB_SPINE_SMOKE=1 make bootstrap-selfhost-lib-spine-smokeOK).lib/AOT/Linker.phpremains deferred inscript/bootstrap-spine-deferred-lib.php; spine 661/717 with 51 missing units (Self-host M2: add 51 missing Phase A units to compiler_lib_spine_smoke (coverage sync red) #2632).Revised repro:
Issue stays M4/M5 floor — document external
clang/shell_execpolicy vs promote with honest stub (#2514 scope unchanged; unblocked for evaluation).PurHur commentedon May 27, 2026
Ground truth update (2026-05-27, master, Docker): M2 spine/link is green now.
Repro evidence:
So this ticket no longer needs to wait on “M2 spine link RED due to #2573” (at least on this environment). If Linker.php is still the last deferred path, we can now scope the actual blocker by running:
./script/docker-exec.sh -- bash -lc 'php bin/compile.php -l lib/AOT/Linker.php'…and capturing the first lint/lowering error (or confirming it’s only deferred for policy reasons).