@TianyeGGBond — from the F1-F12 review's scheduler deep-dive (finding S12-INFLATE-WINDOW). This is in your B-13 territory so raising it as a question rather than a PR.
planner.py L213-217:
if has_pending:
# Inflate demand in the bootstrap window (request sent, no progress yet)
# so the pipeline gets at least one DP worker allocated before generation starts.
remaining += step_target
The comment says "bootstrap window (request sent, no progress yet)", but the condition only checks registry membership — and the rollout_open_pipelines entry survives until release / clear_progress. So while a rollout is actively progressing (progress reports flowing, step_target > 0), the branch still fires and demand is double-counted (remaining = actual_remaining + step_target, percent_remaining > 1).
Impact: roughly symmetric when both pipelines are mid-rollout (both hold entries), but skews gap-ratio toward whichever pipeline holds an entry when the other doesn't. Not a hang — just allocation-fairness drift.
Question: intended, or should the inflation be gated on "no progress yet" (e.g. only when the progress-derived step_target == 0, which the estimate branch above already handles)? Happy to send the one-line PR either way once you confirm the intended semantics.
@TianyeGGBond — from the F1-F12 review's scheduler deep-dive (finding S12-INFLATE-WINDOW). This is in your B-13 territory so raising it as a question rather than a PR.
planner.pyL213-217:The comment says "bootstrap window (request sent, no progress yet)", but the condition only checks registry membership — and the
rollout_open_pipelinesentry survives until release /clear_progress. So while a rollout is actively progressing (progress reports flowing,step_target > 0), the branch still fires and demand is double-counted (remaining = actual_remaining + step_target,percent_remaining > 1).Impact: roughly symmetric when both pipelines are mid-rollout (both hold entries), but skews gap-ratio toward whichever pipeline holds an entry when the other doesn't. Not a hang — just allocation-fairness drift.
Question: intended, or should the inflation be gated on "no progress yet" (e.g. only when the progress-derived
step_target == 0, which the estimate branch above already handles)? Happy to send the one-line PR either way once you confirm the intended semantics.