Summary
ci-fast.sh cannot complete in reasonable time: the bootstrap vendor-hygiene PHPUnit stage runs bin/compile.php -l test/selfhost/compiler_minimal/main.php (112-require mega-bundle compiled as one Script), which runs 1h16m+ in the pinned container (killed, no completion observed; ~70min also with the #16394 opt-in frontend paths — the cost is the compile pass, not the frontend).
Because ci-fast dies (or is abandoned) before later stages, downstream gates rot silently: docs/bootstrap-inventory-triage-top50.json sat at a 2721-file snapshot vs 4038 live for months (refreshed in #16394 — now 0.5s warm via the lint cache), and this week three AOT-breaking merges sailed past the (unreached) AOT smoke gate.
Expected
Full ci-fast completable in well under an hour so agents actually run it to the end.
Candidates
Done when
🤖 Generated with Claude Code
Summary
ci-fast.shcannot complete in reasonable time: the bootstrap vendor-hygiene PHPUnit stage runsbin/compile.php -l test/selfhost/compiler_minimal/main.php(112-require mega-bundle compiled as one Script), which runs 1h16m+ in the pinned container (killed, no completion observed; ~70min also with the #16394 opt-in frontend paths — the cost is the compile pass, not the frontend).Because ci-fast dies (or is abandoned) before later stages, downstream gates rot silently: docs/bootstrap-inventory-triage-top50.json sat at a 2721-file snapshot vs 4038 live for months (refreshed in #16394 — now 0.5s warm via the lint cache), and this week three AOT-breaking merges sailed past the (unreached) AOT smoke gate.
Expected
Full ci-fast completable in well under an hour so agents actually run it to the end.
Candidates
findCfgProducerExprForOperandis quadratic in seen-blocks, and the mega-bundle maximizes it. Re-measure this stage after it lands.Done when
time php bin/compile.php -l test/selfhost/compiler_minimal/main.php< 5 min in the pinned container, or the stage is cached/moved./script/ci-fast.shcompletes end-to-end on a clean master checkout🤖 Generated with Claude Code