<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Code-Review on tsvinc</title>
		<link>https://tsvinc.dev/tags/code-review/</link>
		<description>Recent content in Code-Review on tsvinc</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Sun, 25 Oct 2026 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://tsvinc.dev/tags/code-review/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>The design review found a Konsole tab</title>
				<link>https://tsvinc.dev/posts/design-review-konsole-tab/</link>
				<pubDate>Sun, 25 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://tsvinc.dev/posts/design-review-konsole-tab/</guid>
				<description>&lt;p&gt;Before I read the design review of my LAN proxy, three reports from three sides, I wrote down my own, so that afterwards I couldn&#39;t pretend to have seen anything coming. Three findings, four positions I&#39;d defend. The first finding was a real one: every request body went through a JSON parser three or four times before the proxy forwarded it, about 30 ms for a 1.4 MB request by my estimate. The performance review measured 20.5 ms for a 1.2 MB body through the whole proxy, against 0.48 ms direct, and rated it MEDIUM.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The fixes had the bugs</title>
				<link>https://tsvinc.dev/posts/fixes-had-the-bugs/</link>
				<pubDate>Sat, 24 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://tsvinc.dev/posts/fixes-had-the-bugs/</guid>
				<description>&lt;p&gt;Marking a fix done sounds like the easy part. Write the change, write a test, watch the suite go green, tick the box. I had 45 findings for my LAN proxy for local models, from a round of research into what coding agents and other clients send and what llama.cpp&#39;s endpoints expect. I had an afternoon of fixes, and a green suite.&lt;/p&gt;&#xA;&lt;p&gt;The fixes then went through an independent re-review, pass after pass, each one starting from the findings and the code rather than from my summary of what I&#39;d done. Seven passes found 11, 8, 10, 4, 2, 1 and 0 bugs. They weren&#39;t new findings about clients. They were in the fixes, and in the fixes of the fixes, and two of them could take the whole proxy down.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Three models wrote the same circuit-breaker bug</title>
				<link>https://tsvinc.dev/posts/same-circuit-breaker-bug/</link>
				<pubDate>Thu, 22 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://tsvinc.dev/posts/same-circuit-breaker-bug/</guid>
				<description>&lt;p&gt;One README on the A9 says this about its circuit breaker:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;An attempt that was already in flight when the circuit opened scores nothing: the open period is&#xA;the point, and the trial is the only way out.&lt;/p&gt;&#xA;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Swift-1.5 wrote that sentence, under Claude Code, as part of a TypeScript retry layer for a payments&#xA;gateway. It is a precise statement of the right invariant. The code below it does not keep it: a&#xA;request that left while the circuit was closed, and comes back during the half-open trial, decides&#xA;the trial. The code reviewer called the sentence an overclaim. The honesty checker, which files the&#xA;labels, called it honest: it read the sentence as a claim about the open state, where the code does&#xA;keep it (&lt;a href=&#34;https://tsvinc.dev/posts/coding-agent-lied-not-just-failed/&#34;&gt;how the labels work&lt;/a&gt;). Both readings fit what&#xA;the code does. It handles the late request, for the wrong state.&lt;/p&gt;</description>
			</item>
			<item>
				<title>29 of 34 passing agent runs had a blocker the hidden tests never saw</title>
				<link>https://tsvinc.dev/posts/blind-review-agent-code-probes/</link>
				<pubDate>Fri, 16 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://tsvinc.dev/posts/blind-review-agent-code-probes/</guid>
				<description>&lt;p&gt;&lt;em&gt;Assumes you&#39;ve run a coding agent on a real task and read the diff it left behind.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;TL;DR —&lt;/strong&gt; A Go transfer function written by a local model passed 15 of 15 hidden core tests, 12 of 12 detail tests and 7 of 7 mutants. Cancel the request context between its two saves and 4.00 EUR disappears. To find that kind of bug in agent output at scale:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Review each run &lt;strong&gt;blind&lt;/strong&gt;: task, &lt;em&gt;original&lt;/em&gt; README, diff, final tree, mechanical score, and nothing that names the model or harness.&lt;/li&gt;&#xA;&lt;li&gt;Score &lt;strong&gt;overall as a merge decision&lt;/strong&gt;, never an average, with mechanical caps: a reproduced money loss is a blocker, and any blocker caps overall at 3.&lt;/li&gt;&#xA;&lt;li&gt;The reviewer &lt;strong&gt;writes and runs&lt;/strong&gt; a short probe test for every failure path the task names. Reasoning about a probe instead of running it gets the review rejected.&lt;/li&gt;&#xA;&lt;li&gt;Calibrate a cheap reviewer against an expensive one on the same packets. Here the rules moved the scores, not the model.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;As of the last review filed on 15 October, 69 of 75 reviews carried at least one blocker. 34 of the 75 runs had a PASS verdict, and 29 of those still carried one.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
