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
{{ message }}
Repository navigation
scheduler: integrate #246, #221 and #180 as decode-floor v7 (#283) - #309
Pristine, v1, v2, v5 and v5+priority (today's main) installs migrate to the fresh-install v7 bytes, and a re-apply is a verified no-op.
v3/v4, drifted, duplicated, marker-only and unmarked helpers are refused without writing.
The concurrency canary and its CPU progress regressions land here too.
overlay/patch_mamba_align_chunking.py now accepts decode-floor v7. The proposed TP=2 CHUNK=0 default is not included, and launcher defaults are unchanged.
Qualification
These overlays install scheduler sha256 97c90a18fd0df6f9aeb1452c39801455d90756d315c6846ca0642e934fe4e269 on image ef9f5013. I checked this in-image: the same method gives the known baseline bfd7fffb… for the previous main overlays.
That identity ran a pre-registered baseline → candidate → baseline study on one TP2 pair (2026-09-30, 12:06–2:55 AM EDT). Every trial was valid: 0 replacements, 0 invalid trials, 0 stops.
PASS. Candidate median R prefill with W present is 135 s, against a 159 s bar (control median ÷ 0.9). W was natively refused 25–56× per trial and completed after R.
Inconclusive: baseline A1 vs A2 spread > 5 %. 0 of 30 gates regressed.
Temperature-0 output identity
Inconclusive: the baseline agreed with itself on 6/10 prompts
CPU migration matrix
PASS (13 producers migrate, 14 malformed inputs refused without writing)
Scope: qualified live on TP2 only. start-tp3.sh and start-tp4.sh load the same two overlays, but TP3/TP4 were not run live.
Known limitation, tracked in #308: under --scheduling-policy priority, a short high-priority prompt waited about 85 s behind a larger KV-blocked request.
Tests (CPU)
Scheduler, mamba and concurrency tests: 38 passed. The skipped checks run directly against the pinned image sources and pass.
The decode-floor installation test is ported to the v7 contract, with byte-exact fixtures for every public accepted identity (9 of 11; the two pre-release v7 candidates were never published), and it re-verifies an already-installed v7.
Replace the fair-prefill decode-floor overlay with the integrated v7 patcher
qualified in #283:
- a selected WAITING request refused KV allocation no longer stalls a
runnable prefill; it keeps being retried and recovers once memory frees (#246)
- explicit priorities keep ranking fair-prefill candidates under
--scheduling-policy priority; FCFS is unchanged (#221)
- installer migration follows #180's fail-closed contract: pristine, v1, v2,
v5 and v5+priority installs migrate to the fresh-install v7 bytes; v3/v4,
drifted, duplicated, marker-only and unmarked helpers are refused unwritten
patch_mamba_align_chunking.py accepts decode-floor v7. #180's concurrency
canary, its docs and its CPU progress regressions land with it. The
decode-floor installation test is ported to the v7 contract with deployed
producer fixtures, and the mamba A4 fixture downgrades v7 as well as v5.
On image ef9f5013 these overlays install scheduler sha256
97c90a18fd0df6f9aeb1452c39801455d90756d315c6846ca0642e934fe4e269, the
identity qualified live in #283 (baseline -> candidate -> baseline, TP2).
Co-authored-by: RandomLlama <108938230+beastllama@users.noreply.github.com>
Co-authored-by: Surlebeat <64695525+surlebeat@users.noreply.github.com>
Co-authored-by: Mauvis Ledford <20738+krunkosaurus@users.noreply.github.com>
…283)
REFERENCE.md: name decode-floor v7 where it said v5, and describe the v7
installer contract (v3/v4 and drifted installs are refused, not migrated).
Drop docs/concurrent-agents.md from this integration: its launcher-default
statements predate main's fair default on all launchers.
The reason will be displayed to describe this comment to others. Learn more.
Added in 300187d: test_native_kv_refusal_keeps_waiter_retryable_and_peer_progressing. A selected waiter is natively refused. The runnable peer then gets a positive grant in the same step. On the next step the waiter is in _refused_prev and is not preselected, but it stays a candidate. With no further refusals it recovers, and the peer keeps progressing. The test fails if the refusal is ignored (the pre-#246 behaviour) and if a refused waiter keeps its slot.
…ic producers
Address review on #309:
- installation_tests() verifies an already-current v7 scheduler exactly (as
the patcher's main() does) before unpatching, then checks it equals a fresh
install and that re-applying is a verified no-op.
- New multi-step regression: a selected waiter natively refused KV lets the
runnable peer progress in the same step, is not preselected for one step,
stays a candidate and recovers once memory frees, while the peer keeps
progressing (#246). Fails if the refusal is ignored or the refused waiter
keeps its slot.
- Byte-exact producer fixtures for every accepted public identity:
v1-image-d9758a6 (helper rebuilds image ef9f5013 byte-for-byte),
v5-historical (e329e55), v6-warm-deadline (#180, f89e240) and v6-carry
(#246, dc702b4), each migrated and re-applied.
… rejects any URL userinfo
Address review on #309:
- _unpatch() now refuses when any decode-floor marker (any version) or
either helper definition remains after removing the identified install.
A canonical v7 with a stray v5 or v1 marker no longer verifies as
"already present". Installer-only change: on image ef9f5013 the
installed scheduler is still sha256
97c90a18fd0df6f9aeb1452c39801455d90756d315c6846ca0642e934fe4e269.
- check_concurrent_agents.py rejects password-only and empty-user userinfo
(e.g. http://:secret@host), not only a non-empty username.
- Regressions: v7-plus-v5/v1-marker refusals in installation_tests() and
tests/test_check_concurrent_agents.py; both fail on the previous code.
…ed v7 at its own position
Address independent verification of #309 at 7340644:
- _identify() treats a source as pristine only when no decode-floor marker
of any version and no helper name (_Glm53MixedPrefill, _GLM53_MIXED,
_glm53_mixed_prefill_policy) is present; an unknown marker such as
"# [glm53-decode-floor:v99]" is refused without writing instead of being
installed beside.
- _unpatch() applies the same rule to whatever remains after removing the
identified install, so a later duplicate policy wrapper (which would
rebind the global the hooks call) no longer verifies as current.
- installation_tests() compares a deployed v7 against apply_v7() at the
helper's own position, so a scheduler that also carries adaptive-K (the
deployed layout, helper before _Glm53AdaptiveK) passes; both compositions
are checked explicitly. New refusal cases: duplicate wrapper on v7 and on
pristine, unknown marker, unknown text after the helper.
Installer-only change: on image ef9f5013 the installed scheduler is still
sha256 97c90a18fd0df6f9aeb1452c39801455d90756d315c6846ca0642e934fe4e269
and re-applying on the deployed layout verifies without writing. The two
unpublished v7 pre-release identities still migrate to the fresh-install
bytes.
…er_helpers.py
Replace the six vendored copies of older patcher scripts under
tests/fixtures/decode_floor_producers/ with the byte-exact helper texts of
the same identities (v1-image-d9758a6, v5-main, v5-priority,
v6-warm-deadline, v6-carry), appended to tests/fixtures/legacy_scheduler_helpers.py
in the format #180 established for v1/v2/v5-historical, with provenance in
its docstring.
installation_tests() rebuilds every accepted public identity the same way:
helper text at the installer's anchor plus that version's hook pairs. Each
rebuild was checked byte-identical to the output of the removed patcher
copy, and the installer still authenticates each by sha256 and length.
v5-historical is now exercised directly as well. Same coverage (9 of 11),
about 3,600 fewer lines, no new file layout.
… fixture in the image; record legacy digests
Address review on #309 (b852f57):
- _identify() refuses a legacy install whose `import os` is missing
("import drifted") instead of repairing it during migration, matching
the check the current-v7 path already had. Three refusal cases added; the
refusal test now also requires a deliberate refusal message, not a crash.
- Dockerfile: the fixtures COPY now ships tests/fixtures/legacy_scheduler_helpers.py
to /opt/glm53/fixtures/, and the runner resolves its fixture beside itself
before the checkout tree, so the mandatory build-time self-test
(python3 /opt/glm53/test_scheduler_decode_floor.py) finds it. New
tests/test_image_test_layout.py stages the Dockerfile's /opt/glm53 layout
from its COPY lines and checks that resolution (and, with
GLM53_SCHEDULER_PY_SRC set, runs the full runner there).
- legacy_scheduler_helpers.py records PINNED_CLEAN_SHA256 and a SOURCE_DIGESTS
entry per reconstructed legacy install on the pinned source. On that source
the installation test compares each rebuild against its recorded digest and
checks the comparison's sensitivity, so the installer's hook tables are
checked against recorded history rather than against themselves. A wrong
begin_step hook in the V5 or V6 table is now caught.
Installer-only change: the installed scheduler on image ef9f5013 is still
sha256 97c90a18fd0df6f9aeb1452c39801455d90756d315c6846ca0642e934fe4e269.
The borrow branch runs before the affordable-rung branch, so a never-served high-priority request always borrows the largest step-fitting rung even when a smaller rung fits current credit and a lower tier is queued. For example, with 0.21 s credit and learned 256@0.2 s pricing, this grants 2048 tokens and drives credit to -1.39 instead of granting the affordable 256. This contradicts the stated DROP-5f contract and can unnecessarily prolong lower-tier waits; prefer alt before falling back to borrowing.
Any source containing a v7 marker is treated as current here, so an accepted v7-drop2 or v7-drop4 migration source fails the exact-current _unpatch() and exits before _identify() can recognize it. The production patcher deliberately falls back to legacy identification in this case. Mirror that fallback so the installation runner can execute against every identity the installer accepts.
…legacy hook-table digests
Address review on #309 (f5830dd):
- installation_tests() now falls back to legacy identification for any
v7-marked source that is not the current helper (as the installer does), so
the runner can execute against the accepted pre-release v7 identities. A
supplied legacy install of any identity is migrated and compared against
apply_v7(clean, at=<its helper position>) and re-applied as a no-op, instead
of being compared with the fresh-install bytes; with adaptive-K between the
two positions that comparison was wrong. The same position rule is covered
with the public v5-main fixture, helper before and after adaptive-K.
- legacy_scheduler_helpers.py records HOOK_TABLE_DIGESTS for the V1/V2/V5/V6
hook tables. They are checked unconditionally (no scheduler source needed,
also as a plain pytest test), so a changed table is caught on build-shaped
and deployed sources too, where the whole-source digests cannot apply. A
wrong begin_step hook in the V5 or V6 table now fails on every source layout.
Tests only; the installed scheduler on image ef9f5013 is still sha256
97c90a18fd0df6f9aeb1452c39801455d90756d315c6846ca0642e934fe4e269.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Integrates the three scheduler directions tracked in #283 into one decode-floor patcher (v7), as qualified live in #283:
--scheduling-policy priority; FCFS is unchanged.main) installs migrate to the fresh-install v7 bytes, and a re-apply is a verified no-op.overlay/patch_mamba_align_chunking.pynow accepts decode-floor v7. The proposed TP=2CHUNK=0default is not included, and launcher defaults are unchanged.Qualification
These overlays install scheduler sha256
97c90a18fd0df6f9aeb1452c39801455d90756d315c6846ca0642e934fe4e269on imageef9f5013. I checked this in-image: the same method gives the known baselinebfd7fffb…for the previousmainoverlays.That identity ran a pre-registered baseline → candidate → baseline study on one TP2 pair (2026-09-30, 12:06–2:55 AM EDT). Every trial was valid: 0 replacements, 0 invalid trials, 0 stops.
Scope: qualified live on TP2 only.
start-tp3.shandstart-tp4.shload the same two overlays, but TP3/TP4 were not run live.Known limitation, tracked in #308: under
--scheduling-policy priority, a short high-priority prompt waited about 85 s behind a larger KV-blocked request.Tests (CPU)
docs/REFERENCE.md: decode-floor v5 references updated to v7 (five lines).README.mdis unchanged.tests/: no new failures versusmain. Both have the same pre-existingtest_gen_defaultsfailure, plus 7 files that need torch.Closes #246, closes #180, closes #283.