Skip to content

ci(eval): run Muse-Glimmer in nightly BFCL and tau2 - #2280

Draft
hello-alexmcc wants to merge 8 commits into
feat/muse-glimmer-parsersfrom
feat/eval-accuracy-harness
Draft

ci(eval): run Muse-Glimmer in nightly BFCL and tau2#2280
hello-alexmcc wants to merge 8 commits into
feat/muse-glimmer-parsersfrom
feat/eval-accuracy-harness

Conversation

@hello-alexmcc

@hello-alexmcc hello-alexmcc commented Aug 23, 2026

Copy link
Copy Markdown
Collaborator

Description

Problem

Muse-Glimmer needs end-to-end accuracy validation through SMG, but the pinned vLLM cannot load the checkpoint. The first version of this PR added a standalone AIME workflow with separate serving orchestration. That duplicated the repository's established benchmark infrastructure and did not follow the nightly BFCL/tau2 lifecycle, reporting, or artifact conventions.

Solution

Add Muse-Glimmer as a targeted smg_only matrix leg in the existing nightly BFCL and tau2 workflows. SGLang serves raw tokens over the SMG gRPC contract; SMG owns chat-template rendering and both Muse-Glimmer parsers. The existing workflow machinery launches, scores, reports, uploads artifacts, and tears the run down.

Changes

  • stack benchmark validation on feat(parsers): add Muse-Glimmer reasoning and tool-call parsers #2270, which adds the Muse-Glimmer reasoning/tool parsers and the live SGLang E2E lane
  • add muse-glimmer to the existing nightly BFCL and tau2 matrices as an smg_only, SGLang-backed leg
  • reuse the nightlies' existing wheel build, backend setup, GPU cleanup trap, readiness wait, scorer, summaries, logs, transcripts, and artifact retention
  • harden both nightlies with one host-mounted BFCL/tau2 lock, correct leg-scoped teardown, and rejection of nonzero or partial benchmark output
  • add first-class single-arm report modes with completeness gates, and run the lightweight scripts/tests/ suite in PR CI
  • remove the standalone AIME/reference-score workflow; it duplicated serving orchestration, never ran on this branch, and did not exercise the nightly BFCL/tau2 contract

Why this is single-arm

The pinned vLLM cannot load meta-models/Muse-Glimmer-30B. For this matrix leg, SGLang 0.5.18 serves raw tokens over the SMG gRPC contract and SMG owns chat-template rendering plus both Muse-Glimmer parsers. The result is an absolute end-to-end SMG score, not a vLLM-vs-SMG frontend parity claim.

The single-arm gate fails on a missing category/domain, timeout, nonzero benchmark subprocess, partial task/trial cardinality, or zero processed samples. A genuine 0% result with nonzero samples remains a valid benchmark result, which is important for diagnosing weak parallel-tool behavior without mislabeling it as broken infrastructure.

Benchmark interpretation

  • The Muse-Glimmer model card does not publish an official BFCL score, so BFCL results here are an SMG serving-path measurement rather than a model-card parity comparison.
  • The model card reports tau3-Banking, while this repository's established nightly is tau2 across its configured domains and fixed user simulator. Those scores are not directly comparable; this PR reports the exact benchmark/version/configuration it ran.

Test Plan

  • pytest scripts/tests/ -q — 53 passed
  • Ruff check + format, codespell, YAML validation, bash -n, actionlint, and git diff --check
  • cargo +nightly fmt --all -- --check
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo test

Live benchmark results

Targeted Muse-Glimmer BFCL and tau2 dispatches will be linked here after the stacked branch is pushed. The PR will remain draft until both runs settle and the exact scores/configuration are recorded.

The BFCL and tau2 harnesses are both A/B: they hold the model fixed, vary
the frontend, and report a delta. That answers "did this change move the
number", but not "is our serving of this model faithful at all". A delta
is blind to a fault both arms share, and a model new enough that no other
engine can serve it has no second arm to compare against.

Add a single-arm harness that produces an absolute score and holds it
against a number the model's publisher put in print, recording the
reproduction protocol and known divergences alongside it.

The first suite is AIME 2026, the only benchmark on the Muse-Glimmer card
that is simultaneously run by the publisher (rather than sourced from a
third party), graded deterministically, text-only, small, and scored near
ceiling -- which is what makes it sharp enough to catch a broken serving
path.

Grading reads content only, never reasoning_content, so a reasoning parser
that stops separating channels shows up here as a score drop rather than
passing silently.

Signed-off-by: Alex McC <319643551+hello-alexmcc@users.noreply.github.com>
@github-actions github-actions Bot added documentation Improvements or additions to documentation ci CI/CD configuration changes tests Test changes labels Aug 23, 2026
@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown

Caution

Review failed

An error occurred during the review process. Please try again later.

Warning

Your free Security trial is over. An organization admin can activate billing to continue.


Comment @coderabbitai help to get the list of available commands.

Two problems, both found by CI on the previous commit.

reference.py and suites.py carried a `#!/usr/bin/env python3` line without
the executable bit, which check-shebang-scripts-are-executable rejects.
They are libraries, not entry points, so the shebang is what was wrong --
removed there, and run_eval.py is marked executable to match run_ab.py.

Separately: nothing in CI ran scripts/tests/ at all. Those guards were dead
weight, including test_register_bfcl_model.py, which was written to keep a
38-point BFCL mis-scoring bug from returning and had never once executed.
They are pure Python and run in under a second, so the lint job is the
right home for them -- no GPU lane needed.

Signed-off-by: Alex McC <319643551+hello-alexmcc@users.noreply.github.com>
Signed-off-by: Alex McC <319643551+hello-alexmcc@users.noreply.github.com>
Signed-off-by: Alex McC <319643551+hello-alexmcc@users.noreply.github.com>
Signed-off-by: Alex McC <319643551+hello-alexmcc@users.noreply.github.com>
Signed-off-by: Alex McC <319643551+hello-alexmcc@users.noreply.github.com>
@github-actions github-actions Bot added tool-parser Tool/function call parser changes reasoning-parser Reasoning parser changes model-gateway Model gateway crate changes labels Aug 23, 2026
@hello-alexmcc hello-alexmcc changed the title feat(eval): score serving against published accuracy references ci(eval): run Muse-Glimmer in nightly BFCL and tau2 Aug 23, 2026
@hello-alexmcc
hello-alexmcc changed the base branch from main to feat/muse-glimmer-parsers August 23, 2026 23:56
Signed-off-by: Alex McC <319643551+hello-alexmcc@users.noreply.github.com>
@github-actions github-actions Bot removed tool-parser Tool/function call parser changes reasoning-parser Reasoning parser changes model-gateway Model gateway crate changes labels Aug 24, 2026
Signed-off-by: Alex McC <319643551+hello-alexmcc@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci CI/CD configuration changes documentation Improvements or additions to documentation tests Test changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant