<?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>Sandboxing on Nick Liu - Software Engineer</title><link>https://nick-liu.com/tags/sandboxing/</link><description>Recent content in Sandboxing on Nick Liu - Software Engineer</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>nickboy@users.noreply.github.com (Nick Liu)</managingEditor><webMaster>nickboy@users.noreply.github.com (Nick Liu)</webMaster><copyright>2026 Nick Liu</copyright><lastBuildDate>Sun, 02 Aug 2026 13:49:57 -0700</lastBuildDate><atom:link href="https://nick-liu.com/tags/sandboxing/index.xml" rel="self" type="application/rss+xml"/><item><title>A crash is never a pass. Three rules that kept 1,095 eval runs honest.</title><link>https://nick-liu.com/posts/eval-harness-honesty-rules/</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><author>nickboy@users.noreply.github.com (Nick Liu)</author><guid>https://nick-liu.com/posts/eval-harness-honesty-rules/</guid><description>&lt;div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl"&gt;
 
The scariest failure mode in an eval harness is not a wrong answer. It is a harness problem wearing a model problem's clothes. A test file that does not run looks exactly like a problem no model can solve. A sandbox flake looks exactly like a failed attempt. Before I trusted any number from my CS1 auditing tool, I had to make those confusions impossible, and it came down to three rules.

&lt;/div&gt;

&lt;nav class="series-progress" aria-label="Series progress"&gt;
 &lt;span class="series-progress-label"&gt;Auditing AI-Solvability · Part 2 of 2&lt;/span&gt;
 &lt;ol class="series-progress-dots"&gt;&lt;li class="series-progress-dot is-done"&gt;
 &lt;a href="https://nick-liu.com/posts/ai-resistant-cs1-problems/" title="I went looking for AI-resistant CS1 problems. The search came up empty."&gt;1&lt;/a&gt;
 &lt;/li&gt;&lt;li class="series-progress-dot is-current"&gt;
 &lt;a href="https://nick-liu.com/posts/eval-harness-honesty-rules/" title="A crash is never a pass. Three rules that kept 1,095 eval runs honest." aria-current="step"&gt;2&lt;/a&gt;
 &lt;/li&gt;&lt;/ol&gt;
 &lt;/nav&gt;
&lt;p&gt;&lt;a href="https://nick-liu.com/posts/ai-resistant-cs1-problems/" &gt;Part 1 of this series&lt;/a&gt; reported scores from 1,095 sampled solutions. This post is about why I believe those scores. The harness lives in one Python module, and its docstring is a contract I wrote before the code:&lt;/p&gt;</description><content:encoded>&lt;div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl"&gt;
 
The scariest failure mode in an eval harness is not a wrong answer. It is a harness problem wearing a model problem's clothes. A test file that does not run looks exactly like a problem no model can solve. A sandbox flake looks exactly like a failed attempt. Before I trusted any number from my CS1 auditing tool, I had to make those confusions impossible, and it came down to three rules.

&lt;/div&gt;

&lt;nav class="series-progress" aria-label="Series progress"&gt;
 &lt;span class="series-progress-label"&gt;Auditing AI-Solvability · Part 2 of 2&lt;/span&gt;
 &lt;ol class="series-progress-dots"&gt;&lt;li class="series-progress-dot is-done"&gt;
 &lt;a href="https://nick-liu.com/posts/ai-resistant-cs1-problems/" title="I went looking for AI-resistant CS1 problems. The search came up empty."&gt;1&lt;/a&gt;
 &lt;/li&gt;&lt;li class="series-progress-dot is-current"&gt;
 &lt;a href="https://nick-liu.com/posts/eval-harness-honesty-rules/" title="A crash is never a pass. Three rules that kept 1,095 eval runs honest." aria-current="step"&gt;2&lt;/a&gt;
 &lt;/li&gt;&lt;/ol&gt;
 &lt;/nav&gt;
&lt;p&gt;&lt;a href="https://nick-liu.com/posts/ai-resistant-cs1-problems/" &gt;Part 1 of this series&lt;/a&gt; reported scores from 1,095 sampled solutions. This post is about why I believe those scores. The harness lives in one Python module, and its docstring is a contract I wrote before the code:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Honesty rules:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; * The model is shown only `item.spec`; the hidden tests are written into the sandbox
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; alongside the candidate but never given to the model.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; * A pre-flight check runs the *reference* solution against the hidden tests. If the
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; reference does not pass, the item is malformed and the audit aborts (a HARNESS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; problem, never silently scored). This guarantees the test file is sound, so during
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; the audit any candidate error (syntax, import, exception, failing assertion) is a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; legitimate FAIL for pass@k.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; * `HARNESS_ERROR` is reserved for runs where the sandbox produced no usable verdict
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; (no report and no failing exit code). Such attempts are excluded from pass@k and
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; reported separately, so they masquerade as neither pass nor fail.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Three rules. Each one exists because of a specific way a harness can lie.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Rule 1: run the reference solution first
 &lt;div id="rule-1-run-the-reference-solution-first" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#rule-1-run-the-reference-solution-first" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Before any model attempt is scored, the harness runs the problem&amp;rsquo;s own reference solution against the hidden tests:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;preflight&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Item&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sandbox&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Sandbox&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;limits&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Limits&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&amp;#34;Verify the reference solution passes the hidden tests. Returns the test count.&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;run&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;_run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;reference_code&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sandbox&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;limits&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;outcome&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;_passed&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;total&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;detail&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;_classify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;outcome&lt;/span&gt; &lt;span class="ow"&gt;is&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;Outcome&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PASS&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="n"&gt;HarnessError&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;pre-flight failed: the reference solution did not pass the hidden tests &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;(&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;detail&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;). Fix the item before auditing.&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;stderr:&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;stderr&lt;/span&gt;&lt;span class="p"&gt;[:&lt;/span&gt;&lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;total&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Without this gate, a broken test file is indistinguishable from a model that cannot solve the problem. You would conclude the problem is AI-resistant when your own tests do not run. In a project whose whole point was hunting for AI-resistant problems, this is the exact wrong conclusion to hand out for free. The gate turns that scenario into a loud abort instead of a quiet score of zero.&lt;/p&gt;
&lt;p&gt;The gate also buys something subtle. Once the reference is known to pass, any error from a candidate solution (syntax error, import error, exception, failing assertion) is a legitimate FAIL. I do not have to wonder whose fault a stack trace is. The test file was proven sound minutes earlier.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Rule 2: three outcomes, not two
 &lt;div id="rule-2-three-outcomes-not-two" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#rule-2-three-outcomes-not-two" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Most harnesses classify an attempt as pass or fail. Mine has a third verdict, and the classification code shows where it comes from:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;raw&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;_JSON_REPORT&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;raw&lt;/span&gt; &lt;span class="ow"&gt;is&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# No machine-readable report. The test file is known-good (pre-flight), so a&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# non-zero exit means the candidate broke collection/execution -&amp;gt; FAIL. A clean&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# exit with no report is a genuine harness anomaly.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exit_code&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;Outcome&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FAIL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;no json report; pytest exit &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exit_code&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;Outcome&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;HARNESS_ERROR&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;no json report produced&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;With only two buckets, a crash has to land somewhere, and both landings are lies. Count it as a pass and your scores inflate. Count it as a fail and infrastructure flakes become model failures. &lt;code&gt;HARNESS_ERROR&lt;/code&gt; attempts are excluded from the pass@k denominator and reported separately, so they masquerade as neither.&lt;/p&gt;
&lt;div class="not-prose diagram diagram-light"&gt;&lt;svg id="dce964c3d75e1f37dlight" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 813.625px;" viewBox="0 0 813.625 690.046875" role="graphics-document document" aria-roledescription="flowchart-v2"&gt;&lt;style&gt;#dce964c3d75e1f37dlight{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#dce964c3d75e1f37dlight .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#dce964c3d75e1f37dlight .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#dce964c3d75e1f37dlight .error-icon{fill:rgb(255, 255, 255);}#dce964c3d75e1f37dlight .error-text{fill:#000000;stroke:#000000;}#dce964c3d75e1f37dlight .edge-thickness-normal{stroke-width:1px;}#dce964c3d75e1f37dlight .edge-thickness-thick{stroke-width:3.5px;}#dce964c3d75e1f37dlight .edge-pattern-solid{stroke-dasharray:0;}#dce964c3d75e1f37dlight .edge-thickness-invisible{stroke-width:0;fill:none;}#dce964c3d75e1f37dlight .edge-pattern-dashed{stroke-dasharray:3;}#dce964c3d75e1f37dlight .edge-pattern-dotted{stroke-dasharray:2;}#dce964c3d75e1f37dlight .marker{fill:rgb(74, 86, 92);stroke:rgb(74, 86, 92);}#dce964c3d75e1f37dlight .marker.cross{stroke:rgb(74, 86, 92);}#dce964c3d75e1f37dlight svg{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;}#dce964c3d75e1f37dlight p{margin:0;}#dce964c3d75e1f37dlight .label{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;color:#333;}#dce964c3d75e1f37dlight .cluster-label text{fill:#000000;}#dce964c3d75e1f37dlight .cluster-label span{color:#000000;}#dce964c3d75e1f37dlight .cluster-label span p{background-color:transparent;}#dce964c3d75e1f37dlight .label text,#dce964c3d75e1f37dlight span{fill:#333;color:#333;}#dce964c3d75e1f37dlight .node rect,#dce964c3d75e1f37dlight .node circle,#dce964c3d75e1f37dlight .node ellipse,#dce964c3d75e1f37dlight .node polygon,#dce964c3d75e1f37dlight .node path{fill:rgb(255, 255, 255);stroke:rgb(204, 216, 222);stroke-width:1px;}#dce964c3d75e1f37dlight .rough-node .label text,#dce964c3d75e1f37dlight .node .label text,#dce964c3d75e1f37dlight .image-shape .label,#dce964c3d75e1f37dlight .icon-shape .label{text-anchor:middle;}#dce964c3d75e1f37dlight .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#dce964c3d75e1f37dlight .rough-node .label,#dce964c3d75e1f37dlight .node .label,#dce964c3d75e1f37dlight .image-shape .label,#dce964c3d75e1f37dlight .icon-shape .label{text-align:center;}#dce964c3d75e1f37dlight .node.clickable{cursor:pointer;}#dce964c3d75e1f37dlight .root .anchor path{fill:rgb(74, 86, 92)!important;stroke-width:0;stroke:rgb(74, 86, 92);}#dce964c3d75e1f37dlight .arrowheadPath{fill:#000000;}#dce964c3d75e1f37dlight .edgePath .path{stroke:rgb(74, 86, 92);stroke-width:1px;}#dce964c3d75e1f37dlight .flowchart-link{stroke:rgb(74, 86, 92);fill:none;}#dce964c3d75e1f37dlight .edgeLabel{background-color:rgb(182, 240, 255);text-align:center;}#dce964c3d75e1f37dlight .edgeLabel p{background-color:rgb(182, 240, 255);}#dce964c3d75e1f37dlight .edgeLabel rect{opacity:0.5;background-color:rgb(182, 240, 255);fill:rgb(182, 240, 255);}#dce964c3d75e1f37dlight .labelBkg{background-color:rgba(182, 240, 255, 0.5);}#dce964c3d75e1f37dlight .cluster rect{fill:rgb(255, 255, 255);stroke:rgb(129, 146, 154);stroke-width:1px;}#dce964c3d75e1f37dlight .cluster text{fill:#000000;}#dce964c3d75e1f37dlight .cluster span{color:#000000;}#dce964c3d75e1f37dlight div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:12px;background:rgb(255, 255, 255);border:1px solid rgb(129, 146, 154);border-radius:2px;pointer-events:none;z-index:100;}#dce964c3d75e1f37dlight .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#dce964c3d75e1f37dlight rect.text{fill:none;stroke-width:0;}#dce964c3d75e1f37dlight .icon-shape,#dce964c3d75e1f37dlight .image-shape{background-color:rgb(182, 240, 255);text-align:center;}#dce964c3d75e1f37dlight .icon-shape p,#dce964c3d75e1f37dlight .image-shape p{background-color:rgb(182, 240, 255);padding:2px;}#dce964c3d75e1f37dlight .icon-shape .label rect,#dce964c3d75e1f37dlight .image-shape .label rect{opacity:0.5;background-color:rgb(182, 240, 255);fill:rgb(182, 240, 255);}#dce964c3d75e1f37dlight .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#dce964c3d75e1f37dlight .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#dce964c3d75e1f37dlight .node .neo-node{stroke:rgb(204, 216, 222);}#dce964c3d75e1f37dlight [data-look="neo"].node rect,#dce964c3d75e1f37dlight [data-look="neo"].cluster rect,#dce964c3d75e1f37dlight [data-look="neo"].node polygon{stroke:url(#dce964c3d75e1f37dlight-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#dce964c3d75e1f37dlight [data-look="neo"].swimlane.cluster rect{filter:none;}#dce964c3d75e1f37dlight [data-look="neo"].node path{stroke:url(#dce964c3d75e1f37dlight-gradient);stroke-width:1px;}#dce964c3d75e1f37dlight [data-look="neo"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#dce964c3d75e1f37dlight [data-look="neo"].node .neo-line path{stroke:rgb(204, 216, 222);filter:none;}#dce964c3d75e1f37dlight [data-look="neo"].node circle{stroke:url(#dce964c3d75e1f37dlight-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#dce964c3d75e1f37dlight [data-look="neo"].node circle .state-start{fill:#000000;}#dce964c3d75e1f37dlight [data-look="neo"].icon-shape .icon{fill:url(#dce964c3d75e1f37dlight-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#dce964c3d75e1f37dlight [data-look="neo"].icon-shape .icon-neo path{stroke:url(#dce964c3d75e1f37dlight-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#dce964c3d75e1f37dlight :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}&lt;/style&gt;&lt;g&gt;&lt;marker id="dce964c3d75e1f37dlight_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37dlight_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37dlight_flowchart-v2-pointEnd-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="11.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="10.5" markerHeight="14" orient="auto"&gt;&lt;path d="M 0 0 L 11.5 7 L 0 14 z" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37dlight_flowchart-v2-pointStart-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="1" refY="7" markerUnits="userSpaceOnUse" markerWidth="11.5" markerHeight="14" orient="auto"&gt;&lt;polygon points="0,7 11.5,14 11.5,0" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/polygon&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37dlight_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37dlight_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37dlight_flowchart-v2-circleEnd-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refY="5" refX="12.25" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37dlight_flowchart-v2-circleStart-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-2" refY="5" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37dlight_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37dlight_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37dlight_flowchart-v2-crossEnd-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="17.7" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37dlight_flowchart-v2-crossStart-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="-3.5" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;g class="root"&gt;&lt;g class="clusters"&gt;&lt;/g&gt;&lt;g class="edgePaths"&gt;&lt;path d="M375.586,62L375.586,66.167C375.586,70.333,375.586,78.667,375.586,86.333C375.586,94,375.586,101,375.586,104.5L375.586,108" id="dce964c3d75e1f37dlight-L_A_B_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_B_0" data-points="W3sieCI6Mzc1LjU4NTkzNzUsInkiOjYyfSx7IngiOjM3NS41ODU5Mzc1LCJ5Ijo4N30seyJ4IjozNzUuNTg1OTM3NSwieSI6MTEyfV0=" data-look="classic" marker-end="url(#dce964c3d75e1f37dlight_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M322.371,215.238L290.379,230.274C258.388,245.31,194.405,275.381,162.413,295.917C130.422,316.453,130.422,327.453,130.422,332.953L130.422,338.453" id="dce964c3d75e1f37dlight-L_B_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_C_0" data-points="W3sieCI6MzIyLjM3MDUwODEwODg3NzA2LCJ5IjoyMTUuMjM3Njk1NjA4ODc3MX0seyJ4IjoxMzAuNDIxODc1LCJ5IjozMDUuNDUzMTI1fSx7IngiOjEzMC40MjE4NzUsInkiOjM0Mi40NTMxMjV9XQ==" data-look="classic" marker-end="url(#dce964c3d75e1f37dlight_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M96.905,496.53L90.37,508.283C83.835,520.035,70.765,543.541,64.23,562.794C57.695,582.047,57.695,597.047,57.695,604.547L57.695,612.047" id="dce964c3d75e1f37dlight-L_C_P_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_C_P_0" data-points="W3sieCI6OTYuOTA0NzMxMzQ0Mjg2MiwieSI6NDk2LjUyOTczMTM0NDI4NjIzfSx7IngiOjU3LjY5NTMxMjUsInkiOjU2Ny4wNDY4NzV9LHsieCI6NTcuNjk1MzEyNSwieSI6NjE2LjA0Njg3NX1d" data-look="classic" marker-end="url(#dce964c3d75e1f37dlight_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M163.939,496.53L170.474,508.283C177.009,520.035,190.079,543.541,196.614,562.794C203.148,582.047,203.148,597.047,203.148,604.547L203.148,612.047" id="dce964c3d75e1f37dlight-L_C_F_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_C_F_0" data-points="W3sieCI6MTYzLjkzOTAxODY1NTcxMzgsInkiOjQ5Ni41Mjk3MzEzNDQyODYyM30seyJ4IjoyMDMuMTQ4NDM3NSwieSI6NTY3LjA0Njg3NX0seyJ4IjoyMDMuMTQ4NDM3NSwieSI6NjE2LjA0Njg3NX1d" data-look="classic" marker-end="url(#dce964c3d75e1f37dlight_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M423.147,220.892L445.005,234.986C466.864,249.079,510.58,277.266,532.439,300.436C554.297,323.607,554.297,341.76,554.297,350.837L554.297,359.914" id="dce964c3d75e1f37dlight-L_B_E_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_E_0" data-points="W3sieCI6NDIzLjE0Njg3MjQ2NjcxMDEsInkiOjIyMC44OTIxOTAwMzMyODk5Mn0seyJ4Ijo1NTQuMjk2ODc1LCJ5IjozMDUuNDUzMTI1fSx7IngiOjU1NC4yOTY4NzUsInkiOjM2My45MTQwNjI1fV0=" data-look="classic" marker-end="url(#dce964c3d75e1f37dlight_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M517.006,471.295L500.024,487.254C483.043,503.212,449.08,535.13,432.099,556.588C415.117,578.047,415.117,589.047,415.117,594.547L415.117,600.047" id="dce964c3d75e1f37dlight-L_E_F2_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_E_F2_0" data-points="W3sieCI6NTE3LjAwNTg4NTQzMDIzMTIsInkiOjQ3MS4yOTQ5NDc5MzAyMzEyfSx7IngiOjQxNS4xMTcxODc1LCJ5Ijo1NjcuMDQ2ODc1fSx7IngiOjQxNS4xMTcxODc1LCJ5Ijo2MDQuMDQ2ODc1fV0=" data-look="classic" marker-end="url(#dce964c3d75e1f37dlight_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M591.588,471.295L608.569,487.254C625.551,503.212,659.514,535.13,676.495,556.588C693.477,578.047,693.477,589.047,693.477,594.547L693.477,600.047" id="dce964c3d75e1f37dlight-L_E_H_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_E_H_0" data-points="W3sieCI6NTkxLjU4Nzg2NDU2OTc2ODgsInkiOjQ3MS4yOTQ5NDc5MzAyMzEyfSx7IngiOjY5My40NzY1NjI1LCJ5Ijo1NjcuMDQ2ODc1fSx7IngiOjY5My40NzY1NjI1LCJ5Ijo2MDQuMDQ2ODc1fV0=" data-look="classic" marker-end="url(#dce964c3d75e1f37dlight_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;/g&gt;&lt;g class="edgeLabels"&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A_B_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(130.421875, 305.453125)"&gt;&lt;g class="label" data-id="L_B_C_0" transform="translate(-12.4765625, -12)"&gt;&lt;foreignObject width="24.953125" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;p&gt;yes&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(57.6953125, 567.046875)"&gt;&lt;g class="label" data-id="L_C_P_0" transform="translate(-12.4765625, -12)"&gt;&lt;foreignObject width="24.953125" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;p&gt;yes&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(203.1484375, 567.046875)"&gt;&lt;g class="label" data-id="L_C_F_0" transform="translate(-9.0859375, -12)"&gt;&lt;foreignObject width="18.171875" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;p&gt;no&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(554.296875, 305.453125)"&gt;&lt;g class="label" data-id="L_B_E_0" transform="translate(-9.0859375, -12)"&gt;&lt;foreignObject width="18.171875" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;p&gt;no&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(415.1171875, 567.046875)"&gt;&lt;g class="label" data-id="L_E_F2_0" transform="translate(-12.4765625, -12)"&gt;&lt;foreignObject width="24.953125" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;p&gt;yes&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(693.4765625, 567.046875)"&gt;&lt;g class="label" data-id="L_E_H_0" transform="translate(-9.0859375, -12)"&gt;&lt;foreignObject width="18.171875" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;p&gt;no&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="nodes"&gt;&lt;g class="node default" id="dce964c3d75e1f37dlight-flowchart-A-0" data-look="classic" transform="translate(375.5859375, 35)"&gt;&lt;rect class="basic label-container" style="" x="-104.75" y="-27" width="209.5" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-74.75, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="149.5" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;sandbox run finishes&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="dce964c3d75e1f37dlight-flowchart-B-1" data-look="classic" transform="translate(375.5859375, 190.2265625)"&gt;&lt;polygon points="78.2265625,0 156.453125,-78.2265625 78.2265625,-156.453125 0,-78.2265625" class="label-container" transform="translate(-77.7265625, 78.2265625)"&gt;&lt;/polygon&gt;&lt;g class="label" style="" transform="translate(-39.2265625, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="78.453125" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;json report&lt;br&gt;produced?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="dce964c3d75e1f37dlight-flowchart-C-3" data-look="classic" transform="translate(130.421875, 436.25)"&gt;&lt;polygon points="93.796875,0 187.59375,-93.796875 93.796875,-187.59375 0,-93.796875" class="label-container" transform="translate(-93.296875, 93.796875)"&gt;&lt;/polygon&gt;&lt;g class="label" style="" transform="translate(-54.796875, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="109.59375" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;all hidden tests&lt;br&gt;passed?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="dce964c3d75e1f37dlight-flowchart-P-5" data-look="classic" transform="translate(57.6953125, 643.046875)"&gt;&lt;rect class="basic label-container" style="" x="-49.6953125" y="-27" width="99.390625" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-19.6953125, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="39.390625" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;PASS&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="dce964c3d75e1f37dlight-flowchart-F-7" data-look="classic" transform="translate(203.1484375, 643.046875)"&gt;&lt;rect class="basic label-container" style="" x="-45.7578125" y="-27" width="91.515625" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-15.7578125, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="31.515625" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;FAIL&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="dce964c3d75e1f37dlight-flowchart-E-9" data-look="classic" transform="translate(554.296875, 436.25)"&gt;&lt;polygon points="72.3359375,0 144.671875,-72.3359375 72.3359375,-144.671875 0,-72.3359375" class="label-container" transform="translate(-71.8359375, 72.3359375)"&gt;&lt;/polygon&gt;&lt;g class="label" style="" transform="translate(-33.3359375, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="66.671875" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;exit code&lt;br&gt;nonzero?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="dce964c3d75e1f37dlight-flowchart-F2-11" data-look="classic" transform="translate(415.1171875, 643.046875)"&gt;&lt;rect class="basic label-container" style="" x="-116.2109375" y="-39" width="232.421875" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-86.2109375, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="172.421875" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;FAIL&lt;br&gt;candidate broke the run&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="dce964c3d75e1f37dlight-flowchart-H-13" data-look="classic" transform="translate(693.4765625, 643.046875)"&gt;&lt;rect class="basic label-container" style="" x="-112.1484375" y="-39" width="224.296875" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-82.1484375, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="164.296875" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;HARNESS_ERROR&lt;br&gt;excluded from pass@k&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;filter id="dce964c3d75e1f37dlight-drop-shadow" height="130%" width="130%"&gt;&lt;feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;defs&gt;&lt;filter id="dce964c3d75e1f37dlight-drop-shadow-small" height="150%" width="150%"&gt;&lt;feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;linearGradient id="dce964c3d75e1f37dlight-gradient" gradientUnits="objectBoundingBox" x1="0%" y1="0%" x2="100%" y2="0%"&gt;&lt;stop offset="0%" stop-color="rgb(204, 216, 222)" stop-opacity="1"&gt;&lt;/stop&gt;&lt;stop offset="100%" stop-color="rgb(28, 209, 255)" stop-opacity="1"&gt;&lt;/stop&gt;&lt;/linearGradient&gt;&lt;/svg&gt;&lt;/div&gt;
 &lt;div class="not-prose diagram diagram-dark"&gt;&lt;svg id="dce964c3d75e1f37ddark" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 813.625px;" viewBox="0 0 813.625 690.046875" role="graphics-document document" aria-roledescription="flowchart-v2"&gt;&lt;style&gt;#dce964c3d75e1f37ddark{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#dce964c3d75e1f37ddark .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#dce964c3d75e1f37ddark .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#dce964c3d75e1f37ddark .error-icon{fill:#a44141;}#dce964c3d75e1f37ddark .error-text{fill:#ddd;stroke:#ddd;}#dce964c3d75e1f37ddark .edge-thickness-normal{stroke-width:1px;}#dce964c3d75e1f37ddark .edge-thickness-thick{stroke-width:3.5px;}#dce964c3d75e1f37ddark .edge-pattern-solid{stroke-dasharray:0;}#dce964c3d75e1f37ddark .edge-thickness-invisible{stroke-width:0;fill:none;}#dce964c3d75e1f37ddark .edge-pattern-dashed{stroke-dasharray:3;}#dce964c3d75e1f37ddark .edge-pattern-dotted{stroke-dasharray:2;}#dce964c3d75e1f37ddark .marker{fill:lightgrey;stroke:lightgrey;}#dce964c3d75e1f37ddark .marker.cross{stroke:lightgrey;}#dce964c3d75e1f37ddark svg{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;}#dce964c3d75e1f37ddark p{margin:0;}#dce964c3d75e1f37ddark .label{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;color:#ccc;}#dce964c3d75e1f37ddark .cluster-label text{fill:#F9FFFE;}#dce964c3d75e1f37ddark .cluster-label span{color:#F9FFFE;}#dce964c3d75e1f37ddark .cluster-label span p{background-color:transparent;}#dce964c3d75e1f37ddark .label text,#dce964c3d75e1f37ddark span{fill:#ccc;color:#ccc;}#dce964c3d75e1f37ddark .node rect,#dce964c3d75e1f37ddark .node circle,#dce964c3d75e1f37ddark .node ellipse,#dce964c3d75e1f37ddark .node polygon,#dce964c3d75e1f37ddark .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#dce964c3d75e1f37ddark .rough-node .label text,#dce964c3d75e1f37ddark .node .label text,#dce964c3d75e1f37ddark .image-shape .label,#dce964c3d75e1f37ddark .icon-shape .label{text-anchor:middle;}#dce964c3d75e1f37ddark .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#dce964c3d75e1f37ddark .rough-node .label,#dce964c3d75e1f37ddark .node .label,#dce964c3d75e1f37ddark .image-shape .label,#dce964c3d75e1f37ddark .icon-shape .label{text-align:center;}#dce964c3d75e1f37ddark .node.clickable{cursor:pointer;}#dce964c3d75e1f37ddark .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#dce964c3d75e1f37ddark .arrowheadPath{fill:lightgrey;}#dce964c3d75e1f37ddark .edgePath .path{stroke:lightgrey;stroke-width:1px;}#dce964c3d75e1f37ddark .flowchart-link{stroke:lightgrey;fill:none;}#dce964c3d75e1f37ddark .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#dce964c3d75e1f37ddark .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#dce964c3d75e1f37ddark .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#dce964c3d75e1f37ddark .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#dce964c3d75e1f37ddark .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#dce964c3d75e1f37ddark .cluster text{fill:#F9FFFE;}#dce964c3d75e1f37ddark .cluster span{color:#F9FFFE;}#dce964c3d75e1f37ddark div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#dce964c3d75e1f37ddark .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#dce964c3d75e1f37ddark rect.text{fill:none;stroke-width:0;}#dce964c3d75e1f37ddark .icon-shape,#dce964c3d75e1f37ddark .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#dce964c3d75e1f37ddark .icon-shape p,#dce964c3d75e1f37ddark .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#dce964c3d75e1f37ddark .icon-shape .label rect,#dce964c3d75e1f37ddark .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#dce964c3d75e1f37ddark .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#dce964c3d75e1f37ddark .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#dce964c3d75e1f37ddark .node .neo-node{stroke:#ccc;}#dce964c3d75e1f37ddark [data-look="neo"].node rect,#dce964c3d75e1f37ddark [data-look="neo"].cluster rect,#dce964c3d75e1f37ddark [data-look="neo"].node polygon{stroke:url(#dce964c3d75e1f37ddark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#dce964c3d75e1f37ddark [data-look="neo"].swimlane.cluster rect{filter:none;}#dce964c3d75e1f37ddark [data-look="neo"].node path{stroke:url(#dce964c3d75e1f37ddark-gradient);stroke-width:1px;}#dce964c3d75e1f37ddark [data-look="neo"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#dce964c3d75e1f37ddark [data-look="neo"].node .neo-line path{stroke:#ccc;filter:none;}#dce964c3d75e1f37ddark [data-look="neo"].node circle{stroke:url(#dce964c3d75e1f37ddark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#dce964c3d75e1f37ddark [data-look="neo"].node circle .state-start{fill:#000000;}#dce964c3d75e1f37ddark [data-look="neo"].icon-shape .icon{fill:url(#dce964c3d75e1f37ddark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#dce964c3d75e1f37ddark [data-look="neo"].icon-shape .icon-neo path{stroke:url(#dce964c3d75e1f37ddark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#dce964c3d75e1f37ddark :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}&lt;/style&gt;&lt;g&gt;&lt;marker id="dce964c3d75e1f37ddark_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37ddark_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37ddark_flowchart-v2-pointEnd-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="11.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="10.5" markerHeight="14" orient="auto"&gt;&lt;path d="M 0 0 L 11.5 7 L 0 14 z" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37ddark_flowchart-v2-pointStart-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="1" refY="7" markerUnits="userSpaceOnUse" markerWidth="11.5" markerHeight="14" orient="auto"&gt;&lt;polygon points="0,7 11.5,14 11.5,0" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/polygon&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37ddark_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37ddark_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37ddark_flowchart-v2-circleEnd-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refY="5" refX="12.25" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37ddark_flowchart-v2-circleStart-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-2" refY="5" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37ddark_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37ddark_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37ddark_flowchart-v2-crossEnd-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="17.7" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="dce964c3d75e1f37ddark_flowchart-v2-crossStart-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="-3.5" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;g class="root"&gt;&lt;g class="clusters"&gt;&lt;/g&gt;&lt;g class="edgePaths"&gt;&lt;path d="M375.586,62L375.586,66.167C375.586,70.333,375.586,78.667,375.586,86.333C375.586,94,375.586,101,375.586,104.5L375.586,108" id="dce964c3d75e1f37ddark-L_A_B_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_B_0" data-points="W3sieCI6Mzc1LjU4NTkzNzUsInkiOjYyfSx7IngiOjM3NS41ODU5Mzc1LCJ5Ijo4N30seyJ4IjozNzUuNTg1OTM3NSwieSI6MTEyfV0=" data-look="classic" marker-end="url(#dce964c3d75e1f37ddark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M322.371,215.238L290.379,230.274C258.388,245.31,194.405,275.381,162.413,295.917C130.422,316.453,130.422,327.453,130.422,332.953L130.422,338.453" id="dce964c3d75e1f37ddark-L_B_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_C_0" data-points="W3sieCI6MzIyLjM3MDUwODEwODg3NzA2LCJ5IjoyMTUuMjM3Njk1NjA4ODc3MX0seyJ4IjoxMzAuNDIxODc1LCJ5IjozMDUuNDUzMTI1fSx7IngiOjEzMC40MjE4NzUsInkiOjM0Mi40NTMxMjV9XQ==" data-look="classic" marker-end="url(#dce964c3d75e1f37ddark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M96.905,496.53L90.37,508.283C83.835,520.035,70.765,543.541,64.23,562.794C57.695,582.047,57.695,597.047,57.695,604.547L57.695,612.047" id="dce964c3d75e1f37ddark-L_C_P_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_C_P_0" data-points="W3sieCI6OTYuOTA0NzMxMzQ0Mjg2MiwieSI6NDk2LjUyOTczMTM0NDI4NjIzfSx7IngiOjU3LjY5NTMxMjUsInkiOjU2Ny4wNDY4NzV9LHsieCI6NTcuNjk1MzEyNSwieSI6NjE2LjA0Njg3NX1d" data-look="classic" marker-end="url(#dce964c3d75e1f37ddark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M163.939,496.53L170.474,508.283C177.009,520.035,190.079,543.541,196.614,562.794C203.148,582.047,203.148,597.047,203.148,604.547L203.148,612.047" id="dce964c3d75e1f37ddark-L_C_F_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_C_F_0" data-points="W3sieCI6MTYzLjkzOTAxODY1NTcxMzgsInkiOjQ5Ni41Mjk3MzEzNDQyODYyM30seyJ4IjoyMDMuMTQ4NDM3NSwieSI6NTY3LjA0Njg3NX0seyJ4IjoyMDMuMTQ4NDM3NSwieSI6NjE2LjA0Njg3NX1d" data-look="classic" marker-end="url(#dce964c3d75e1f37ddark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M423.147,220.892L445.005,234.986C466.864,249.079,510.58,277.266,532.439,300.436C554.297,323.607,554.297,341.76,554.297,350.837L554.297,359.914" id="dce964c3d75e1f37ddark-L_B_E_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_E_0" data-points="W3sieCI6NDIzLjE0Njg3MjQ2NjcxMDEsInkiOjIyMC44OTIxOTAwMzMyODk5Mn0seyJ4Ijo1NTQuMjk2ODc1LCJ5IjozMDUuNDUzMTI1fSx7IngiOjU1NC4yOTY4NzUsInkiOjM2My45MTQwNjI1fV0=" data-look="classic" marker-end="url(#dce964c3d75e1f37ddark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M517.006,471.295L500.024,487.254C483.043,503.212,449.08,535.13,432.099,556.588C415.117,578.047,415.117,589.047,415.117,594.547L415.117,600.047" id="dce964c3d75e1f37ddark-L_E_F2_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_E_F2_0" data-points="W3sieCI6NTE3LjAwNTg4NTQzMDIzMTIsInkiOjQ3MS4yOTQ5NDc5MzAyMzEyfSx7IngiOjQxNS4xMTcxODc1LCJ5Ijo1NjcuMDQ2ODc1fSx7IngiOjQxNS4xMTcxODc1LCJ5Ijo2MDQuMDQ2ODc1fV0=" data-look="classic" marker-end="url(#dce964c3d75e1f37ddark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M591.588,471.295L608.569,487.254C625.551,503.212,659.514,535.13,676.495,556.588C693.477,578.047,693.477,589.047,693.477,594.547L693.477,600.047" id="dce964c3d75e1f37ddark-L_E_H_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_E_H_0" data-points="W3sieCI6NTkxLjU4Nzg2NDU2OTc2ODgsInkiOjQ3MS4yOTQ5NDc5MzAyMzEyfSx7IngiOjY5My40NzY1NjI1LCJ5Ijo1NjcuMDQ2ODc1fSx7IngiOjY5My40NzY1NjI1LCJ5Ijo2MDQuMDQ2ODc1fV0=" data-look="classic" marker-end="url(#dce964c3d75e1f37ddark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;/g&gt;&lt;g class="edgeLabels"&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A_B_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(130.421875, 305.453125)"&gt;&lt;g class="label" data-id="L_B_C_0" transform="translate(-12.4765625, -12)"&gt;&lt;foreignObject width="24.953125" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;p&gt;yes&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(57.6953125, 567.046875)"&gt;&lt;g class="label" data-id="L_C_P_0" transform="translate(-12.4765625, -12)"&gt;&lt;foreignObject width="24.953125" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;p&gt;yes&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(203.1484375, 567.046875)"&gt;&lt;g class="label" data-id="L_C_F_0" transform="translate(-9.0859375, -12)"&gt;&lt;foreignObject width="18.171875" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;p&gt;no&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(554.296875, 305.453125)"&gt;&lt;g class="label" data-id="L_B_E_0" transform="translate(-9.0859375, -12)"&gt;&lt;foreignObject width="18.171875" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;p&gt;no&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(415.1171875, 567.046875)"&gt;&lt;g class="label" data-id="L_E_F2_0" transform="translate(-12.4765625, -12)"&gt;&lt;foreignObject width="24.953125" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;p&gt;yes&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(693.4765625, 567.046875)"&gt;&lt;g class="label" data-id="L_E_H_0" transform="translate(-9.0859375, -12)"&gt;&lt;foreignObject width="18.171875" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;p&gt;no&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="nodes"&gt;&lt;g class="node default" id="dce964c3d75e1f37ddark-flowchart-A-0" data-look="classic" transform="translate(375.5859375, 35)"&gt;&lt;rect class="basic label-container" style="" x="-104.75" y="-27" width="209.5" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-74.75, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="149.5" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;sandbox run finishes&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="dce964c3d75e1f37ddark-flowchart-B-1" data-look="classic" transform="translate(375.5859375, 190.2265625)"&gt;&lt;polygon points="78.2265625,0 156.453125,-78.2265625 78.2265625,-156.453125 0,-78.2265625" class="label-container" transform="translate(-77.7265625, 78.2265625)"&gt;&lt;/polygon&gt;&lt;g class="label" style="" transform="translate(-39.2265625, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="78.453125" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;json report&lt;br&gt;produced?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="dce964c3d75e1f37ddark-flowchart-C-3" data-look="classic" transform="translate(130.421875, 436.25)"&gt;&lt;polygon points="93.796875,0 187.59375,-93.796875 93.796875,-187.59375 0,-93.796875" class="label-container" transform="translate(-93.296875, 93.796875)"&gt;&lt;/polygon&gt;&lt;g class="label" style="" transform="translate(-54.796875, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="109.59375" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;all hidden tests&lt;br&gt;passed?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="dce964c3d75e1f37ddark-flowchart-P-5" data-look="classic" transform="translate(57.6953125, 643.046875)"&gt;&lt;rect class="basic label-container" style="" x="-49.6953125" y="-27" width="99.390625" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-19.6953125, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="39.390625" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;PASS&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="dce964c3d75e1f37ddark-flowchart-F-7" data-look="classic" transform="translate(203.1484375, 643.046875)"&gt;&lt;rect class="basic label-container" style="" x="-45.7578125" y="-27" width="91.515625" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-15.7578125, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="31.515625" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;FAIL&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="dce964c3d75e1f37ddark-flowchart-E-9" data-look="classic" transform="translate(554.296875, 436.25)"&gt;&lt;polygon points="72.3359375,0 144.671875,-72.3359375 72.3359375,-144.671875 0,-72.3359375" class="label-container" transform="translate(-71.8359375, 72.3359375)"&gt;&lt;/polygon&gt;&lt;g class="label" style="" transform="translate(-33.3359375, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="66.671875" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;exit code&lt;br&gt;nonzero?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="dce964c3d75e1f37ddark-flowchart-F2-11" data-look="classic" transform="translate(415.1171875, 643.046875)"&gt;&lt;rect class="basic label-container" style="" x="-116.2109375" y="-39" width="232.421875" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-86.2109375, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="172.421875" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;FAIL&lt;br&gt;candidate broke the run&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="dce964c3d75e1f37ddark-flowchart-H-13" data-look="classic" transform="translate(693.4765625, 643.046875)"&gt;&lt;rect class="basic label-container" style="" x="-112.1484375" y="-39" width="224.296875" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-82.1484375, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="164.296875" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;HARNESS_ERROR&lt;br&gt;excluded from pass@k&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;filter id="dce964c3d75e1f37ddark-drop-shadow" height="130%" width="130%"&gt;&lt;feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#FFFFFF"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;defs&gt;&lt;filter id="dce964c3d75e1f37ddark-drop-shadow-small" height="150%" width="150%"&gt;&lt;feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#FFFFFF"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;linearGradient id="dce964c3d75e1f37ddark-gradient" gradientUnits="objectBoundingBox" x1="0%" y1="0%" x2="100%" y2="0%"&gt;&lt;stop offset="0%" stop-color="#cccccc" stop-opacity="1"&gt;&lt;/stop&gt;&lt;stop offset="100%" stop-color="hsl(180, 0%, 18.3529411765%)" stop-opacity="1"&gt;&lt;/stop&gt;&lt;/linearGradient&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;p&gt;Across all 1,095 attempts, the harness error counter finished at zero. I want to be careful about what that proves. It does not prove the third bucket was unnecessary. It proves the infrastructure held, and I can only say that because the bucket existed to catch anything that did not. A counter that stays at zero is not vestigial. It is the evidence.&lt;/p&gt;
&lt;p&gt;The scoring itself uses the unbiased pass@k estimator from the Codex paper rather than the naive &amp;ldquo;did any of the first k pass&amp;rdquo;, which is biased. That function validates k against the sample count and returns 1.0 when a pass is guaranteed by counting alone.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Rule 3: report what the sandbox does not guarantee
 &lt;div id="rule-3-report-what-the-sandbox-does-not-guarantee" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#rule-3-report-what-the-sandbox-does-not-guarantee" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Every run record carries a capability string:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;#34;capabilities&amp;#34;: &amp;#34;network_isolated=True filesystem_confined=True memory_enforced=False&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The honest part is the &lt;code&gt;False&lt;/code&gt;. macOS does not allow a hard memory cap the usual way, so the tool bounds memory by polling. It would have been easy to leave that field out, or worse, to print &lt;code&gt;True&lt;/code&gt; because polling exists. Instead the record says: this boundary is best-effort. If a reviewer ever asks whether a candidate could have exceeded memory limits undetected, the answer is in the data, not in my memory of how the sandbox worked.&lt;/p&gt;
&lt;p&gt;A full record, for shape:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;item_id&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;count-multiples-01&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;model&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;claude-haiku-4-5&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;date&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;2026-07-16&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;n_scored&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;n_pass&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;n_harness_error&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;sandbox_backend&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;local&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;capabilities&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;network_isolated=True filesystem_confined=True memory_enforced=False&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;passk&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;1&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;5&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.0&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;gate_k&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;theta&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;resistant&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;construct_clean&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;combined_verdict&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;AI-RESISTANT (construct-valid)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Model and date on every record. Part 1 showed the same problem scoring 0.00, 0.05, and 0.20 on three different days. Without the stamp, those would have been one contradictory number. With it, they are three measurements.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Lessons
 &lt;div id="lessons" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#lessons" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A harness problem must never be silently scored. Abort loudly or record it as its own outcome, but never let it wear the model&amp;rsquo;s jersey.&lt;/li&gt;
&lt;li&gt;Prove your test file with the reference solution before scoring anything. After that, every candidate error is legitimately the candidate&amp;rsquo;s.&lt;/li&gt;
&lt;li&gt;Pass or fail is not enough. The third bucket exists so that crashes and flakes stop laundering themselves into your metrics.&lt;/li&gt;
&lt;li&gt;Write down what your sandbox does not enforce. The embarrassing field in the record is the one that makes the record credible.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Part 3 covers the statistic that came back 0.00 when the agreement was 6 out of 8, and why the zero was correct.&lt;/p&gt;

&lt;h2 class="relative group"&gt;References
 &lt;div id="references" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#references" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://arxiv.org/abs/2107.03374" target="_blank" rel="noreferrer"&gt;Chen et al. (2021), &amp;ldquo;Evaluating Large Language Models Trained on Code&amp;rdquo;&lt;/a&gt; (the unbiased pass@k estimator)&lt;/li&gt;
&lt;li&gt;Code shown above: &lt;code&gt;src/cs1_auditor/harness.py&lt;/code&gt; and &lt;code&gt;src/cs1_auditor/metrics.py&lt;/code&gt; in the cs1-auditor project, excerpted verbatim&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item></channel></rss>