<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>CodeInstances.com</title>
    <link>https://codeinstances.com/</link>
    <description>Recent content on CodeInstances.com</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 18 Oct 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://codeinstances.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CodeInstances Adds a Self-Hosted Store, Push and Pull by ID, and Bug Reports That Reproduce</title>
      <link>https://codeinstances.com/codeinstances-adds-a-self-hosted-store-push-and-pull-by-id-and-bug-reports-that-reproduce/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/codeinstances-adds-a-self-hosted-store-push-and-pull-by-id-and-bug-reports-that-reproduce/</guid>
      <description>&lt;p&gt;CodeInstances v0.5.0 is about getting a run from where it failed to where someone can fix it. A test fails in CI at 3 a.m. The run is kept, but it&amp;rsquo;s sitting on a build machine that&amp;rsquo;s gone in an hour. This release adds a small store of your own to keep runs in, &lt;code&gt;push&lt;/code&gt; and &lt;code&gt;pull&lt;/code&gt; to move them by id, and &lt;code&gt;report&lt;/code&gt;, which writes the bug report you paste into the issue.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CodeInstances Groups Failing Runs by Fingerprint So Repeats of One Bug Show as One</title>
      <link>https://codeinstances.com/codeinstances-groups-failing-runs-by-fingerprint-so-repeats-of-one-bug-show-as-one/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/codeinstances-groups-failing-runs-by-fingerprint-so-repeats-of-one-bug-show-as-one/</guid>
      <description>&lt;p&gt;CodeInstances v0.4.0 adds the sixth verb, group. Point &lt;code&gt;codeinstances group&lt;/code&gt; at a folder of instances and it tells you how many different ways your program failed, how often each one happened, and when it was first and last seen.&lt;/p&gt;&#xA;&lt;p&gt;The problem is a familiar one. A nightly job fails 40 times in a week. A flaky suite leaves a pile of red runs. Each failure gets its own instance now, which is good, but 40 files isn&amp;rsquo;t an answer. Usually it&amp;rsquo;s two or three bugs, repeating. Somebody has to open the files, squint at the errors and sort them into piles, and the piles drift, because the messages carry request ids, timestamps and ports that change every time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CodeInstances Launches as an Open Source Tool That Keeps Program Runs and Replays Them</title>
      <link>https://codeinstances.com/codeinstances-launches-as-an-open-source-tool-that-keeps-program-runs-and-replays-them/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/codeinstances-launches-as-an-open-source-tool-that-keeps-program-runs-and-replays-them/</guid>
      <description>&lt;p&gt;CodeInstances v0.1.0 is out. It&amp;rsquo;s a small command-line tool that keeps a run of any program as a file and replays it later, with the network replaced by what was recorded. It&amp;rsquo;s open source under the Apache License 2.0 and comes as a single static binary for Linux, macOS and Windows.&lt;/p&gt;&#xA;&lt;p&gt;The problem it goes after is an old one. Code is kept with great care, in version control, reviewed and tagged. Runs are thrown away. A test fails in CI, someone hits rerun, it passes, and whatever went wrong is gone along with the evidence. An API answers something strange once and never again. A job breaks on Tuesday, and by Wednesday the data it read has moved on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CodeInstances Now Compares Two Runs and Shows Where the Failing One Went Wrong</title>
      <link>https://codeinstances.com/codeinstances-now-compares-two-runs-and-shows-where-the-failing-one-went-wrong/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/codeinstances-now-compares-two-runs-and-shows-where-the-failing-one-went-wrong/</guid>
      <description>&lt;p&gt;CodeInstances v0.2.0 is out, and it adds the third verb. The first release could keep a run and replay it. This one compares two of them: &lt;code&gt;codeinstances diff passing.instance failing.instance&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The usual case goes like this. A job works on Monday and fails on Tuesday, or passes on your laptop and fails in CI. You have both runs as instance files, because you put &lt;code&gt;codeinstances record&lt;/code&gt; in front of the command. Now you want to know what was different, and you&amp;rsquo;d rather not read two logs side by side and guess.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CodeInstances Shrinks a Failing Run to the Answer That Breaks It and Keeps It as a Test</title>
      <link>https://codeinstances.com/codeinstances-shrinks-a-failing-run-to-the-answer-that-breaks-it-and-keeps-it-as-a-test/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/codeinstances-shrinks-a-failing-run-to-the-answer-that-breaks-it-and-keeps-it-as-a-test/</guid>
      <description>&lt;p&gt;CodeInstances v0.3.0 adds two verbs at once. &lt;code&gt;codeinstances shrink&lt;/code&gt; takes a failing run and a passing one and finds which of the failing run&amp;rsquo;s answers actually cause the failure. &lt;code&gt;codeinstances test&lt;/code&gt; replays a folder of instances as regression tests. They belong together: the first finds the bug&amp;rsquo;s smallest form, the second makes sure it stays fixed.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s the problem shrink goes after. You&amp;rsquo;ve got a run that fails and one that doesn&amp;rsquo;t, and &lt;code&gt;diff&lt;/code&gt; from the last release shows you how they differ. Often that&amp;rsquo;s dozens of answers: timestamps, ids, counters, prices that moved. One of them broke the program, and the rest is noise. Reading them one by one is slow, and it&amp;rsquo;s guesswork.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How a Bug Report Can Arrive as a Runnable CodeInstances File</title>
      <link>https://codeinstances.com/how-a-bug-report-can-arrive-as-a-runnable-codeinstances-file/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/how-a-bug-report-can-arrive-as-a-runnable-codeinstances-file/</guid>
      <description>&lt;p&gt;You maintain a command-line tool that talks to an online service. An issue comes in: &amp;ldquo;sync breaks against our account&amp;rdquo;. You don&amp;rsquo;t have their account. You can&amp;rsquo;t see their data. You ask for logs, then a bigger log, then a screen share, and after a week of back and forth you still haven&amp;rsquo;t seen the failure happen.&lt;/p&gt;&#xA;&lt;p&gt;The reporter could send the failure itself. If they run your tool under CodeInstances, the run is kept as a file with every request your tool made and every answer their account gave back:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How CodeInstances Keeps the Failing Run of a Flaky CI Test</title>
      <link>https://codeinstances.com/how-codeinstances-keeps-the-failing-run-of-a-flaky-ci-test/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/how-codeinstances-keeps-the-failing-run-of-a-flaky-ci-test/</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s a situation most teams know. An integration test fails about one run in twenty. It calls an API that usually answers one way and occasionally answers another (a field missing, a list in a different order, a slow page that times out). Somebody hits rerun, it goes green, and the failure is gone. A week later it happens again, and the ticket still says &amp;ldquo;can&amp;rsquo;t reproduce&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;The trouble is that the one run worth looking at is the one nobody kept. Logs say the test failed. They don&amp;rsquo;t hold the answer that made it fail.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How CodeInstances Was Tested Before Its First Release</title>
      <link>https://codeinstances.com/how-codeinstances-was-tested-before-its-first-release/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/how-codeinstances-was-tested-before-its-first-release/</guid>
      <description>&lt;p&gt;A tool that claims to replay runs exactly has to be tested on exactly that. So most of the testing for v0.1.0 does the same thing over and over in different ways: record a program against real servers, shut the servers down, replay it, and check the replay came out the same. Then change something and check the replay notices.&lt;/p&gt;&#xA;&lt;p&gt;Every number in this post comes from the result files in the code repository, in &lt;a href=&#34;https://github.com/codeinstances/codeinstances/tree/main/test/results&#34;&gt;test/results&lt;/a&gt;. They were recorded on October 18, 2026, at commit c2a5975, on a Linux machine with an Intel Xeon processor at 2.10GHz and 2 CPUs, with Go 1.24.7. One script, &lt;code&gt;scripts/record-tests.sh&lt;/code&gt;, runs everything and writes the files, so anyone can run it again.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Develop Against a Metered or Rate Limited API With CodeInstances</title>
      <link>https://codeinstances.com/how-to-develop-against-a-metered-or-rate-limited-api-with-codeinstances/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/how-to-develop-against-a-metered-or-rate-limited-api-with-codeinstances/</guid>
      <description>&lt;p&gt;Some APIs you can&amp;rsquo;t call as often as you&amp;rsquo;d like. A payments sandbox that throttles you after a burst. A maps or weather API billed per request. A partner&amp;rsquo;s staging server that falls over every afternoon. You&amp;rsquo;re working on the part of your program that handles the answers (the formatting, the error messages, the retry logic), and each try means another call you&amp;rsquo;d rather not make.&lt;/p&gt;&#xA;&lt;p&gt;Record the program once against the real API, and work against the recording for the rest of the day:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Replay the AI Agent Run That Did Something Odd Last Night</title>
      <link>https://codeinstances.com/how-to-replay-the-ai-agent-run-that-did-something-odd-last-night/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/how-to-replay-the-ai-agent-run-that-did-something-odd-last-night/</guid>
      <description>&lt;p&gt;An agent ran overnight on a batch of tasks. In the morning one result is wrong. It filed a ticket under the wrong customer, or summarised a document it never fetched, or called a tool twice. You run the agent on the same task to see what happened, and it does the job perfectly.&lt;/p&gt;&#xA;&lt;p&gt;That&amp;rsquo;s normal for agents. The model&amp;rsquo;s answers vary from run to run, so the agent picks different tools in a different order and ends up somewhere else. Running it again doesn&amp;rsquo;t show you last night&amp;rsquo;s run. It shows you a new one. With an ordinary program, rerunning is how you debug. With an agent, the only copy of the run that went wrong is whatever you kept at the time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Upgrade a Dependency With CodeInstances Replaying Real Runs</title>
      <link>https://codeinstances.com/how-to-upgrade-a-dependency-with-codeinstances-replaying-real-runs/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/how-to-upgrade-a-dependency-with-codeinstances-replaying-real-runs/</guid>
      <description>&lt;p&gt;You need to bump something underneath your program. A new major version of the HTTP client library, a vendor&amp;rsquo;s SDK, or the Go toolchain itself. The changelog is long. Your unit tests pass, but they use mocks written two years ago against the old behaviour, so passing doesn&amp;rsquo;t tell you much. What you&amp;rsquo;d like to know is simple: does the program still do the same thing on real work?&lt;/p&gt;&#xA;&lt;p&gt;Real runs answer that. Before the upgrade, record a handful of runs of the current build doing real work, against the real services:&lt;/p&gt;</description>
    </item>
    <item>
      <title>The CodeInstances File Format Is Open JSON With a SHA-256 ID</title>
      <link>https://codeinstances.com/the-codeinstances-file-format-is-open-json-with-a-sha-256-id/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/the-codeinstances-file-format-is-open-json-with-a-sha-256-id/</guid>
      <description>&lt;p&gt;The file is the product. A tool can be replaced, but a run you kept in a format only one tool reads is a run you&amp;rsquo;ll lose eventually. So the instance format is open JSON, written down in full in &lt;a href=&#34;https://github.com/codeinstances/codeinstances/blob/main/docs/FORMAT.md&#34;&gt;FORMAT.md&lt;/a&gt; for anyone who wants to read or write instances with their own tools.&lt;/p&gt;&#xA;&lt;p&gt;Its name is &lt;code&gt;codeinstances/0&lt;/code&gt;, and that string is the first member of every file. A reader that sees a format version it doesn&amp;rsquo;t know has to refuse the file, and readers ignore members they don&amp;rsquo;t recognise. A file that holds the same member twice, or a known member spelled in another case, is refused. That&amp;rsquo;s how the format can grow without breaking files that already exist.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What a Code Instance Is and Why Program Runs Should Be Kept Like Code</title>
      <link>https://codeinstances.com/what-a-code-instance-is-and-why-program-runs-should-be-kept-like-code/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/what-a-code-instance-is-and-why-program-runs-should-be-kept-like-code/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;ve written object-oriented code, you already know the idea. A class is a blueprint. Each object you make from it is an instance of that class, with its own state. One &lt;code&gt;Order&lt;/code&gt; class, thousands of orders.&lt;/p&gt;&#xA;&lt;p&gt;Your program works the same way. The code is the blueprint, and every time it runs, that run is an instance of it. Same code, different day, different answers from the servers it talks to, different clock, different random numbers. Each run is its own thing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why Replay Matters for AI Agents That Take a Different Path Every Run</title>
      <link>https://codeinstances.com/why-replay-matters-for-ai-agents-that-take-a-different-path-every-run/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/why-replay-matters-for-ai-agents-that-take-a-different-path-every-run/</guid>
      <description>&lt;p&gt;Most programs are boring in a good way. Give them the same input and they do the same thing. If one fails, you can usually run it again and watch it fail again.&lt;/p&gt;&#xA;&lt;p&gt;An AI agent isn&amp;rsquo;t like that. The model&amp;rsquo;s answer varies from run to run, so the agent picks different tools, calls them in a different order, reads different pages and ends somewhere else. Ask it the same thing three times and you may get three different runs, and only one of them may go wrong. Run it again to see what happened, and you&amp;rsquo;re watching a different run.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why the Project Is Called CodeInstances</title>
      <link>https://codeinstances.com/why-the-project-is-called-codeinstances/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/why-the-project-is-called-codeinstances/</guid>
      <description>&lt;p&gt;The name is the idea, in two words. Code is the program you write. An instance is one run of it.&lt;/p&gt;&#xA;&lt;p&gt;Programmers already use &amp;ldquo;instance&amp;rdquo; this way. An object is an instance of its class. A server is an instance of an image. A running process is an instance of a program. In each case there&amp;rsquo;s one blueprint and many concrete things made from it, each with a life of its own. A run of your code fits right in. It&amp;rsquo;s made from the code, but it also has things the code doesn&amp;rsquo;t: the answers it got from the network that day, the time on the clock, the random numbers it drew.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>https://codeinstances.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/about/</guid>
      <description>&lt;p&gt;CodeInstances keeps runs of programs as instances and replays them. It&amp;rsquo;s an open source project under the Apache License 2.0, made by &lt;a href=&#34;https://softdevstudio.com&#34;&gt;SoftDevStudio.com&lt;/a&gt;. The code is on &lt;a href=&#34;https://github.com/codeinstances/codeinstances&#34;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The current release is v0.5.0, the fifth one. It&amp;rsquo;s early. What it does, it does well and it&amp;rsquo;s tested, and the &lt;a href=&#34;https://codeinstances.com/reference/&#34;&gt;reference&lt;/a&gt; lists plainly what it can&amp;rsquo;t do yet.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-the-project-exists&#34;&gt;Why the Project Exists&lt;/h2&gt;&#xA;&lt;p&gt;Code gets a lot of care. It sits in version control, it&amp;rsquo;s reviewed, tagged, released and kept for years. Runs get none. A program runs, talks to a few servers, prints something and exits, and the run is gone. If it failed, you have a log line and a guess.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contact</title>
      <link>https://codeinstances.com/contact/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/contact/</guid>
      <description>&lt;p&gt;The project would like to hear from:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Developers&lt;/strong&gt; who tried CodeInstances and hit something it didn&amp;rsquo;t capture or replay the way they expected.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Teams&lt;/strong&gt; with flaky tests, hard-to-reproduce failures or AI agents whose runs they&amp;rsquo;d like to keep.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Anyone&lt;/strong&gt; with a question about the tool, the instance format or the numbers on this site.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Write to &lt;strong&gt;&lt;a href=&#34;mailto:info@codeinstances.com&#34;&gt;info@codeinstances.com&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;For a bug, it helps to mention your system, the CodeInstances version (&lt;code&gt;codeinstances version&lt;/code&gt; prints it), the language and HTTP client of the program you recorded, and what the replay report said. An instance file that shows the problem is the best bug report of all, once you&amp;rsquo;ve checked it holds nothing private.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Download</title>
      <link>https://codeinstances.com/download/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/download/</guid>
      <description>&lt;p&gt;CodeInstances is a single static binary with no dependencies. Pick the archive for your system. These links always fetch the latest release, which is v0.5.0 right now.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;System&lt;/th&gt;&#xA;          &lt;th&gt;Archive&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Linux, x86-64&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/codeinstances/codeinstances/releases/latest/download/codeinstances_linux_amd64.tar.gz&#34;&gt;codeinstances_linux_amd64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Linux, ARM64&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/codeinstances/codeinstances/releases/latest/download/codeinstances_linux_arm64.tar.gz&#34;&gt;codeinstances_linux_arm64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS, Apple silicon&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/codeinstances/codeinstances/releases/latest/download/codeinstances_darwin_arm64.tar.gz&#34;&gt;codeinstances_darwin_arm64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS, Intel&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/codeinstances/codeinstances/releases/latest/download/codeinstances_darwin_amd64.tar.gz&#34;&gt;codeinstances_darwin_amd64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Windows, x86-64&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/codeinstances/codeinstances/releases/latest/download/codeinstances_windows_amd64.zip&#34;&gt;codeinstances_windows_amd64.zip&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Each archive holds two programs: &lt;code&gt;codeinstances&lt;/code&gt; itself, and &lt;code&gt;codeinstances-demo&lt;/code&gt;, the self-checking demo described in &lt;a href=&#34;https://codeinstances.com/how-codeinstances-was-tested-before-its-first-release/&#34;&gt;how it was tested&lt;/a&gt;. The license files come with them.&lt;/p&gt;&#xA;&lt;h2 id=&#34;check-the-download&#34;&gt;Check the Download&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://github.com/codeinstances/codeinstances/releases/latest&#34;&gt;release page&lt;/a&gt; has a SHA256SUMS file with a checksum for every archive. On Linux or macOS:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quick Start</title>
      <link>https://codeinstances.com/quick-start/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/quick-start/</guid>
      <description>&lt;p&gt;This takes a couple of minutes. You need the &lt;code&gt;codeinstances&lt;/code&gt; binary from the &lt;a href=&#34;https://codeinstances.com/download/&#34;&gt;download page&lt;/a&gt; and any program that talks to the network. The examples use a Python script, but the language doesn&amp;rsquo;t matter.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-record-a-run&#34;&gt;1. Record a Run&lt;/h2&gt;&#xA;&lt;p&gt;Put &lt;code&gt;codeinstances record&lt;/code&gt; and &lt;code&gt;--&lt;/code&gt; in front of the command you&amp;rsquo;d normally type:&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;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;codeinstances record -o weather.instance -- python3 fetch_weather.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The program runs as usual and its output passes through. When it exits, the run is kept in &lt;code&gt;weather.instance&lt;/code&gt;: the command, what it printed, how it ended, and every HTTP and HTTPS request it made with the answer it got. &lt;code&gt;record&lt;/code&gt; exits with the program&amp;rsquo;s own exit code, so it drops into scripts and CI without changing anything around it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reference</title>
      <link>https://codeinstances.com/reference/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://codeinstances.com/reference/</guid>
      <description>&lt;p&gt;Every command, flag and limit in CodeInstances v0.5.0. For a first run, the &lt;a href=&#34;https://codeinstances.com/quick-start/&#34;&gt;quick start&lt;/a&gt; is shorter.&lt;/p&gt;&#xA;&lt;h2 id=&#34;commands&#34;&gt;Commands&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Command&lt;/th&gt;&#xA;          &lt;th&gt;What it does&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;codeinstances record [flags] -- command [args...]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Run the command and keep the run as an instance file&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;codeinstances replay [flags] file [-- command [args...]]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Run the recorded command again, or the one given, with the network replaced by the recording, and compare&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;codeinstances diff [flags] a b&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Compare two instances: how they ended, their output, their calls and values, and their speed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;codeinstances shrink [flags] -pass passing failing [-- command]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Find the fewest of the failing run&amp;rsquo;s answers that keep the failure, and keep that instance&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;codeinstances test [flags] file-or-dir... [-- command]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Replay instances as regression tests&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;codeinstances group [flags] file-or-dir...&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Fingerprint failing runs and group the ones that fail the same way&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;codeinstances serve [flags]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Run a store that keeps instances under their ids&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;codeinstances push [-to url] file-or-dir...&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Upload instances to a store&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;codeinstances pull [-from url] [-o file] id&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Download an instance by id or unique prefix&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;codeinstances report [-url store] file&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Write a Markdown bug report for an instance&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;codeinstances show [-json] file&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Describe an instance, or print it whole as JSON&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;codeinstances verify file&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Check the file hasn&amp;rsquo;t been changed since it was recorded&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;codeinstances version [-json]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;The version, the format version and the commit it was built from&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Exit codes: &lt;code&gt;record&lt;/code&gt; exits as the program did. &lt;code&gt;replay&lt;/code&gt; exits 0 when the run matched and 1 when it diverged. &lt;code&gt;diff&lt;/code&gt; exits 0 when the runs are the same and 1 when they differ. &lt;code&gt;shrink&lt;/code&gt; exits 0 when it kept an instance and 1 when the failure couldn&amp;rsquo;t be narrowed down. &lt;code&gt;test&lt;/code&gt; exits 0 when every test passed and 1 when any failed. &lt;code&gt;group&lt;/code&gt;, &lt;code&gt;report&lt;/code&gt;, &lt;code&gt;push&lt;/code&gt; and &lt;code&gt;pull&lt;/code&gt; exit 0 when they worked. &lt;code&gt;verify&lt;/code&gt; exits 1 for an edited file. Anything else is 2 on a usage or file error.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
