<?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>Validity on Nick Liu - Software Engineer</title><link>https://nick-liu.com/tags/validity/</link><description>Recent content in Validity 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/validity/index.xml" rel="self" type="application/rss+xml"/><item><title>Cohen's kappa came back 0.00. The agreement was 6 out of 8.</title><link>https://nick-liu.com/posts/cohens-kappa-zero-agreement/</link><pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate><author>nickboy@users.noreply.github.com (Nick Liu)</author><guid>https://nick-liu.com/posts/cohens-kappa-zero-agreement/</guid><description>&lt;div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl"&gt;
 
I labelled eight CS1 problems blind, before looking at any output from my auditing tool. Then I compared my labels with the tool's verdicts. We agreed on 6 of 8. Then I computed Cohen's kappa, the standard chance-corrected agreement statistic, and it printed 0.00. Exactly zero, sitting next to a 75 percent raw agreement. My first thought was that my code was broken. It was not.

&lt;/div&gt;

&lt;nav class="series-progress" aria-label="Series progress"&gt;
 &lt;span class="series-progress-label"&gt;Auditing AI-Solvability · Part 3 of 3&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-done"&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."&gt;2&lt;/a&gt;
 &lt;/li&gt;&lt;li class="series-progress-dot is-current"&gt;
 &lt;a href="https://nick-liu.com/posts/cohens-kappa-zero-agreement/" title="Cohen&amp;#39;s kappa came back 0.00. The agreement was 6 out of 8." aria-current="step"&gt;3&lt;/a&gt;
 &lt;/li&gt;&lt;/ol&gt;
 &lt;/nav&gt;

&lt;h2 class="relative group"&gt;The setup
 &lt;div id="the-setup" 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="#the-setup" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;This was the human-agreement check for the tool from &lt;a href="https://nick-liu.com/posts/ai-resistant-cs1-problems/" &gt;part 1&lt;/a&gt;. The tool labels each problem AI-solvable or AI-resistant. For the check to mean anything, my own labels had to be committed before I saw the tool&amp;rsquo;s, so I wrote them down blind, sealed against hindsight. Eight problems, two raters: me and the tool.&lt;/p&gt;</description><content:encoded>&lt;div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl"&gt;
 
I labelled eight CS1 problems blind, before looking at any output from my auditing tool. Then I compared my labels with the tool's verdicts. We agreed on 6 of 8. Then I computed Cohen's kappa, the standard chance-corrected agreement statistic, and it printed 0.00. Exactly zero, sitting next to a 75 percent raw agreement. My first thought was that my code was broken. It was not.

&lt;/div&gt;

&lt;nav class="series-progress" aria-label="Series progress"&gt;
 &lt;span class="series-progress-label"&gt;Auditing AI-Solvability · Part 3 of 3&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-done"&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."&gt;2&lt;/a&gt;
 &lt;/li&gt;&lt;li class="series-progress-dot is-current"&gt;
 &lt;a href="https://nick-liu.com/posts/cohens-kappa-zero-agreement/" title="Cohen&amp;#39;s kappa came back 0.00. The agreement was 6 out of 8." aria-current="step"&gt;3&lt;/a&gt;
 &lt;/li&gt;&lt;/ol&gt;
 &lt;/nav&gt;

&lt;h2 class="relative group"&gt;The setup
 &lt;div id="the-setup" 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="#the-setup" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;This was the human-agreement check for the tool from &lt;a href="https://nick-liu.com/posts/ai-resistant-cs1-problems/" &gt;part 1&lt;/a&gt;. The tool labels each problem AI-solvable or AI-resistant. For the check to mean anything, my own labels had to be committed before I saw the tool&amp;rsquo;s, so I wrote them down blind, sealed against hindsight. Eight problems, two raters: me and the tool.&lt;/p&gt;
&lt;p&gt;Raw agreement 6 of 8. For a first calibration pass on a small set, that felt fine. Kappa exists because raw agreement flatters you: two raters who both say &amp;ldquo;solvable&amp;rdquo; almost every time will agree often by luck alone, so kappa subtracts the agreement you would expect from chance. I expected it to shave 0.75 down to something modest. I did not expect it to shave 0.75 down to nothing.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Chasing the zero
 &lt;div id="chasing-the-zero" 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="#chasing-the-zero" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;The suspect list, in the order I worked through it: my kappa implementation, the label encoding, the library convention for two-category data. All innocent. The arithmetic is short enough to do on paper, and doing it on paper is what ended the confusion.&lt;/p&gt;
&lt;p&gt;Over the eight problems, the tool produced one label. Every verdict was the same. The strong model solved everything it touched, so nothing crossed the resistance threshold, so the tool said &amp;ldquo;solvable&amp;rdquo; eight times. My blind labels said &amp;ldquo;solvable&amp;rdquo; six times and &amp;ldquo;resistant&amp;rdquo; twice. Observed agreement: 6 of 8, which is 0.75.&lt;/p&gt;
&lt;p&gt;Now the chance correction. Expected agreement multiplies the raters&amp;rsquo; label frequencies. The tool says &amp;ldquo;solvable&amp;rdquo; with probability 1.0. I say it with probability 0.75. So the chance of agreeing on &amp;ldquo;solvable&amp;rdquo; is 0.75, and the chance of agreeing on &amp;ldquo;resistant&amp;rdquo; is zero times something, which is zero. Expected agreement: 0.75.&lt;/p&gt;
&lt;p&gt;Kappa is observed minus expected over one minus expected. That is (0.75 - 0.75) / (1 - 0.75). Zero, by construction, and not a rounding artifact. When one rater has no variance, every bit of observed agreement is exactly what chance predicts, and the correction consumes the entire signal. Kappa is not measuring how often we agreed. It is measuring how much better than chance we agreed, and against a constant rater, nobody can beat chance.&lt;/p&gt;

&lt;h2 class="relative group"&gt;The step that made me believe it
 &lt;div id="the-step-that-made-me-believe-it" 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="#the-step-that-made-me-believe-it" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;I did not trust the explanation until I attacked it with synthetic labels. I generated fake rater pairs where one rater was constant and the other varied, swept the disagreement count, and watched kappa pin to zero every time regardless of raw agreement. Then I gave the constant rater a single deviant label and watched kappa jump to a nonzero value. The statistic was behaving exactly as defined. My data was the degenerate case, not my code.&lt;/p&gt;
&lt;div class="not-prose diagram diagram-light"&gt;&lt;svg id="d3fcb23bc0c269630light" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 775.58203125px;" viewBox="0 0 775.58203125 759.859375" role="graphics-document document" aria-roledescription="flowchart-v2"&gt;&lt;style&gt;#d3fcb23bc0c269630light{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;}}#d3fcb23bc0c269630light .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#d3fcb23bc0c269630light .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#d3fcb23bc0c269630light .error-icon{fill:rgb(255, 255, 255);}#d3fcb23bc0c269630light .error-text{fill:#000000;stroke:#000000;}#d3fcb23bc0c269630light .edge-thickness-normal{stroke-width:1px;}#d3fcb23bc0c269630light .edge-thickness-thick{stroke-width:3.5px;}#d3fcb23bc0c269630light .edge-pattern-solid{stroke-dasharray:0;}#d3fcb23bc0c269630light .edge-thickness-invisible{stroke-width:0;fill:none;}#d3fcb23bc0c269630light .edge-pattern-dashed{stroke-dasharray:3;}#d3fcb23bc0c269630light .edge-pattern-dotted{stroke-dasharray:2;}#d3fcb23bc0c269630light .marker{fill:rgb(74, 86, 92);stroke:rgb(74, 86, 92);}#d3fcb23bc0c269630light .marker.cross{stroke:rgb(74, 86, 92);}#d3fcb23bc0c269630light svg{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;}#d3fcb23bc0c269630light p{margin:0;}#d3fcb23bc0c269630light .label{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;color:#333;}#d3fcb23bc0c269630light .cluster-label text{fill:#000000;}#d3fcb23bc0c269630light .cluster-label span{color:#000000;}#d3fcb23bc0c269630light .cluster-label span p{background-color:transparent;}#d3fcb23bc0c269630light .label text,#d3fcb23bc0c269630light span{fill:#333;color:#333;}#d3fcb23bc0c269630light .node rect,#d3fcb23bc0c269630light .node circle,#d3fcb23bc0c269630light .node ellipse,#d3fcb23bc0c269630light .node polygon,#d3fcb23bc0c269630light .node path{fill:rgb(255, 255, 255);stroke:rgb(204, 216, 222);stroke-width:1px;}#d3fcb23bc0c269630light .rough-node .label text,#d3fcb23bc0c269630light .node .label text,#d3fcb23bc0c269630light .image-shape .label,#d3fcb23bc0c269630light .icon-shape .label{text-anchor:middle;}#d3fcb23bc0c269630light .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#d3fcb23bc0c269630light .rough-node .label,#d3fcb23bc0c269630light .node .label,#d3fcb23bc0c269630light .image-shape .label,#d3fcb23bc0c269630light .icon-shape .label{text-align:center;}#d3fcb23bc0c269630light .node.clickable{cursor:pointer;}#d3fcb23bc0c269630light .root .anchor path{fill:rgb(74, 86, 92)!important;stroke-width:0;stroke:rgb(74, 86, 92);}#d3fcb23bc0c269630light .arrowheadPath{fill:#000000;}#d3fcb23bc0c269630light .edgePath .path{stroke:rgb(74, 86, 92);stroke-width:1px;}#d3fcb23bc0c269630light .flowchart-link{stroke:rgb(74, 86, 92);fill:none;}#d3fcb23bc0c269630light .edgeLabel{background-color:rgb(182, 240, 255);text-align:center;}#d3fcb23bc0c269630light .edgeLabel p{background-color:rgb(182, 240, 255);}#d3fcb23bc0c269630light .edgeLabel rect{opacity:0.5;background-color:rgb(182, 240, 255);fill:rgb(182, 240, 255);}#d3fcb23bc0c269630light .labelBkg{background-color:rgba(182, 240, 255, 0.5);}#d3fcb23bc0c269630light .cluster rect{fill:rgb(255, 255, 255);stroke:rgb(129, 146, 154);stroke-width:1px;}#d3fcb23bc0c269630light .cluster text{fill:#000000;}#d3fcb23bc0c269630light .cluster span{color:#000000;}#d3fcb23bc0c269630light 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;}#d3fcb23bc0c269630light .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#d3fcb23bc0c269630light rect.text{fill:none;stroke-width:0;}#d3fcb23bc0c269630light .icon-shape,#d3fcb23bc0c269630light .image-shape{background-color:rgb(182, 240, 255);text-align:center;}#d3fcb23bc0c269630light .icon-shape p,#d3fcb23bc0c269630light .image-shape p{background-color:rgb(182, 240, 255);padding:2px;}#d3fcb23bc0c269630light .icon-shape .label rect,#d3fcb23bc0c269630light .image-shape .label rect{opacity:0.5;background-color:rgb(182, 240, 255);fill:rgb(182, 240, 255);}#d3fcb23bc0c269630light .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#d3fcb23bc0c269630light .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#d3fcb23bc0c269630light .node .neo-node{stroke:rgb(204, 216, 222);}#d3fcb23bc0c269630light [data-look="neo"].node rect,#d3fcb23bc0c269630light [data-look="neo"].cluster rect,#d3fcb23bc0c269630light [data-look="neo"].node polygon{stroke:url(#d3fcb23bc0c269630light-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d3fcb23bc0c269630light [data-look="neo"].swimlane.cluster rect{filter:none;}#d3fcb23bc0c269630light [data-look="neo"].node path{stroke:url(#d3fcb23bc0c269630light-gradient);stroke-width:1px;}#d3fcb23bc0c269630light [data-look="neo"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d3fcb23bc0c269630light [data-look="neo"].node .neo-line path{stroke:rgb(204, 216, 222);filter:none;}#d3fcb23bc0c269630light [data-look="neo"].node circle{stroke:url(#d3fcb23bc0c269630light-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d3fcb23bc0c269630light [data-look="neo"].node circle .state-start{fill:#000000;}#d3fcb23bc0c269630light [data-look="neo"].icon-shape .icon{fill:url(#d3fcb23bc0c269630light-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d3fcb23bc0c269630light [data-look="neo"].icon-shape .icon-neo path{stroke:url(#d3fcb23bc0c269630light-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d3fcb23bc0c269630light :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}&lt;/style&gt;&lt;g&gt;&lt;marker id="d3fcb23bc0c269630light_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="d3fcb23bc0c269630light_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="d3fcb23bc0c269630light_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="d3fcb23bc0c269630light_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="d3fcb23bc0c269630light_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="d3fcb23bc0c269630light_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="d3fcb23bc0c269630light_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="d3fcb23bc0c269630light_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="d3fcb23bc0c269630light_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="d3fcb23bc0c269630light_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="d3fcb23bc0c269630light_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="d3fcb23bc0c269630light_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="M315.82,110L315.82,114.167C315.82,118.333,315.82,126.667,315.82,134.333C315.82,142,315.82,149,315.82,152.5L315.82,156" id="d3fcb23bc0c269630light-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="W3sieCI6MzE1LjgyMDMxMjUsInkiOjExMH0seyJ4IjozMTUuODIwMzEyNSwieSI6MTM1fSx7IngiOjMxNS44MjAzMTI1LCJ5IjoxNjB9XQ==" data-look="classic" marker-end="url(#d3fcb23bc0c269630light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M257.689,285.728L230.419,301.583C203.15,317.439,148.61,349.149,121.34,372.504C94.07,395.859,94.07,410.859,94.07,418.359L94.07,425.859" id="d3fcb23bc0c269630light-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="W3sieCI6MjU3LjY4OTE3NzY1MDI2NjIzLCJ5IjoyODUuNzI4MjQwMTUwMjY2MjN9LHsieCI6OTQuMDcwMzEyNSwieSI6MzgwLjg1OTM3NX0seyJ4Ijo5NC4wNzAzMTI1LCJ5Ijo0MjkuODU5Mzc1fV0=" data-look="classic" marker-end="url(#d3fcb23bc0c269630light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M315.82,343.859L315.82,350.026C315.82,356.193,315.82,368.526,315.82,382.193C315.82,395.859,315.82,410.859,315.82,418.359L315.82,425.859" id="d3fcb23bc0c269630light-L_B_D_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_D_0" data-points="W3sieCI6MzE1LjgyMDMxMjUsInkiOjM0My44NTkzNzV9LHsieCI6MzE1LjgyMDMxMjUsInkiOjM4MC44NTkzNzV9LHsieCI6MzE1LjgyMDMxMjUsInkiOjQyOS44NTkzNzV9XQ==" data-look="classic" marker-end="url(#d3fcb23bc0c269630light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M374.927,284.753L403.771,300.771C432.615,316.788,490.304,348.824,519.148,370.342C547.992,391.859,547.992,402.859,547.992,408.359L547.992,413.859" id="d3fcb23bc0c269630light-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="W3sieCI6Mzc0LjkyNjkxODg3MjEwMzYsInkiOjI4NC43NTI3Njg2Mjc4OTY0fSx7IngiOjU0Ny45OTIxODc1LCJ5IjozODAuODU5Mzc1fSx7IngiOjU0Ny45OTIxODc1LCJ5Ijo0MTcuODU5Mzc1fV0=" data-look="classic" marker-end="url(#d3fcb23bc0c269630light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M471.266,495.859L463.068,500.026C454.871,504.193,438.477,512.526,430.279,520.193C422.082,527.859,422.082,534.859,422.082,538.359L422.082,541.859" id="d3fcb23bc0c269630light-L_E_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_E_F_0" data-points="W3sieCI6NDcxLjI2NTY4NjAzNTE1NjI1LCJ5Ijo0OTUuODU5Mzc1fSx7IngiOjQyMi4wODIwMzEyNSwieSI6NTIwLjg1OTM3NX0seyJ4Ijo0MjIuMDgyMDMxMjUsInkiOjU0NS44NTkzNzV9XQ==" data-look="classic" marker-end="url(#d3fcb23bc0c269630light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M624.719,495.859L632.916,500.026C641.113,504.193,657.508,512.526,665.705,520.193C673.902,527.859,673.902,534.859,673.902,538.359L673.902,541.859" id="d3fcb23bc0c269630light-L_E_G_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_G_0" data-points="W3sieCI6NjI0LjcxODY4ODk2NDg0MzgsInkiOjQ5NS44NTkzNzV9LHsieCI6NjczLjkwMjM0Mzc1LCJ5Ijo1MjAuODU5Mzc1fSx7IngiOjY3My45MDIzNDM3NSwieSI6NTQ1Ljg1OTM3NX1d" data-look="classic" marker-end="url(#d3fcb23bc0c269630light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M422.082,623.859L422.082,628.026C422.082,632.193,422.082,640.526,429.685,648.557C437.288,656.589,452.494,664.318,460.097,668.182L467.7,672.047" id="d3fcb23bc0c269630light-L_F_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_F_H_0" data-points="W3sieCI6NDIyLjA4MjAzMTI1LCJ5Ijo2MjMuODU5Mzc1fSx7IngiOjQyMi4wODIwMzEyNSwieSI6NjQ4Ljg1OTM3NX0seyJ4Ijo0NzEuMjY1Njg2MDM1MTU2MjUsInkiOjY3My44NTkzNzV9XQ==" data-look="classic" marker-end="url(#d3fcb23bc0c269630light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M673.902,623.859L673.902,628.026C673.902,632.193,673.902,640.526,666.299,648.557C658.696,656.589,643.49,664.318,635.887,668.182L628.284,672.047" id="d3fcb23bc0c269630light-L_G_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_G_H_0" data-points="W3sieCI6NjczLjkwMjM0Mzc1LCJ5Ijo2MjMuODU5Mzc1fSx7IngiOjY3My45MDIzNDM3NSwieSI6NjQ4Ljg1OTM3NX0seyJ4Ijo2MjQuNzE4Njg4OTY0ODQzOCwieSI6NjczLjg1OTM3NX1d" data-look="classic" marker-end="url(#d3fcb23bc0c269630light_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(94.0703125, 380.859375)"&gt;&lt;g class="label" data-id="L_B_C_0" transform="translate(-76.7578125, -12)"&gt;&lt;foreignObject width="153.515625" 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;the number is broken&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(315.8203125, 380.859375)"&gt;&lt;g class="label" data-id="L_B_D_0" transform="translate(-84.7265625, -12)"&gt;&lt;foreignObject width="169.453125" 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;the number is profound&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(547.9921875, 380.859375)"&gt;&lt;g class="label" data-id="L_B_E_0" transform="translate(-50.1796875, -12)"&gt;&lt;foreignObject width="100.359375" 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;neither: test it&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_E_F_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"&gt;&lt;g class="label" data-id="L_E_G_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"&gt;&lt;g class="label" data-id="L_F_H_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"&gt;&lt;g class="label" data-id="L_G_H_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&gt;&lt;g class="nodes"&gt;&lt;g class="node default" id="d3fcb23bc0c269630light-flowchart-A-0" data-look="classic" transform="translate(315.8203125, 59)"&gt;&lt;rect class="basic label-container" style="" x="-130" y="-51" width="260" height="102"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-100, -36)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="200" height="72"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;statistic looks impossible&lt;br&gt;kappa 0.00, agreement 75%&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d3fcb23bc0c269630light-flowchart-B-1" data-look="classic" transform="translate(315.8203125, 251.9296875)"&gt;&lt;polygon points="91.9296875,0 183.859375,-91.9296875 91.9296875,-183.859375 0,-91.9296875" class="label-container" transform="translate(-91.4296875, 91.9296875)"&gt;&lt;/polygon&gt;&lt;g class="label" style="" transform="translate(-64.9296875, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="129.859375" 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;tempting shortcut&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d3fcb23bc0c269630light-flowchart-C-3" data-look="classic" transform="translate(94.0703125, 456.859375)"&gt;&lt;rect class="basic label-container" style="" x="-86.0703125" y="-27" width="172.140625" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-56.0703125, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="112.140625" 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;blame the code&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d3fcb23bc0c269630light-flowchart-D-5" data-look="classic" transform="translate(315.8203125, 456.859375)"&gt;&lt;rect class="basic label-container" style="" x="-85.6796875" y="-27" width="171.359375" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-55.6796875, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="111.359375" 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;write a hot take&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d3fcb23bc0c269630light-flowchart-E-7" data-look="classic" transform="translate(547.9921875, 456.859375)"&gt;&lt;rect class="basic label-container" style="" x="-96.4921875" y="-39" width="192.984375" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-66.4921875, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="132.984375" 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;synthetic labels,&lt;br&gt;one constant rater&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d3fcb23bc0c269630light-flowchart-F-9" data-look="classic" transform="translate(422.08203125, 584.859375)"&gt;&lt;rect class="basic label-container" style="" x="-108.140625" y="-39" width="216.28125" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-78.140625, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="156.28125" 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;kappa pins to 0.00&lt;br&gt;at any raw agreement&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d3fcb23bc0c269630light-flowchart-G-11" data-look="classic" transform="translate(673.90234375, 584.859375)"&gt;&lt;rect class="basic label-container" style="" x="-93.6796875" y="-39" width="187.359375" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-63.6796875, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="127.359375" 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;one deviant label:&lt;br&gt;kappa moves&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d3fcb23bc0c269630light-flowchart-H-13" data-look="classic" transform="translate(547.9921875, 712.859375)"&gt;&lt;rect class="basic label-container" style="" x="-119.5859375" y="-39" width="239.171875" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-89.5859375, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="179.171875" 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;the zero is correct;&lt;br&gt;the design is degenerate&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="d3fcb23bc0c269630light-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="d3fcb23bc0c269630light-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="d3fcb23bc0c269630light-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="d3fcb23bc0c269630dark" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 775.58203125px;" viewBox="0 0 775.58203125 759.859375" role="graphics-document document" aria-roledescription="flowchart-v2"&gt;&lt;style&gt;#d3fcb23bc0c269630dark{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;}}#d3fcb23bc0c269630dark .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#d3fcb23bc0c269630dark .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#d3fcb23bc0c269630dark .error-icon{fill:#a44141;}#d3fcb23bc0c269630dark .error-text{fill:#ddd;stroke:#ddd;}#d3fcb23bc0c269630dark .edge-thickness-normal{stroke-width:1px;}#d3fcb23bc0c269630dark .edge-thickness-thick{stroke-width:3.5px;}#d3fcb23bc0c269630dark .edge-pattern-solid{stroke-dasharray:0;}#d3fcb23bc0c269630dark .edge-thickness-invisible{stroke-width:0;fill:none;}#d3fcb23bc0c269630dark .edge-pattern-dashed{stroke-dasharray:3;}#d3fcb23bc0c269630dark .edge-pattern-dotted{stroke-dasharray:2;}#d3fcb23bc0c269630dark .marker{fill:lightgrey;stroke:lightgrey;}#d3fcb23bc0c269630dark .marker.cross{stroke:lightgrey;}#d3fcb23bc0c269630dark svg{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;}#d3fcb23bc0c269630dark p{margin:0;}#d3fcb23bc0c269630dark .label{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;color:#ccc;}#d3fcb23bc0c269630dark .cluster-label text{fill:#F9FFFE;}#d3fcb23bc0c269630dark .cluster-label span{color:#F9FFFE;}#d3fcb23bc0c269630dark .cluster-label span p{background-color:transparent;}#d3fcb23bc0c269630dark .label text,#d3fcb23bc0c269630dark span{fill:#ccc;color:#ccc;}#d3fcb23bc0c269630dark .node rect,#d3fcb23bc0c269630dark .node circle,#d3fcb23bc0c269630dark .node ellipse,#d3fcb23bc0c269630dark .node polygon,#d3fcb23bc0c269630dark .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#d3fcb23bc0c269630dark .rough-node .label text,#d3fcb23bc0c269630dark .node .label text,#d3fcb23bc0c269630dark .image-shape .label,#d3fcb23bc0c269630dark .icon-shape .label{text-anchor:middle;}#d3fcb23bc0c269630dark .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#d3fcb23bc0c269630dark .rough-node .label,#d3fcb23bc0c269630dark .node .label,#d3fcb23bc0c269630dark .image-shape .label,#d3fcb23bc0c269630dark .icon-shape .label{text-align:center;}#d3fcb23bc0c269630dark .node.clickable{cursor:pointer;}#d3fcb23bc0c269630dark .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#d3fcb23bc0c269630dark .arrowheadPath{fill:lightgrey;}#d3fcb23bc0c269630dark .edgePath .path{stroke:lightgrey;stroke-width:1px;}#d3fcb23bc0c269630dark .flowchart-link{stroke:lightgrey;fill:none;}#d3fcb23bc0c269630dark .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#d3fcb23bc0c269630dark .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#d3fcb23bc0c269630dark .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#d3fcb23bc0c269630dark .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#d3fcb23bc0c269630dark .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#d3fcb23bc0c269630dark .cluster text{fill:#F9FFFE;}#d3fcb23bc0c269630dark .cluster span{color:#F9FFFE;}#d3fcb23bc0c269630dark 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;}#d3fcb23bc0c269630dark .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#d3fcb23bc0c269630dark rect.text{fill:none;stroke-width:0;}#d3fcb23bc0c269630dark .icon-shape,#d3fcb23bc0c269630dark .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#d3fcb23bc0c269630dark .icon-shape p,#d3fcb23bc0c269630dark .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#d3fcb23bc0c269630dark .icon-shape .label rect,#d3fcb23bc0c269630dark .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#d3fcb23bc0c269630dark .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#d3fcb23bc0c269630dark .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#d3fcb23bc0c269630dark .node .neo-node{stroke:#ccc;}#d3fcb23bc0c269630dark [data-look="neo"].node rect,#d3fcb23bc0c269630dark [data-look="neo"].cluster rect,#d3fcb23bc0c269630dark [data-look="neo"].node polygon{stroke:url(#d3fcb23bc0c269630dark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d3fcb23bc0c269630dark [data-look="neo"].swimlane.cluster rect{filter:none;}#d3fcb23bc0c269630dark [data-look="neo"].node path{stroke:url(#d3fcb23bc0c269630dark-gradient);stroke-width:1px;}#d3fcb23bc0c269630dark [data-look="neo"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d3fcb23bc0c269630dark [data-look="neo"].node .neo-line path{stroke:#ccc;filter:none;}#d3fcb23bc0c269630dark [data-look="neo"].node circle{stroke:url(#d3fcb23bc0c269630dark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d3fcb23bc0c269630dark [data-look="neo"].node circle .state-start{fill:#000000;}#d3fcb23bc0c269630dark [data-look="neo"].icon-shape .icon{fill:url(#d3fcb23bc0c269630dark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d3fcb23bc0c269630dark [data-look="neo"].icon-shape .icon-neo path{stroke:url(#d3fcb23bc0c269630dark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d3fcb23bc0c269630dark :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}&lt;/style&gt;&lt;g&gt;&lt;marker id="d3fcb23bc0c269630dark_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="d3fcb23bc0c269630dark_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="d3fcb23bc0c269630dark_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="d3fcb23bc0c269630dark_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="d3fcb23bc0c269630dark_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="d3fcb23bc0c269630dark_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="d3fcb23bc0c269630dark_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="d3fcb23bc0c269630dark_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="d3fcb23bc0c269630dark_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="d3fcb23bc0c269630dark_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="d3fcb23bc0c269630dark_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="d3fcb23bc0c269630dark_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="M315.82,110L315.82,114.167C315.82,118.333,315.82,126.667,315.82,134.333C315.82,142,315.82,149,315.82,152.5L315.82,156" id="d3fcb23bc0c269630dark-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="W3sieCI6MzE1LjgyMDMxMjUsInkiOjExMH0seyJ4IjozMTUuODIwMzEyNSwieSI6MTM1fSx7IngiOjMxNS44MjAzMTI1LCJ5IjoxNjB9XQ==" data-look="classic" marker-end="url(#d3fcb23bc0c269630dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M257.689,285.728L230.419,301.583C203.15,317.439,148.61,349.149,121.34,372.504C94.07,395.859,94.07,410.859,94.07,418.359L94.07,425.859" id="d3fcb23bc0c269630dark-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="W3sieCI6MjU3LjY4OTE3NzY1MDI2NjIzLCJ5IjoyODUuNzI4MjQwMTUwMjY2MjN9LHsieCI6OTQuMDcwMzEyNSwieSI6MzgwLjg1OTM3NX0seyJ4Ijo5NC4wNzAzMTI1LCJ5Ijo0MjkuODU5Mzc1fV0=" data-look="classic" marker-end="url(#d3fcb23bc0c269630dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M315.82,343.859L315.82,350.026C315.82,356.193,315.82,368.526,315.82,382.193C315.82,395.859,315.82,410.859,315.82,418.359L315.82,425.859" id="d3fcb23bc0c269630dark-L_B_D_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_D_0" data-points="W3sieCI6MzE1LjgyMDMxMjUsInkiOjM0My44NTkzNzV9LHsieCI6MzE1LjgyMDMxMjUsInkiOjM4MC44NTkzNzV9LHsieCI6MzE1LjgyMDMxMjUsInkiOjQyOS44NTkzNzV9XQ==" data-look="classic" marker-end="url(#d3fcb23bc0c269630dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M374.927,284.753L403.771,300.771C432.615,316.788,490.304,348.824,519.148,370.342C547.992,391.859,547.992,402.859,547.992,408.359L547.992,413.859" id="d3fcb23bc0c269630dark-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="W3sieCI6Mzc0LjkyNjkxODg3MjEwMzYsInkiOjI4NC43NTI3Njg2Mjc4OTY0fSx7IngiOjU0Ny45OTIxODc1LCJ5IjozODAuODU5Mzc1fSx7IngiOjU0Ny45OTIxODc1LCJ5Ijo0MTcuODU5Mzc1fV0=" data-look="classic" marker-end="url(#d3fcb23bc0c269630dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M471.266,495.859L463.068,500.026C454.871,504.193,438.477,512.526,430.279,520.193C422.082,527.859,422.082,534.859,422.082,538.359L422.082,541.859" id="d3fcb23bc0c269630dark-L_E_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_E_F_0" data-points="W3sieCI6NDcxLjI2NTY4NjAzNTE1NjI1LCJ5Ijo0OTUuODU5Mzc1fSx7IngiOjQyMi4wODIwMzEyNSwieSI6NTIwLjg1OTM3NX0seyJ4Ijo0MjIuMDgyMDMxMjUsInkiOjU0NS44NTkzNzV9XQ==" data-look="classic" marker-end="url(#d3fcb23bc0c269630dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M624.719,495.859L632.916,500.026C641.113,504.193,657.508,512.526,665.705,520.193C673.902,527.859,673.902,534.859,673.902,538.359L673.902,541.859" id="d3fcb23bc0c269630dark-L_E_G_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_G_0" data-points="W3sieCI6NjI0LjcxODY4ODk2NDg0MzgsInkiOjQ5NS44NTkzNzV9LHsieCI6NjczLjkwMjM0Mzc1LCJ5Ijo1MjAuODU5Mzc1fSx7IngiOjY3My45MDIzNDM3NSwieSI6NTQ1Ljg1OTM3NX1d" data-look="classic" marker-end="url(#d3fcb23bc0c269630dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M422.082,623.859L422.082,628.026C422.082,632.193,422.082,640.526,429.685,648.557C437.288,656.589,452.494,664.318,460.097,668.182L467.7,672.047" id="d3fcb23bc0c269630dark-L_F_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_F_H_0" data-points="W3sieCI6NDIyLjA4MjAzMTI1LCJ5Ijo2MjMuODU5Mzc1fSx7IngiOjQyMi4wODIwMzEyNSwieSI6NjQ4Ljg1OTM3NX0seyJ4Ijo0NzEuMjY1Njg2MDM1MTU2MjUsInkiOjY3My44NTkzNzV9XQ==" data-look="classic" marker-end="url(#d3fcb23bc0c269630dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M673.902,623.859L673.902,628.026C673.902,632.193,673.902,640.526,666.299,648.557C658.696,656.589,643.49,664.318,635.887,668.182L628.284,672.047" id="d3fcb23bc0c269630dark-L_G_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_G_H_0" data-points="W3sieCI6NjczLjkwMjM0Mzc1LCJ5Ijo2MjMuODU5Mzc1fSx7IngiOjY3My45MDIzNDM3NSwieSI6NjQ4Ljg1OTM3NX0seyJ4Ijo2MjQuNzE4Njg4OTY0ODQzOCwieSI6NjczLjg1OTM3NX1d" data-look="classic" marker-end="url(#d3fcb23bc0c269630dark_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(94.0703125, 380.859375)"&gt;&lt;g class="label" data-id="L_B_C_0" transform="translate(-76.7578125, -12)"&gt;&lt;foreignObject width="153.515625" 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;the number is broken&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(315.8203125, 380.859375)"&gt;&lt;g class="label" data-id="L_B_D_0" transform="translate(-84.7265625, -12)"&gt;&lt;foreignObject width="169.453125" 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;the number is profound&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel" transform="translate(547.9921875, 380.859375)"&gt;&lt;g class="label" data-id="L_B_E_0" transform="translate(-50.1796875, -12)"&gt;&lt;foreignObject width="100.359375" 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;neither: test it&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_E_F_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"&gt;&lt;g class="label" data-id="L_E_G_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"&gt;&lt;g class="label" data-id="L_F_H_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"&gt;&lt;g class="label" data-id="L_G_H_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&gt;&lt;g class="nodes"&gt;&lt;g class="node default" id="d3fcb23bc0c269630dark-flowchart-A-0" data-look="classic" transform="translate(315.8203125, 59)"&gt;&lt;rect class="basic label-container" style="" x="-130" y="-51" width="260" height="102"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-100, -36)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="200" height="72"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;statistic looks impossible&lt;br&gt;kappa 0.00, agreement 75%&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d3fcb23bc0c269630dark-flowchart-B-1" data-look="classic" transform="translate(315.8203125, 251.9296875)"&gt;&lt;polygon points="91.9296875,0 183.859375,-91.9296875 91.9296875,-183.859375 0,-91.9296875" class="label-container" transform="translate(-91.4296875, 91.9296875)"&gt;&lt;/polygon&gt;&lt;g class="label" style="" transform="translate(-64.9296875, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="129.859375" 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;tempting shortcut&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d3fcb23bc0c269630dark-flowchart-C-3" data-look="classic" transform="translate(94.0703125, 456.859375)"&gt;&lt;rect class="basic label-container" style="" x="-86.0703125" y="-27" width="172.140625" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-56.0703125, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="112.140625" 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;blame the code&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d3fcb23bc0c269630dark-flowchart-D-5" data-look="classic" transform="translate(315.8203125, 456.859375)"&gt;&lt;rect class="basic label-container" style="" x="-85.6796875" y="-27" width="171.359375" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-55.6796875, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="111.359375" 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;write a hot take&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d3fcb23bc0c269630dark-flowchart-E-7" data-look="classic" transform="translate(547.9921875, 456.859375)"&gt;&lt;rect class="basic label-container" style="" x="-96.4921875" y="-39" width="192.984375" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-66.4921875, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="132.984375" 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;synthetic labels,&lt;br&gt;one constant rater&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d3fcb23bc0c269630dark-flowchart-F-9" data-look="classic" transform="translate(422.08203125, 584.859375)"&gt;&lt;rect class="basic label-container" style="" x="-108.140625" y="-39" width="216.28125" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-78.140625, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="156.28125" 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;kappa pins to 0.00&lt;br&gt;at any raw agreement&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d3fcb23bc0c269630dark-flowchart-G-11" data-look="classic" transform="translate(673.90234375, 584.859375)"&gt;&lt;rect class="basic label-container" style="" x="-93.6796875" y="-39" width="187.359375" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-63.6796875, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="127.359375" 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;one deviant label:&lt;br&gt;kappa moves&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d3fcb23bc0c269630dark-flowchart-H-13" data-look="classic" transform="translate(547.9921875, 712.859375)"&gt;&lt;rect class="basic label-container" style="" x="-119.5859375" y="-39" width="239.171875" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-89.5859375, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="179.171875" 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;the zero is correct;&lt;br&gt;the design is degenerate&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="d3fcb23bc0c269630dark-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="d3fcb23bc0c269630dark-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="d3fcb23bc0c269630dark-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;If I had to keep one paragraph from this post, it would be that one. The temptation with a surprising statistic is to pick between two stories: &amp;ldquo;the number is broken&amp;rdquo; or &amp;ldquo;the number is profound&amp;rdquo;. Both are cheap. The third option costs an hour with synthetic data and tells you which world you are in. In my case the zero was neither broken nor profound. It was the statistic saying: this validation design cannot distinguish your tool from a coin that always lands heads, because on this problem set the tool never did anything else.&lt;/p&gt;

&lt;h2 class="relative group"&gt;What the zero told me to do
 &lt;div id="what-the-zero-told-me-to-do" 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="#what-the-zero-told-me-to-do" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;A useless kappa on this set does not mean the agreement check was worthless. It means the set was wrong for the question. Every problem the strong model touched, it solved, which is itself the headline finding of the whole project. But it leaves the agreement study with no variance to correlate. The fix is structural: the set needed problems where the tool&amp;rsquo;s verdict varies, and by the end of the summer I had evidence those barely exist within CS1.&lt;/p&gt;
&lt;p&gt;And the honest limit, stated in the body and not in a footnote: the second rater was me, and I built the tool. This was a self-check, useful for catching gross disagreement between my intuition and my own machinery. It is not external validation, and I do not present it as such. One rater, one vendor, one summer.&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;Kappa of 0.00 with high raw agreement is not a paradox. It means at least one rater never varied, and chance explains everything you observed.&lt;/li&gt;
&lt;li&gt;Before calling a surprising statistic broken or profound, spend the hour on synthetic data. Degenerate inputs produce exotic outputs from perfectly correct code.&lt;/li&gt;
&lt;li&gt;An agreement study needs variance in both raters. If your tool gives one answer on the whole set, you have learned something about the set, not about agreement.&lt;/li&gt;
&lt;li&gt;Self-checks catch self-delusion. They do not substitute for a second human rater, and writing that sentence in the report is cheaper than having a reviewer write it for you.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Part 4 puts the fairness checks under adversarial pressure: I hid zero-width characters inside a problem spec and measured whether any model flinched.&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://doi.org/10.1177/001316446002000104" target="_blank" rel="noreferrer"&gt;Cohen (1960), &amp;ldquo;A Coefficient of Agreement for Nominal Scales&amp;rdquo;&lt;/a&gt; (the kappa definition used here)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://doi.org/10.1037/0003-066X.50.9.741" target="_blank" rel="noreferrer"&gt;Messick (1995), &amp;ldquo;Validity of Psychological Assessment&amp;rdquo;&lt;/a&gt; (the validity framework this check belongs to)&lt;/li&gt;
&lt;li&gt;Run data: cs1-auditor &lt;code&gt;.runs/*.json&lt;/code&gt;, pulled 2026-08-01&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item></channel></rss>