From 894d829313c4b7c457f4033e21a7b17dff960605 Mon Sep 17 00:00:00 2001 From: autonomic-bot Date: Fri, 12 Jun 2026 01:55:29 +0000 Subject: [PATCH] upgrade-all: at the tail, fill slots with two heavies rather than serialize Per operator: always fill all CAP slots. Heavy/light alternation only spreads heavies across waves while a light is available; once only heavies remain, run two-per-wave (capacity is the tuned ceiling) instead of one-per-wave. --- .claude/skills/upgrade-all/SKILL.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.claude/skills/upgrade-all/SKILL.md b/.claude/skills/upgrade-all/SKILL.md index 910f7c8..db09e1f 100644 --- a/.claude/skills/upgrade-all/SKILL.md +++ b/.claude/skills/upgrade-all/SKILL.md @@ -164,8 +164,10 @@ peak memory stays bounded while both slots stay busy. Classify from the survey's - **LIGHT / moderate** (one small image or a few light services): custom-html*, cryptpad, n8n, uptime-kuma, lasuite-docs, lasuite-meet, keycloak, mailu, plausible. Build the wave order by drawing one HEAVY + one LIGHT per wave (capacity 2) until a bucket empties, -then pair the remainder. For `CAP>2`, cap heavies per wave at ~`CAP/2`. If only heavies remain, run -them one-per-wave (effectively sequential) rather than risk an OOM. +then pair up the remainder. **Always fill all `CAP` slots** — once only heavies are left, run two (or +`CAP`) heavies per wave rather than leaving a slot idle; the box is tuned for `CAP` concurrent builds. +The heavy/light alternation is only to *spread* heavies across waves while a light is available, not a +hard cap. For `CAP>2`, spread heavies across waves where possible but still fill the slots. Note (wave barrier): a wave waits for its slowest recipe before the next starts, so the light slot idles while its heavy wave-mate finishes — accepted for the weekly run. Do NOT maintain a rolling