Skip to content

docs: correct the got recall figure, measured with a stale binary - #43

Merged
SteveSolvesProblems merged 1 commit into
mainfrom
bench-got-recall
Oct 14, 2026
Merged

SteveSolvesProblems merged 1 commit into
mainfrom
bench-got-recall

Conversation

@SteveSolvesProblems

Copy link
Copy Markdown
Member

BENCHMARK.md reported got (TypeScript) internal recall as 78.9% when the tool was already achieving 87.9%. One row changes:

- | got | ts | `e1d87d2` | 88 | **1723/2184 = 78.9%** | 461 | `request` ×91, `now` ×71, `setTimeout` ×55 |
+ | got | ts | `e1d87d2` | 88 | **1920/2184 = 87.9%** | 264 | `now` ×71, `setTimeout` ×55, `request` ×49 |

197 call sites that ctx was resolving correctly were published as misses.

Cause

BENCHMARK.md was last regenerated in #40 — carry module path segments instead of re-deriving them — which is precisely the fix that resolves these TypeScript request call sites. The figure recorded in that commit came from a binary built before the fix it was meant to reflect, so the row has understated the tool ever since, in the one document whose whole purpose is calibration.

The corpus is untouched and still pinned to the same commits in bench/repos.tsv. Same measurement, same inputs, clean release build — nothing about the tool changed, only the number was wrong.

It is not the tree-sitter bump

Worth stating, because #42 landed immediately before this and invites the assumption. A 0.27.0 binary built from identical source reports 87.9% too, and an interleaved A/B over 20 runs per command shows the two versions indistinguishable:

command 0.27.0 0.27.1
map --view skeleton 0.0675s 0.0679s
doctor 0.0699s 0.0702s
callers 0.0683s 0.0678s

Scope

The other five recall rows and the entire grep-comparison table regenerate byte for byte, as do all eight regenerated blocks in EXAMPLES.md — so this is the only published figure that had drifted.

🤖 Generated with Claude Code

https://claude.ai/code/session_01VXJrNh9MMrV6WkJbdZnZyP

BENCHMARK.md was last regenerated in #40 ("carry module path segments
instead of re-deriving them") — the commit whose fix resolves exactly the
TypeScript call sites this row was reporting as misses. The figure recorded
there came from a binary built before that fix, so it credited the tool with
197 fewer resolved call sites than it had already earned:

  got  ts  1723/2184 = 78.9%  ->  1920/2184 = 87.9%
  misses 461 -> 264, and `request` falls from 91 unpinned to 49

Re-run on a clean release build. The corpus is untouched and still pinned to
the same commits in bench/repos.tsv, so this is the same measurement on the
same inputs — nothing about the tool changed, only the number was wrong.

The tree-sitter 0.27.1 bump in #42 is not responsible, which is worth stating
because the timing invites the assumption. A 0.27.0 binary built from this
same source reports 87.9% as well, and an interleaved A/B over 20 runs per
command shows the two versions indistinguishable: map 0.0675 vs 0.0679,
doctor 0.0699 vs 0.0702, callers 0.0683 vs 0.0678.

The other five rows and the whole grep-comparison table regenerate byte for
byte, as do all eight regenerated blocks in EXAMPLES.md.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01VXJrNh9MMrV6WkJbdZnZyP
@SteveSolvesProblems
SteveSolvesProblems merged commit 96491dc into main Oct 14, 2026
13 checks passed
@SteveSolvesProblems
SteveSolvesProblems deleted the bench-got-recall branch October 14, 2026 13:01
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