You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The token-savings benchmark (RoselineMCP.TokenBenchmark) now measures the model-visible MCP
wire text: each tool payload is wrapped in the ToolResult<T> envelope and serialized with the
MCP SDK's own serializer (McpJsonUtilities.DefaultOptions — minified camelCase, default JSON
escaping), verified byte-identical to the text content block the real server emits over stdio.
Previous figures measured each tool's bare, un-enveloped DTO with an indented serializer the SDK
never uses. Re-measured headline: median 85% → 89%, pooled (size-weighted) 88% → 93%
(568 tasks; on identical code the methodology correction alone moves the median 86% → 89% —
minification outweighs the envelope + escaping overhead). All published numbers (README, site,
OG card, manifest, docs) are synced. The benchmark also no longer depends on its working
directory: tool-emitted relative paths resolve against the loaded solution's root, and a failed
baseline file read now skips that task with a message instead of crashing the run.
Solution/project auto-discovery is now nearest-level-first: the working directory wins when it has exactly one candidate, then each parent directory (up to 3) in order, then immediate subdirectories — so a solution in the cwd is no longer reported as "ambiguous" just because an ancestor directory (e.g. the main checkout above a git worktree) also has one; only a single level with multiple candidates of its own is an ambiguity.
serverInfo.version in the MCP initialize handshake now reports the real package semver (the assembly's InformationalVersion minus any +buildmetadata suffix) instead of the MinVer-pinned {Major}.0.0.0 AssemblyVersion — a released 2.1.0 build introduced itself as 2.0.0.0.
Social/Open Graph card (og.png) refreshed: the baked-in token-savings figure is now the
median (85% at the time; since re-measured to 89%, see above — was the stale pooled 81%),
and the card is regenerable from a checked-in template (website/og-card.html) instead of
existing only as a rendered PNG; og:image:alt updated to match.