Skip to content

serve: engine default still said glm after the rename — direct invocation broken on a clean checkout - #526

Merged
JustVugg merged 1 commit into
devfrom
fix/gateway-engine-default
Jul 22, 2026
Merged

serve: engine default still said glm after the rename — direct invocation broken on a clean checkout#526
JustVugg merged 1 commit into
devfrom
fix/gateway-engine-default

Conversation

@JustVugg

Copy link
Copy Markdown
Owner

Noticed by @RDouglasSharp in passing while debugging #488, and it reproduces: python3 openai_server.py --model <dir> looks for a binary named glm beside itself, but since #391 the build produces colibri. It only seemed to work for those of us with a stale glm left over from an older build — on a clean checkout the gateway cannot find its engine.

coli serve was unaffected (the launcher resolves the engine itself and passes --engine), which is why CI never caught it.

Fix: resolve by probing colibri / colibri.exe first, falling back to glm / glm.exe — the same order the coli launcher uses, so old trees keep starting. Verified by moving the stale glm out of the way: resolves to colibri, engine launches. Python suite green (149).

Thanks @RDouglasSharp — reporting a second bug you weren't even looking for is appreciated.

🤖 Generated with Claude Code

python3 openai_server.py --model <dir> looked for a binary named 'glm' next
to itself. Since #391 the build produces 'colibri', so direct invocation was
broken on any clean checkout -- it only appeared to work in trees that still
had a stale glm from an older build. Spotted by @RDouglasSharp while working
on #488.

Resolve the engine by probing colibri / colibri.exe first and falling back to
glm / glm.exe, the same order the coli launcher uses, so old trees keep
starting. Verified by removing the stale glm and running the gateway: it
resolves to colibri and the engine launches.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@JustVugg
JustVugg merged commit 9baae9b into dev Jul 22, 2026
9 checks passed
pull Bot pushed a commit to danielabelski/colibri that referenced this pull request Jul 22, 2026
v1.1.0 trips Microsoft Defender on Windows, and the cause was ours: 107 KB
of zeros in .data (JustVugg#527/JustVugg#532). This gets the fix out rather than leaving
every new Windows download to hit the same alert.

Also carries the Anthropic /v1/messages endpoint (JustVugg#343), the gateway engine
default fix (JustVugg#526), release checksums (JustVugg#530), and the Get-started docs
rewrite (JustVugg#521).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@JustVugg
JustVugg deleted the fix/gateway-engine-default branch July 24, 2026 06:53
gohlerdev pushed a commit to gohlerdev/BetterColibri that referenced this pull request Jul 28, 2026
The tiny-model efficiency/regression suite silently skipped on every
tree since the JustVugg#391 rename: it looked for glm.exe (test_inefficiency
ENGINE, efficiency.run_engine default, test_cuda_env GLM) while the
build produces colibri — the exact bug class JustVugg#526 fixed in the gateway.
All three now use the gateway's resolution order (colibri, colibri.exe,
glm, glm.exe) with actionable skip messages.

Executing the suite for the first time exposed a flaky assertion:
test_cpu_vs_cpu_determinism bounded run-to-run tok/s drift at 25%, but
a tiny-model decode is ~20 ms of wall clock — scheduler noise, not an
engine property (measured >2x variance, ~1 failure in 3 runs). The
determinism contract keeps its exact greedy hit-rate equality (the
part that catches real non-determinism) and timing gets a sanity bound
(positive, finite) instead of a cross-run tolerance.

Validation: with the glm_tiny fixture present the suite now RUNS
(5 tests executed, was 8/8 skipped) and passes 5/5 consecutive runs;
full test-python 143 OK. Teacher-forcing oracle validated alongside:
TF=1 vs transformers reference = 32/32 at f32.
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.

1 participant