Skip to content

v0.15.0

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Jun 07:14

v0.15.0: 25% fewer tokens on nested tool responses (GCF spec v3)

Upgraded to gcf-go v1.1.0, which implements GCF spec v3. This improves the generic/tabular profile used by all 66 tool handlers.

What changed

Tools that return nested data (diagnostics with metadata, symbols with caller lists, references with context) now encode 25.5% more efficiently. Two improvements:

Inline schema encoding. Nested objects with 3+ fields are encoded positionally on the parent row instead of as separate attachment blocks. Fewer lines, fewer tokens.

Shared array schemas. When multiple records contain arrays with the same structure (e.g., every symbol has a .refs array with {file, line, kind}), the field header is declared once and omitted on subsequent records.

Before (v1.0.0):

@0 AuthMiddleware|fn|src/auth.go|42|^
.refs [3]{file,line,kind}
    src/server.go|15|calls
    src/router.go|88|calls
@1 ValidateToken|fn|src/auth.go|67|^
.refs [3]{file,line,kind}
    src/auth.go|45|calls
    src/middleware.go|23|calls

After (v1.1.0):

@0 AuthMiddleware|fn|src/auth.go|42|^
.refs [3]{file,line,kind}
    src/server.go|15|calls
    src/router.go|88|calls
@1 ValidateToken|fn|src/auth.go|67|^
.refs [3]
    src/auth.go|45|calls
    src/middleware.go|23|calls

Second record's .refs omits {file,line,kind} (shared schema). Multiplied across a blast_radius response with 50 symbols, each with callers, the savings add up.

Token savings summary

Profile Savings vs JSON
Tabular (all tools, v0.15.0) 40-60% (was 30-51%)
Graph (symbol-returning tools) 79-84%
Graph + session dedup 92.7% (5th call)

Other changes

  • Workspace ready check on all LSP query methods: 15 methods now wait for indexing before sending requests, preventing -32001 errors on cold start.
  • QualifiedName space sanitization: Symbol names with spaces (TypeScript) no longer break GCF graph decoding.

GCF

GCF (Graph Compact Format) is a token-optimized wire format for LLM tool responses.