<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Negative-Results on cameronqj</title>
    <link>https://cameronqj.com/tags/negative-results/</link>
    <description>Recent content in Negative-Results on cameronqj</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <copyright>Cameron Jones</copyright>
    <lastBuildDate>Thu, 09 Jul 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://cameronqj.com/tags/negative-results/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>toolcall-repair-bench</title>
      <link>https://cameronqj.com/projects/toolcall-repair-bench/</link>
      <pubDate>Thu, 09 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://cameronqj.com/projects/toolcall-repair-bench/</guid>
      <description>An archived precision-first benchmark whose follow-up testing disproved its original broad premise.</description>
      <content:encoded><![CDATA[<p><strong>Status:</strong> Concluded and archived<br>
<strong>Code:</strong> <a href="https://github.com/cameronqj/toolcall-repair-bench">github.com/cameronqj/toolcall-repair-bench</a></p>
<p>I built this benchmark to answer what looked like a practical question: how often could a conservative repair layer recover malformed local-model tool calls without inventing unsafe intent?</p>
<p>The first version treated unsafe false positives as more important than recall or F1. Then endpoint-controlled follow-up testing changed the conclusion. <code>llama.cpp</code> produced 27 of 27 clean non-streaming calls and 36 of 36 clean streaming/parallel calls. Ollama&rsquo;s parsed chat path produced 3 of 3 and then 16 of 16 clean calls, including the model that seeded the original investigation.</p>
<p>The broad &ldquo;local models need tool-call repair&rdquo; premise did not survive. The original 117-case corpus had captured raw, unparsed completion output, so its leaderboard cannot support a general model or library comparison. I archived the project rather than keep polishing a benchmark for a problem the normal serving path had already solved.</p>
<p>The useful artifact is the correction: capture point and serving stack mattered more than the model-level explanation I started with.</p>
<h2 id="read-the-finding">Read the finding</h2>
<ul>
<li><a href="https://github.com/cameronqj/toolcall-repair-bench/blob/main/findings/README.md">Finding and reproduction procedure</a></li>
<li><a href="https://github.com/cameronqj/toolcall-repair-bench/blob/main/docs/adr/0006-premise-is-a-serving-stack-artifact.md">Why the project was archived</a></li>
<li><a href="https://github.com/cameronqj/toolcall-repair-bench/blob/main/EVALUATION.md">Precision-first methodology</a></li>
</ul>
]]></content:encoded>
    </item>
  </channel>
</rss>
