21 Commits
Author SHA1 Message Date
Xiaoyu ZhangandMick Qian 4d23a4fa6d [Test] Consolidate test cleanup and CI taxonomy (net -11.4K lines) (#37436)
Co-authored-by: Mick Qian <mickqian@users.noreply.github.com>
2026-09-07 15:13:59 +08:00
Liangsheng Yin 5a100d9086 [misc] Trim restating comments and docstrings in srt/managers (#35622) 2026-08-20 14:18:40 -07:00
Liangsheng Yin a49560ce50 [misc] Add a comment style rule to .claude/rules (#35597) 2026-08-19 18:52:48 -07:00
Liangsheng Yin 5c9ee86d90 [CI] Move the static ratchets back to CPU unit tests (#34913) 2026-08-14 23:32:00 -07:00
Xinyuan Tongandhnyls2002 85cdf1178d [CI] Prune redundant CPU test overhead (#34309)
Co-authored-by: hnyls2002 <lsyincs@gmail.com>
2026-08-13 19:51:17 -07:00
Cheng Wan 99cfc90658 config: retire ServerArgs.override in favour of derive()
`ServerArgs.override(source, **fields)` was the last way to change a resolved
`ServerArgs` in place. Every remaining call-site was one of two things, and
neither wanted an in-place write:

- **A config for someone else.** A draft worker's context length, an encode
  worker's device, the compile script's watchdog, the client's port pick, a test
  fixture's backends. These already deepcopied first — the write was on the copy.
- **A launcher-stage resolution.** `resolve_auto_parsers` detected the chat
  template's parsers and wrote them back, to be inherited by the schedulers it
  spawns.

Both are "one config becomes another", so `derive(source, **fields)` returns the
variant and leaves the receiver — and any bags projected from it — untouched. It
deliberately is not `dataclasses.replace`: resolution does not re-run, because
the values being set are decided after it, from inputs it never had. Provenance
and the resolvable-field stash work as before, on the copy.

`resolve_auto_parsers` now computes the parsers and returns the config to launch
with; the detection helpers stop taking a config to mutate. `HiMambaRadixCache`
re-applied a HiCache layout normalization `__post_init__` already performs (the
same duplicate removed from `UnifiedRadixCache` in ebb1c88d23) and just goes.

With no in-place mutation left, `ServerArgs.__setattr__` raising after
resolution *is* the guarantee, so the textual writer ratchet retires and
`test_server_args_derive.py` pins the contract instead: the receiver survives
deriving, the published instance still refuses assignment, and deriving does not
publish. `SGLANG_STRICT_CONFIG_MUTATION` was already unused — the guard has been
unconditional since the mutation sweep — and goes with it.

The detection tests drop their `SimpleNamespace` stand-in for a real
`ServerArgs`; the test kit and the MLA chunk-metadata fixture publish a derived
variant instead of writing the runner's published config.
2026-08-05 19:30:53 -07:00
fzyzcjy 52a88fb212 Avoid mutating ScheduleBatch fields in place (#30672) 2026-07-15 14:27:08 +08:00
fzyzcjy e77d95c3d5 Pass per-forward overrides to ForwardBatch.init_new as explicit arguments (#30670) 2026-07-15 14:25:59 +08:00
Liangsheng Yin a36c873147 [misc] Remove unit test cases that fail the admission criteria (round 2) (#30703) 2026-07-09 16:35:59 -07:00
Liangsheng Yin c46b291c77 [misc] Add init-static value extraction to the general code style rule (#30701) 2026-07-09 15:25:53 -07:00
Liangsheng Yin 9e4483d725 [misc] Add unit test admission criteria to agent rules (#30608) 2026-07-08 23:41:48 -07:00
fzyzcjy 6af1d5ff2d Enhance large class styles and code styles (#28978) 2026-07-09 07:32:03 +08:00
Lianmin Zheng 1a5977d41b [chore] Add no-getattr rule; refine no-dataclasses rule (#29871) 2026-07-01 15:31:34 -07:00
Lianmin Zheng d331fdd2ba Add project rule: prefer msgspec.Struct over dataclasses (#28816) 2026-06-20 18:43:16 -07:00
fzyzcjy dd176387c6 Add scripted-runtime harness core and wire scheduler/IPC hooks (#27411) 2026-06-06 09:07:01 +08:00
Liangsheng Yin f143d54d78 Add env-var-conventions skill (#26553) 2026-05-28 02:58:37 -07:00
fzyzcjy d9c82934c8 Extract Scheduler init methods and add skills to enforce the splitting requirements (#26271) 2026-05-26 17:45:09 +08:00
fzyzcjy b0cf01eb85 Lazy-load speculative-naming via skill instead of always-on rule (#26270) 2026-05-25 15:58:29 +08:00
Liangsheng Yin 42bcbc00d4 [Spec] Drop Rule 5 (_len / _lens ban) from speculative naming rule (#25012) 2026-05-11 14:35:34 -07:00
Liangsheng Yin 1613bae412 [Spec] Disambiguate verified_id into bonus_token(s) / accept_tokens (#24724) 2026-05-08 18:24:33 -07:00
Liangsheng Yin 5dc4c7bef1 Add speculative decoding naming convention rule (#24094) 2026-05-08 14:52:31 -07:00