Migrated from the pre-public development archive (issue #119 there); archive PR/issue numbers in the body refer to that archive.
2026-07-21 live audit, vercel/next.js. Pole 1 is thank you, next — the classic 3s needs:[everything] success-aggregation gate (it exists to be the single required check). Crowning it is CORRECT by frequency (it literally gates every PR), but the attached OPT75 recommendation ("speed up this step / move it off the PR path") is useless — there is nothing to speed and moving it defeats its purpose.
Fix direction (product judgment, not urgent): detect the aggregation-gate shape (trivial duration + needs: on effectively-all jobs + required) and render it honestly as "your merge gate is an aggregation check; the real wait is its needs: chain — see the poles below," pointing the drill at the slowest upstream member instead of prompting to optimize a 3s no-op. Related-but-distinct from #114 (crown eligibility) and the #112 chain-member work: this is the degenerate chain-SINK case.
Not launch-gating (data is correct, advice is inert); filed as polish with a real cost — it's the FIRST pole a next.js-shaped reader sees.
2026-07-21 live audit, vercel/next.js. Pole 1 is
thank you, next— the classic 3sneeds:[everything]success-aggregation gate (it exists to be the single required check). Crowning it is CORRECT by frequency (it literally gates every PR), but the attached OPT75 recommendation ("speed up this step / move it off the PR path") is useless — there is nothing to speed and moving it defeats its purpose.Fix direction (product judgment, not urgent): detect the aggregation-gate shape (trivial duration +
needs:on effectively-all jobs + required) and render it honestly as "your merge gate is an aggregation check; the real wait is itsneeds:chain — see the poles below," pointing the drill at the slowest upstream member instead of prompting to optimize a 3s no-op. Related-but-distinct from #114 (crown eligibility) and the #112 chain-member work: this is the degenerate chain-SINK case.Not launch-gating (data is correct, advice is inert); filed as polish with a real cost — it's the FIRST pole a next.js-shaped reader sees.