Add awq_marlin - #826
Merged
Merged
Add awq_marlin#826
Conversation
Closed
timethink
pushed a commit
to timethink/sglang
that referenced
this pull request
Mar 9, 2025
amote-i
pushed a commit
to amote-i/sglang
that referenced
this pull request
Dec 8, 2025
…oject#826) Co-authored-by: wangguoyan <wangguoyan6@h-partners.com>
efschu
pushed a commit
to efschu/htsglang
that referenced
this pull request
Aug 23, 2026
Wave 3, stage 1 -- the first stage of the batched-window tree. Carries WINDOW-QUEUE tickets W1 (sgl-project#825/sgl-project#827, release-walk crash guard) and W2 (sgl-project#826, solved arming floor), which the queue requires to ship in the SAME tree: W1 lets the boot survive the flip walk and W2 lets the flip actually arm, so validating either alone repeats boot_827's wasted window. Four commits, base 21ff075 (the feat/822 stage): bb09574 [sgl-project#825] Prove the prefix trees congruent at the one aligned point 80ca356 [sgl-project#826] Adopt the solved arming floor, or refuse the boot by name e0895cf [sgl-project#825/sgl-project#827] Withdraw the tree reset: it crashed on resident lock refs 500be7e [W2] Pre-flight: arming reachability must include the measured seam draw ANCESTRY COMPUTED, NOT INFERRED FROM THE BRANCH NAME. merge-base with the tip is 21ff075, i.e. this branch does not carry fix/815-rest-stubdrift. That matters only if the two touch the same files, and they do not: sgl-project#815 is test-only across ten helper files, none of which are the five test files here. CONFLICT LAGE: none, and checked rather than hoped. `git merge-tree --write-tree` against the tip returned a single tree with no conflict block before the merge was attempted, and the merge itself reported "Automatic merge went well". The file surface is DISJOINT from wave 3's other stage (fix/801-void-send-contract, which touches only scheduler_pp_mixin.py), so the two stages cannot interact textually. W2's ticket is preflight_pass=N and that is NOT a reason to keep it off the line. The queue's N is CONDITIONAL: the solved arming floor is reachable only while the seam's measured draw stays at or below the solved 218 MiB reserve, and the measured draws on this rig are 162/387/436/907 MiB. That gates the WINDOW, not the merge -- the actuator sits behind SGLANG_ARMING_FLOOR_SOLVED, so merging it changes no default. Delivering one bootable tree is this strand's job; whether the window runs is the operator's. The branch's own pre-flight suite is worth naming because it refuses a false green rather than manufacturing one: test_arming_reachability_preflight_w2.py asserts `band_floor + max(reserve, measured_draw) + margin <= band_ceiling` and records that the obvious W2 assertion -- 819 + 218 + 192 = 1229 <= 1229 -- is true and useless, because it silently assumes a measured draw of zero, which is the case that does not occur. SECTION 18 DUTY, DISCHARGED IN THIS MERGE. This stage adds a new reusable module, managers/tree_congruence.py, so rule 5 applies to this merge the same way it applied to the four modules catalogued in 9f1af20. The entry is in this commit (docs/dev/FEATURE_CATALOG.md, section 18.5). The reusable part is not the prefix-tree logic but the equality-by-MIN-reduce trick: a digest sent as the pair (d, -d) makes the group agree iff group_min == -group_neg_min, which turns "are all ranks equal?" into two MIN-reduces over a collective that offers only min. The entry states the gate honestly: DETECTION is ungated and always runs, while the RECOVERY is behind SGLANG_TREE_RECONCILE (phase_flip_runtime.py:3777, unset = OFF) because the reset it performs is what crashed on resident lock references and was withdrawn rather than repaired in place. GATE. Battery test/registered/unit/{managers,planner,server_args,mem_cache}, hermetic under CUDA_VISIBLE_DEVICES="", PYTHONPATH set to this worktree, one battery at a time. baseline (tip 4f2072a) 7 failed, 8585 passed, 1852 skipped, 887 s this stage 7 failed, 8638 passed, 1852 skipped, 868 s NEW failure ids NONE (comm against the baseline list is empty) fixed vs baseline 0 The +53 passes are this stage's own new cases; the failure set is unchanged and is still exactly the seven known ones. The baseline was re-measured in this worktree rather than inherited from strand 17c, and came out byte-identical to its list: the same seven cases, all in test_pp_flip_slot_hold_631.py, left red on purpose (see the stub-drift family in section 12 of the catalog). The gate is not vacuum-green: all five suites this stage adds land INSIDE the battery directories and are therefore actually collected -- test_arming_floor_actuator_826.py, test_arming_reachability_preflight_w2.py, test_tree_congruence_825.py and test_tree_congruence_wiring_825.py under managers, test_lock_release_walk_detached_827.py under mem_cache. Section-18 pointer checker (test_building_blocks_catalog_538.py): 104 passed, up from 101, the three new cases being the three new tree_congruence citations. COVERAGE CHECK, because a battery that silently fails to collect is a gate that measures nothing. The W4/W5 strand reported that its worktree cannot collect the managers suite at all -- 92 modules import `datasets`, which is not installed there. That does NOT apply to this gate, and it was verified in the positive direction rather than inferred from the absence of an error message: the venv here has datasets 5.0.0, the battery log contains zero collection errors and zero ModuleNotFoundError, and an explicit --collect-only over test/registered/unit/managers reports 3436 tests collected. The numbers above therefore cover the managers suite in full. No boot. Serving stays down; this tree is the input to ONE batched window, not a reason to open one.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.