Skip to content

chore(release): 0.5.0, with fresh benchmarks and a stateless smoke - #14

Merged
klNuno merged 4 commits into
mainfrom
bench/v0.5.0
Aug 13, 2026
Merged

klNuno merged 4 commits into
mainfrom
bench/v0.5.0

Conversation

@klNuno

@klNuno klNuno commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Benchmark refresh, a smoke test for the 2026-07-28 path, and the 0.5.0 version bump.

The published benchmark numbers dated from v0.4.0, and the tool-surface row had been edited by hand since: in KiB while its neighbours were in KB, against a tool count its own summary.md contradicted. Everything is rerun on this build, same host, same key, same 50 iterations, and every row comes from that one run. Receipts in benchmark/results/v0.5.0/.

The token counter was wired to OpenRouter's URL. It now takes the endpoint, model and key from BENCH_TOKEN_*, defaulting to DeepSeek, and still reads the OPENROUTER_* pair. It also subtracts the provider's chat template, roughly 83 tokens billed before the payload starts, which a raw prompt_tokens reading was charging to the response: a 74-character sample came back as 112 tokens, a ratio below one.

scripts/stateless-smoke.py drives the stateless path against a real host, which nothing did before: the PowerShell smokes all open an initialize handshake. It covers a confirmation that survives the retry and then runs the command, a decline that fails closed, and a task polled until it returns its output. Two things it settled: a finished task has no fetch method, tasks/result answers -32601 and a completed tasks/get inlines the CallToolResult; and the decline case needs its own command, since reusing the approved one passes for the wrong reason while confirm_ttl still remembers the yes.

Version bumped in Cargo.toml, both server.json fields and the lockfile, with a CHANGELOG.md covering 0.5.0 and the 0.4.x line.

klNuno added 4 commits August 13, 2026 02:54
The counter was wired to OpenRouter's URL, so the token table needed an account
there and nothing else. Take the endpoint, the model and the key from
BENCH_TOKEN_* instead, defaulting to DeepSeek, and keep reading the OPENROUTER_*
pair so an older setup still runs.

Subtract the chat template while we are here. The provider bills ~83 tokens
before the payload starts, which a raw prompt_tokens reading charged to the
response: a 74-character sample came back as 112 tokens, a ratio below one. Take
that floor once per endpoint and take it off every sample.
The published numbers dated from v0.4.0 and the tool-surface row had been edited
by hand since, in KiB while its neighbours were in KB, off a tool count its own
summary contradicted. Rerun everything on the 2026-07-28 build, same host, same
key, same 50 iterations, and take every row from that one run. First run with a
token table.

Cold start earned a warning in the results README: it is three spawns and
nothing else, so a run taken while the workstation was busy doubled it for all
three servers at once.
The PowerShell smokes all open an initialize handshake, so nothing exercised the
stateless path outside unit tests: a confirmation that survives the retry and
then runs the command, a decline that fails closed, and a task polled until it
hands back its output. Two things it pinned down that were guesses before.

A finished task has no fetch method. tasks/result answers -32601; a completed
tasks/get inlines the CallToolResult next to the status.

The decline case needs its own command. Reusing the approved one passes for the
wrong reason: confirm_ttl still remembers the yes.
Version in the three places the check job compares, plus a CHANGELOG the
generated release notes cannot produce: what the 2026-07-28 support changes for
a client, and why tools/list moved.
@klNuno
klNuno merged commit 2710b25 into main Aug 13, 2026
6 checks passed
@klNuno
klNuno deleted the bench/v0.5.0 branch August 13, 2026 15:06
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