<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Reproducibility on AIBussin — AI applications, systems and books</title>
		<link>https://aibussin.com/tags/reproducibility/</link>
		<description>Recent content in Reproducibility on AIBussin — AI applications, systems and books</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
		
			<lastBuildDate>Mon, 31 Aug 2026 09:00:00 +0100</lastBuildDate>
		
			<atom:link href="https://aibussin.com/tags/reproducibility/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>01: How to Read This Book</title>
				<link>https://aibussin.com/books/digital-life/01-how-to-read-this-book/</link>
				<pubDate>Fri, 14 Aug 2026 08:30:00 +0100</pubDate>
				<guid>https://aibussin.com/books/digital-life/01-how-to-read-this-book/</guid>
				<description>&lt;p&gt;This is a science book, but you do not need to reproduce every experiment to read it. You can simply follow the investigation: watch something strange appear, notice the explanation we reached for, see how the experiment tested it, then ask what survived.&lt;/p&gt;&#xA;&lt;p&gt;If that is all you want from the book, the main text is enough. But every important result sits above a deeper record, and that record is available if you want to inspect it.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Your Model Is a Dependency</title>
				<link>https://aibussin.com/books/dspy-from-first-principles/06-chapter/</link>
				<pubDate>Fri, 28 Aug 2026 10:25:00 +0100</pubDate>
				<guid>https://aibussin.com/books/dspy-from-first-principles/06-chapter/</guid>
				<description>&lt;p&gt;Chapter 5 built a composed program and measured which of its stages earned their cost. Every number in that chapter, and in chapter 4 before it, has an unstated qualifier:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Which model executed the program?&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;That is not operational trivia. A language-model program is not fully described by its signatures and modules. Its behavior depends on what sits behind the LM boundary and how that thing is configured.&lt;/p&gt;&#xA;&lt;p&gt;The model is therefore both a dependency and an experimental variable. Holding it fixed is often as important as swapping it:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Research: From Paper to Pipeline with AI</title>
				<link>https://aibussin.com/books/freestyle-cognition/12-chapter/</link>
				<pubDate>Fri, 28 Aug 2026 10:00:00 +0100</pubDate>
				<guid>https://aibussin.com/books/freestyle-cognition/12-chapter/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;Research is formalized curiosity. It is poking and prying with a purpose.&amp;rdquo;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;summary&#34;&gt;Summary&lt;/h2&gt;&#xA;&lt;p&gt;There is still something powerful about picking up a research paper and asking:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;What can I build from this?&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;That question turns reading into motion. A paper stops being a sealed object. It becomes a source of ideas, mechanisms, tests, questions, and possible systems.&lt;/p&gt;&#xA;&lt;p&gt;But the modern version of this workflow is more disciplined than the old one.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Regressions: Did the Model Change, or the Measurement?</title>
				<link>https://aibussin.com/books/pytorch-from-first-principles/14-chapter/</link>
				<pubDate>Sat, 29 Aug 2026 18:00:00 +0100</pubDate>
				<guid>https://aibussin.com/books/pytorch-from-first-principles/14-chapter/</guid>
				<description>&lt;p&gt;Here is a refactor. The old training script set the seed at the top; the new one moves that line below model construction, where it reads more naturally, and draws the batch-shuffle permutation from a local &lt;code&gt;torch.Generator()&lt;/code&gt; instead of the global RNG, so the shuffling is &amp;ldquo;self-contained.&amp;rdquo; The training procedure is mathematically the same and the model architecture is unchanged. But the concrete initialized parameters are no longer coupled to the old run, because model construction now consumes randomness before &lt;code&gt;manual_seed&lt;/code&gt; is applied. Run it once:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Appendix: The Evidence Ledger</title>
				<link>https://aibussin.com/books/hallucination-from-first-principles/16-appendix/</link>
				<pubDate>Mon, 31 Aug 2026 09:00:00 +0100</pubDate>
				<guid>https://aibussin.com/books/hallucination-from-first-principles/16-appendix/</guid>
				<description>&lt;p&gt;The book argues that a claim should be governed by its provenance, its evidential support, and an explicit statement of what it does not establish. This appendix applies that discipline to the book itself.&lt;/p&gt;&#xA;&lt;p&gt;Every original empirical number produced for this book is listed here with three things: where it was measured, what its provenance status is, and what it does not establish.&lt;/p&gt;&#xA;&lt;p&gt;Two facts are visible immediately from the ledger:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Appendix A: PyTorch Diagnostic Field Guide</title>
				<link>https://aibussin.com/books/pytorch-from-first-principles/appendix-a/</link>
				<pubDate>Sun, 30 Aug 2026 12:00:00 +0100</pubDate>
				<guid>https://aibussin.com/books/pytorch-from-first-principles/appendix-a/</guid>
				<description>&lt;p&gt;This appendix introduces no new PyTorch mechanism.&lt;/p&gt;&#xA;&lt;p&gt;Everything here was earned earlier in the book by building something small, breaking it deliberately, measuring what changed, and locating the first place where reality stopped matching the intended computation.&lt;/p&gt;&#xA;&lt;p&gt;The purpose of this appendix is different.&lt;/p&gt;&#xA;&lt;p&gt;When a real model is failing, you usually do not need another explanation of autograd, broadcasting, attention or CUDA. You need to answer a narrower question:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Make Experiments Reproducible</title>
				<link>https://aibussin.com/books/cellular-automata-from-first-principles/55-chapter/</link>
				<pubDate>Mon, 10 Aug 2026 20:57:00 +0100</pubDate>
				<guid>https://aibussin.com/books/cellular-automata-from-first-principles/55-chapter/</guid>
				<description>&lt;p&gt;By this stage the book contains many systems whose behavior depends on parameters, seeds and implementation choices.&lt;/p&gt;&#xA;&lt;p&gt;If we cannot reconstruct a run, we cannot really compare it.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;treat-configuration-as-data&#34;&gt;Treat configuration as data&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;from&lt;/span&gt; dataclasses &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; dataclass, asdict&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@dataclass&lt;/span&gt;(frozen&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;True&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ExperimentConfig&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    model: str&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    width: int&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    height: int&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    steps: int&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    seed: int&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    backend: str&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    dtype: str&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    params: dict &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then extend with model-specific parameters rather than hiding them in notebook cells.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Appendix C — Experiments and Reproducibility</title>
				<link>https://aibussin.com/books/agent-architectures/82-chapter/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://aibussin.com/books/agent-architectures/82-chapter/</guid>
				<description>&lt;p&gt;All protocols, fixtures, seeds, runners, and frozen results live in the book&amp;rsquo;s research companion (&lt;code&gt;research/experiments/&lt;/code&gt;). Each family has a spec frozen before its run, a frozen result file, and explicit allowed/forbidden claims. All model-backed runs used small local models, identified below by their recorded names (parameter counts from the local model registry). Summary:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;E02 — Retrieved vs exposed.&lt;/strong&gt; No model call. Under a tight context budget (60 units; an 80-unit trial had proved too loose, and the tighter protocol was frozen before its run), retrieval-order and gated assembly exposed the decisive span in all runs; distractor-first assembly in none. Retrieval order was fixed by construction. Supports: ordering policy affects exposure under these fixtures and budgets. Does not support: influence on model output, or how often real systems fail this way.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;E04 — Structured handoffs.&lt;/strong&gt; Schema handoffs retained 70/70 required fields as a fixture property (free text 55/70) and through two blinded model reproducers: qwen2.5:0.5b (free text 60/70) and phi4-mini, 3.8B (free text 56/70); no unsupported additions. Supports: the fixed shape carried tested fields more reliably. Does not support: better task completion.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;E05 — Judge reliability.&lt;/strong&gt; Candidates from qwen2.5:0.5b. The qwen2.5:0.5b self and same-model judges agreed with a mechanical reference on 0/25 fields (verdict-format failure); a phi4-mini (3.8B) judge agreed on 17/25 with 7 false accepts vs 1 false reject. Supports: judge configurations differ sharply; report false accepts and rejects separately. Does not support: any claim about model size or self- versus other-judging (both changed together), general leniency, or a single accuracy number.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;E07 — Memory admission.&lt;/strong&gt; qwen2.5:0.5b. Gated retrieval answered 5/8 vs raw 3/8 with zero good notes rejected; one flagged conflicting claim was still selected. The gate read the fixture&amp;rsquo;s ground-truth note tags, and two answers were scored wrong by the substring checker in both arms. Supports: admission decisions changed outcomes on these fixtures (a mechanism demonstration). Does not support: gates in general, a realistic admission benchmark, or flagging as sufficient.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;E08 — Equal-budget single vs multi.&lt;/strong&gt; qwen2.5:0.5b, then gemma3 (4.3B). Exact matching scored 0/6 in every arm, twice; a semantic scorer of the same setup scored 5/6 in every arm. The semantic rules were written after the failing outputs were read, frozen before the run, and not validated against human labels. Supports: evaluator design moved the headline (0/6 vs 5/6 from the checker alone); no architecture difference was distinguished on these fixtures. Does not support: any ranking of architectures, or the semantic checker as ground truth.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;E11 — Conformance vs preservation.&lt;/strong&gt; Separation exists mechanically (6/6 lossy specs conform while failing intent). A blinded single-grader pilot scored 8/8 matches to the construction, but the grader was the author, who also designed the items, so this is not independent human replication. One stronger model channel (gemma3, 4.3B) reproduced the direction on 7/8 items, while a weaker channel (phi4-mini, 3.8B) affirmed everything. Supports: conformance and preservation are separable judgments; grader capability matters. Does not support: prevalence, human agreement, or independent human validation (multi-grader replication remains open).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;reproduce&#34;&gt;Reproduce&lt;/h3&gt;&#xA;&lt;p&gt;Deterministic families rerun exactly (&lt;code&gt;run_e02.py&lt;/code&gt;, &lt;code&gt;run_e02v2.py&lt;/code&gt;, &lt;code&gt;run_e04.py&lt;/code&gt;, &lt;code&gt;run_e11.py&lt;/code&gt;). Model-backed families record model identity, temperature, seeds, token counts, budgets, and — from v2 on — raw outputs. Frozen files are never overwritten; new protocol versions get new files.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Codex Manager: Building a Prompt-State Runtime for Hackathon-Grade Code Optimization</title>
				<link>https://aibussin.com/post/codex/</link>
				<pubDate>Sat, 16 May 2026 20:15:59 +0100</pubDate>
				<guid>https://aibussin.com/post/codex/</guid>
				<description>&lt;h2 id=&#34;tldr&#34;&gt;TL;DR&lt;/h2&gt;&#xA;&lt;p&gt;Codex Manager uses AI to generate code as an artifact, then tests that artifact, diagnoses what happened, and repairs the prompt state that produced it. The code is not the thing being optimized directly. The prompt state is.&lt;/p&gt;&#xA;&lt;h2 id=&#34;summary&#34;&gt;Summary&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://huggingface.co/humanitys-last-hackathon?utm_source=chatgpt.com&#34;&gt;Humanity’s Last Hackathon&lt;/a&gt; framed the challenge as a test of &lt;strong&gt;context, not code&lt;/strong&gt;: the task was hard enough that the real question was not whether someone could hand-write one clever kernel, but whether they could build a system that used AI effectively under changing constraints.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
