<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>debugging-ai examples on Programmer.ie: Modern AI programming</title>
		<link>http://programmer.ie/examples/debugging-ai/</link>
		<description>Recent content in debugging-ai examples on Programmer.ie: Modern AI programming</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
		
			<atom:link href="http://programmer.ie/examples/debugging-ai/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Find the first divergence, then move the failure with an override</title>
				<link>http://programmer.ie/examples/debugging-ai/01-chapter/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>http://programmer.ie/examples/debugging-ai/01-chapter/</guid>
				<description>&lt;p&gt;Debugging is not making a symptom disappear. It is finding the earliest point&#xA;where execution left intent, and proving that point causes the failure by&#xA;changing it and nothing else. This program does both halves on the chapter&amp;rsquo;s&#xA;billing example: an intent table read in order, and a counterfactual override&#xA;forcing the discount to the value the spec requires.&lt;/p&gt;&#xA;&lt;h2 id=&#34;run-it&#34;&gt;Run it&lt;/h2&gt;&#xA;&lt;p&gt;Save this as &lt;code&gt;invoice_divergence.py&lt;/code&gt; and run it with Python 3.11 or later. It uses the standard library only.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Stop at the first stage boundary that disagrees with intent</title>
				<link>http://programmer.ie/examples/debugging-ai/02-chapter/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>http://programmer.ie/examples/debugging-ai/02-chapter/</guid>
				<description>&lt;p&gt;The final number is wrong and the last stage is where it is wrong, so the&#xA;obvious fix is to patch the last stage. That cannot work: three different&#xA;causes produce the same wrong total, and only the ordered intermediates&#xA;separate them. This program checkpoints a pipeline in execution order, stops&#xA;at the first boundary that disagrees with the spec, then takes the backward&#xA;slice to name the rows responsible. It composes the chapter&amp;rsquo;s &lt;code&gt;clean&lt;/code&gt; stage&#xA;and &lt;code&gt;contributing_orders&lt;/code&gt; slice over a fixture whose shortfall is €212.40.&lt;/p&gt;</description>
			</item>
			<item>
				<title>A boundary table convicts a rule, not a single input</title>
				<link>http://programmer.ie/examples/debugging-ai/07-chapter/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>http://programmer.ie/examples/debugging-ai/07-chapter/</guid>
				<description>&lt;p&gt;Forty-seven passing tests and the refunds are still wrong. The suite samples&#xA;middles, and middles never land on a seam. This program runs the chapter&amp;rsquo;s&#xA;six-cell boundary table against a page-count function and reads the shape of&#xA;the divergences: one failing input is an observation, a pattern of them is&#xA;evidence about the rule. It composes the chapter&amp;rsquo;s &lt;code&gt;paginate&lt;/code&gt;, its defective&#xA;&lt;code&gt;chunk_count&lt;/code&gt;, and the metamorphic relation the chapter proposes as oracle.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Group the trials by a signature, not by the raw text</title>
				<link>http://programmer.ie/examples/debugging-ai/21-chapter/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>http://programmer.ie/examples/debugging-ai/21-chapter/</guid>
				<description>&lt;p&gt;One draw from a mixed distribution carries almost no information about the&#xA;distribution, so the debugging object is the answer-distribution and not the&#xA;answer. It is read from a fixed projection of each output, and that projection&#xA;has to be chosen before the trials or the histogram is a Rorschach test. This&#xA;program composes the chapter&amp;rsquo;s &lt;code&gt;Signature&lt;/code&gt; dataclass and its&#xA;&lt;code&gt;behavioral_signature&lt;/code&gt; projection, then runs a seeded twenty-draw series at&#xA;temperature 0.7 and a ten-draw probe at temperature 0. The draws come from a&#xA;simulation, not a model.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Price the design&#39;s own numbers before anyone builds it</title>
				<link>http://programmer.ie/examples/debugging-ai/27-chapter/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>http://programmer.ie/examples/debugging-ai/27-chapter/</guid>
				<description>&lt;p&gt;A design document that claims &amp;ldquo;meets latency goals&amp;rdquo; while listing per-hop&#xA;latencies that sum past the budget does not need a load test. It needs adding&#xA;up. The chapter&amp;rsquo;s method is a constraint table where each row is a bound, the&#xA;design&amp;rsquo;s own line items, and a verdict, and where one FAIL row rejects the&#xA;shape and one UNVERIFIABLE row rejects the document. This program prices two&#xA;candidates on identical rows.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Detect a loop from hashes, then name which kind it is</title>
				<link>http://programmer.ie/examples/debugging-ai/39-chapter/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>http://programmer.ie/examples/debugging-ai/39-chapter/</guid>
				<description>&lt;p&gt;An agent can burn ninety steps and never move. Step counts measure effort, not&#xA;progress, so a guard that watches the step budget watches the wrong thing. The&#xA;chapter&amp;rsquo;s answer is a novelty metric computed from hashes over a pre-registered&#xA;window, plus three repetition signatures that name the shape of the&#xA;non-progress: an exact loop, a thrash, and a retry storm. This program composes&#xA;the chapter&amp;rsquo;s &lt;code&gt;window_novelty&lt;/code&gt; and &lt;code&gt;repetition_shape&lt;/code&gt; detectors over three&#xA;constructed windows plus a progressing one.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
