From 602b546a4e8f4f8528c3264689cd55c825ae9cb8 Mon Sep 17 00:00:00 2001 From: Cheng Wan <54331508+ch-wan@users.noreply.github.com> Date: Wed, 22 Jul 2026 01:18:31 -0700 Subject: [PATCH] config: load-time declarations write the config bags (#31815) --- python/sglang/srt/arg_groups/overrides.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/python/sglang/srt/arg_groups/overrides.py b/python/sglang/srt/arg_groups/overrides.py index 5e9676993..8a60582e5 100644 --- a/python/sglang/srt/arg_groups/overrides.py +++ b/python/sglang/srt/arg_groups/overrides.py @@ -261,19 +261,17 @@ def mamba_extra_buffer_of(cfg: Any) -> bool: def declare_load_time_override(source: str, declared: Dict[str, Any]) -> None: """Declare a load-time resolved field (model-file config overrides, - weight-resolved dtypes) on the published ``server_args``: resolution has - already materialized, so the declaration writes through, joining the - declaration stash for provenance and republish consistency.""" + weight-resolved dtypes) after publish. it is written to the config + bags via ``get_context().override`` (namespace readers see it); server_args + stays the pristine startup record. Validated against the resolvable + whitelist first.""" from sglang.srt.runtime_context import get_context - server_args = get_context().server_args - validate_declarations(server_args, [(source, dict(declared))]) - override = getattr(server_args, "override", None) - if override is not None: - override(source, **declared) - else: - # Config-shaped fixtures without the mutation entry point. - _apply_fields(server_args, declared) + context = get_context() + validate_declarations(context.server_args, [(source, dict(declared))]) + # write the config bags (namespace readers see it); server_args + # stays the pristine startup record. + context.override(source, **declared) def collect_model_override_declarations(