Skip to content

Update XoRL submodule branches and SGLang pin - #41

Closed
kiddyboots216 wants to merge 5 commits into
mainfrom
chore/update-xorl-submodules
Closed

kiddyboots216 wants to merge 5 commits into
mainfrom
chore/update-xorl-submodules

Conversation

@kiddyboots216

@kiddyboots216 kiddyboots216 commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Declare main as the tracked branch for xorl-client and xorl-sglang.
  • Retain the xorl-client pin at 2a3a60a783c98e2a8ff722bad06dab18caee350c.
  • Pin xorl-sglang to the final exact-serving PR Drop internal-only cross-references from the public tree #15 head at 1fc3396aa122e0f8eb7b1ea4fe0051250cf1bc3c.
  • Replace the earlier nonexistent xorl-sglang gitlink with an object fetchable from the live sampler remote.

The parent repository continues to pin immutable commits; branch metadata only makes future submodule updates explicit.

Stack and validation

  • Base: main
  • Next: Add exact dense Qwen programs and shared operator improvements #43
  • Head: 762205400ad0b136817c3a3f6658f39500d2ded1
  • Recursive submodule checkout is clean: xorl-client resolves to 2a3a60a783c98e2a8ff722bad06dab18caee350c, and xorl-sglang resolves to 1fc3396aa122e0f8eb7b1ea4fe0051250cf1bc3c.
  • Commit hooks and git diff --check passed.

@broly-code-security-scanner

Copy link
Copy Markdown

Broly Security Scan

Note

Clean scan
No vulnerabilities detected in this PR.

Note

Re-scan this PR anytime with /broly scan — useful after /broly undismiss, or to refresh findings without a new push.

Broly — SAST (zai-org/GLM-5.2) · Secrets · SCA · IaC · GH Actions · Base Images · Supply Chain Threats · Exploit Chains · Adversarial Verification

We're continuously improving Broly's accuracy and finding quality — your feedback is valuable. False positives, missed findings, bugs, and feature requests all welcome.

Ask in #security-engineering   Powered by Together AI

@kiddyboots216
kiddyboots216 requested a review from qywu August 12, 2026 04:11

@qywu qywu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Both gitlinks resolve to objects that exist on the live remotes (xorl-client 2a3a60a7, xorl-sglang 1fc3396a — "Reject invalid exact GLM LoRA scaling"), and declaring branch = main in .gitmodules only affects submodule update --remote, so the immutable pins still govern checkout.

Worth noting this is the only PR in the current stack that lint CI has actually run on: .github/workflows/lint.yml triggers on pull_request: branches: [main], and #42#52 all target intermediate branches. Widening that to branches: ['**'] would be a one-line change and would have caught real ruff-format failures on #50, #51, and #52.

@kiddyboots216

Copy link
Copy Markdown
Contributor Author

Superseded by #57, which consolidates the complete exact trainer-serving stack directly onto main.

@kiddyboots216
kiddyboots216 deleted the chore/update-xorl-submodules branch August 17, 2026 23:41
qywu added a commit that referenced this pull request Aug 26, 2026
…g receiver

Selecting full / lora / fp8_lora once now derives and validates the paired
trainer and serving settings instead of duplicating fragile edits across the
server YAML and a hand-written sglang.launch_server command.

- xorl.server.train_serve_profile (torch-free): per-profile pinned trainer
  fields (derived when unset, rejected with the full mismatch list when
  explicitly contradicted -- the block_fp8_qlora_training requirements/
  mismatches precedent) plus overridable aligned defaults (fills). fp8_lora
  is an FP8 block-e4m3 FROZEN BASE with bf16 LoRA ADAPTERS (block_fp8 QLoRA
  trainer + --quantization fp8 receiver); no profile quantizes the adapters,
  and the vocabulary keeps that distinction explicit.
- Expansion runs where explicit keys are still distinguishable from
  dataclass defaults: launcher.load_server_arguments (YAML + CLI overrides)
  and server_arguments.parse_server_args (runner path). __post_init__
  re-validates the pinned invariants for directly constructed instances.
- /add_inference_endpoint now fail-fast validates every registered receiver
  against the profile (base quantization fp8-vs-bf16, --enable-lora,
  max_lora_rank ceiling >= trainer max_lora_rank) -- previously
  server_info.enable_lora/max_lora_rank were captured but never checked.
- Deterministic serving translation: python -m xorl.server.train_serve_profile
  <config.yaml> prints the paired sglang.launch_server flags (fp8_lora ->
  --quantization fp8 --enable-lora --max-lora-rank R --lora-target-modules
  ...; trainer-only target names such as Qwen3.5's g_proj fall back to the
  'all' sentinel).
- Examples: examples/server/configs/profiles/qwen3_8b_{full,lora,fp8_lora}.yaml.
  Docs: config-reference/server.md (derivation + receiver-requirement tables),
  server-training/sglang.mdx (launch-flag derivation + compatibility mapping).
- Tests (cpu): tests/server/test_train_serve_profile.py covers derivation,
  defaults, explicit overrides, backward compatibility (profile-less configs
  parse unchanged), launch-flag translation, and admission accept/reject;
  test_inference_endpoints.py exercises the wired /add_inference_endpoint
  gate end-to-end against fake receivers.

Companion xorl-sglang test (same branch as PR #41) pins the /server_info
field surface this admission reads, so an upstream rename fails visibly
naming the consumer.
qywu added a commit that referenced this pull request Aug 27, 2026
fd192a1af14914e2e5b7009274cab5d9507b93cc = togethercomputer/xorl-sglang#41
(xorl/exact-qwen-parity): 0010556a66 (the revision the four K3=0 parity
lanes and the serving-side sweeps ran against) plus the overlay
forward_batch twin None-default fix that sweep surfaced. The delta is
behaviorally inert on the exact serving path (None is falsy at every read
site; LogitsMetadata coerces to the same bool), so the lane evidence
carries over unchanged.
qywu added a commit that referenced this pull request Aug 27, 2026
ea87120a479aee8c22ea0ba662d6a953746e2b24: fd192a1af1 (the qualified
revision) + the origin dev-sync merge whose net diff is two lines of
scripts/ci/representative_gpu_tests.txt (dev advanced only by the FA4
seqused_k fix this branch already carried) + one upstream unit test
adapted to the fork's fail-closed rl_on_policy_target contract. No
serving-path change relative to the lane-qualified bytes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants