tokenmaxxing_trajectory_viewer / graphs /all_transitions_java_gemma.html
Aryarya's picture
build
4b4d08b
Raw
History Blame Contribute Delete
99.1 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Transition Probabilities — Merged Across Problems</title>
<script src="https://unpkg.com/cytoscape@3.29.2/dist/cytoscape.min.js"></script>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
background: #f8fafc; color: #1e293b; font-size: 13px; }
h1 { font-size: 1.3rem; font-weight: 700; }
.page-header { padding: 16px 28px 10px; border-bottom: 1px solid #e2e8f0;
background: white; display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.subtitle { font-size: 0.78rem; color: #64748b; }
.main { display: flex; gap: 12px; align-items: flex-start; padding: 14px 28px; }
.cy-wrap { flex: 1 1 auto; min-width: 0; border: 1px solid #e2e8f0; border-radius: 8px;
background: white; overflow: hidden; }
#cy { width: 100%; height: 700px; }
.detail-panel { flex: 0 0 360px; border: 1px solid #e2e8f0; border-radius: 8px;
background: white; padding: 12px; font-size: 0.75rem;
height: 700px; overflow-y: auto; }
.detail-placeholder { color: #94a3b8; font-style: italic; padding: 8px 0; }
.det-title { font-weight: 700; margin-bottom: 8px; font-size: 0.9rem;
display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.det-def { font-size: 0.72rem; color: #475569; margin-bottom: 8px; line-height: 1.45; }
.det-row { display: flex; gap: 6px; margin-bottom: 3px; align-items: baseline; }
.det-lbl { color: #64748b; min-width: 96px; flex-shrink: 0; font-size: 0.72rem; }
.det-val { color: #1e293b; font-family: monospace; font-size: 0.78rem; }
.state-chip { font-size: 0.74rem; font-weight: 700; color: white; padding: 2px 8px;
border-radius: 4px; white-space: nowrap; }
.det-sub { font-size: 0.68rem; font-weight: 700; color: #64748b; margin: 10px 0 5px;
text-transform: uppercase; }
/* breakdown bars */
.bd-row { margin-bottom: 10px; }
.bd-head { display: flex; justify-content: space-between; font-size: 0.72rem;
gap: 6px; margin-bottom: 3px; align-items: flex-start; }
.bd-lbl { font-weight: 600; flex: 1 1 auto; min-width: 0;
display: flex; flex-wrap: wrap; gap: 2px; align-items: center; }
.bd-num { font-family: monospace; color: #475569; flex-shrink: 0; }
.bd-bar { height: 8px; border-radius: 4px; background: #eef2f7; overflow: hidden; }
.bd-fill { height: 100%; border-radius: 4px; }
.bd-ex { font-size: 0.64rem; font-family: ui-monospace, monospace; color: #64748b;
padding: 2px 0 2px 6px; border-left: 2px solid #eef2f7; margin-top: 2px;
white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kind-pill { display: inline-block; font-size: 0.62rem; padding: 1px 6px; border-radius: 3px;
font-family: ui-monospace, monospace; font-weight: 600; line-height: 1.4; }
.kind-arrow { display: inline-block; color: #94a3b8; font-size: 0.7rem; margin: 0 1px; }
/* gap label distribution bars */
.lbl-row { margin-bottom: 7px; }
.lbl-head { display: flex; justify-content: space-between; font-size: 0.72rem;
gap: 6px; margin-bottom: 3px; align-items: center; }
.lbl-pill { display: inline-block; font-size: 0.65rem; padding: 1px 7px; border-radius: 10px;
font-weight: 700; white-space: nowrap; }
.lbl-num { font-family: monospace; color: #475569; flex-shrink: 0; font-size: 0.7rem; }
.lbl-bar { height: 8px; border-radius: 4px; background: #eef2f7; overflow: hidden; }
.lbl-fill { height: 100%; border-radius: 4px; }
/* outgoing distribution list (node detail) */
.out-row { display: flex; align-items: center; gap: 6px; margin-bottom: 5px; }
.out-tgt { width: 96px; flex-shrink: 0; font-size: 0.72rem; font-weight: 600; }
.out-bar { flex: 1 1 auto; height: 10px; background: #eef2f7; border-radius: 5px; overflow: hidden; }
.out-fill{ height: 100%; border-radius: 5px; }
.out-num { width: 78px; flex-shrink: 0; text-align: right; font-family: monospace;
font-size: 0.72rem; color: #475569; }
/* NLP metric distribution bars */
.nlp-row { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; }
.nlp-lbl { width: 140px; flex-shrink: 0; font-size: 0.7rem; color: #374151; }
.nlp-bar { flex: 1 1 auto; height: 8px; background: #eef2f7; border-radius: 4px; overflow: hidden; }
.nlp-fill{ height: 100%; border-radius: 4px; background: #6366f1; }
.nlp-num { width: 44px; flex-shrink: 0; text-align: right; font-family: monospace;
font-size: 0.7rem; color: #475569; }
.nlp-chip { display: inline-block; font-size: 0.64rem; padding: 1px 6px; border-radius: 10px;
font-weight: 700; background: #eef2ff; color: #4338ca; margin: 1px; white-space: nowrap; }
.table-section { padding: 6px 28px 32px; }
.table-section h2 { font-size: 0.95rem; margin-bottom: 8px; }
table.verify { border-collapse: collapse; font-size: 0.74rem; }
table.verify th, table.verify td { border: 1px solid #e2e8f0; padding: 4px 9px; text-align: center; }
table.verify thead th { background: #f1f5f9; }
table.verify td.tr-name { text-align: left; font-weight: 700; font-family: monospace; }
table.verify td.tr-total { font-weight: 700; background: #f8fafc; font-family: monospace; }
table.verify td.tr-sum { font-weight: 700; color: #16a34a; font-family: monospace; }
</style>
</head>
<body>
<div class="page-header">
<h1>Transition Probabilities</h1>
<span class="subtitle">java · gemma · 100 problems merged · edge label = count · click a node or edge for details</span>
</div>
<div class="main">
<div class="cy-wrap"><div id="cy"></div></div>
<div class="detail-panel" id="detail">
<div class="detail-placeholder">Click a node or edge for details</div>
</div>
</div>
<div class="table-section">
<h2>Verification — outgoing probability per source state (sums to 100%)</h2>
<table class="verify">
<thead><tr><th class="tr-name" style="text-align:left">source</th><th>out total</th><th>Σ%</th>
<th style="text-align:left">→ targets</th></tr></thead>
<tbody><tr><td class="tr-name">start</td><td class="tr-total">100</td><td class="tr-sum">100%</td><td style="text-align:left">breakthrough <b>73.0%</b> <span style="color:#94a3b8">(73)</span> &nbsp; stuck <b>17.0%</b> <span style="color:#94a3b8">(17)</span> &nbsp; improved <b>10.0%</b> <span style="color:#94a3b8">(10)</span></td></tr><tr><td class="tr-name">improved</td><td class="tr-total">32</td><td class="tr-sum">100%</td><td style="text-align:left">stuck <b>53.1%</b> <span style="color:#94a3b8">(17)</span> &nbsp; end_limit <b>12.5%</b> <span style="color:#94a3b8">(4)</span> &nbsp; broke <b>9.4%</b> <span style="color:#94a3b8">(3)</span> &nbsp; improved <b>9.4%</b> <span style="color:#94a3b8">(3)</span> &nbsp; breakthrough <b>6.2%</b> <span style="color:#94a3b8">(2)</span> &nbsp; end_submit <b>3.1%</b> <span style="color:#94a3b8">(1)</span> &nbsp; churn <b>3.1%</b> <span style="color:#94a3b8">(1)</span> &nbsp; regressed <b>3.1%</b> <span style="color:#94a3b8">(1)</span></td></tr><tr><td class="tr-name">churn</td><td class="tr-total">3</td><td class="tr-sum">100%</td><td style="text-align:left">broke <b>33.3%</b> <span style="color:#94a3b8">(1)</span> &nbsp; churn <b>33.3%</b> <span style="color:#94a3b8">(1)</span> &nbsp; end_limit <b>33.3%</b> <span style="color:#94a3b8">(1)</span></td></tr><tr><td class="tr-name">stuck</td><td class="tr-total">94</td><td class="tr-sum">100%</td><td style="text-align:left">stuck <b>56.4%</b> <span style="color:#94a3b8">(53)</span> &nbsp; improved <b>14.9%</b> <span style="color:#94a3b8">(14)</span> &nbsp; breakthrough <b>8.5%</b> <span style="color:#94a3b8">(8)</span> &nbsp; end_limit <b>8.5%</b> <span style="color:#94a3b8">(8)</span> &nbsp; regressed <b>4.3%</b> <span style="color:#94a3b8">(4)</span> &nbsp; broke <b>3.2%</b> <span style="color:#94a3b8">(3)</span> &nbsp; end_submit <b>3.2%</b> <span style="color:#94a3b8">(3)</span> &nbsp; churn <b>1.1%</b> <span style="color:#94a3b8">(1)</span></td></tr><tr><td class="tr-name">breakthrough</td><td class="tr-total">86</td><td class="tr-sum">100%</td><td style="text-align:left">end_submit <b>52.3%</b> <span style="color:#94a3b8">(45)</span> &nbsp; stay <b>41.9%</b> <span style="color:#94a3b8">(36)</span> &nbsp; broke <b>3.5%</b> <span style="color:#94a3b8">(3)</span> &nbsp; end_limit <b>1.2%</b> <span style="color:#94a3b8">(1)</span> &nbsp; regressed <b>1.2%</b> <span style="color:#94a3b8">(1)</span></td></tr><tr><td class="tr-name">stay</td><td class="tr-total">79</td><td class="tr-sum">100%</td><td style="text-align:left">stay <b>54.4%</b> <span style="color:#94a3b8">(43)</span> &nbsp; end_submit <b>40.5%</b> <span style="color:#94a3b8">(32)</span> &nbsp; end_limit <b>3.8%</b> <span style="color:#94a3b8">(3)</span> &nbsp; broke <b>1.3%</b> <span style="color:#94a3b8">(1)</span></td></tr><tr><td class="tr-name">regressed</td><td class="tr-total">6</td><td class="tr-sum">100%</td><td style="text-align:left">broke <b>33.3%</b> <span style="color:#94a3b8">(2)</span> &nbsp; improved <b>16.7%</b> <span style="color:#94a3b8">(1)</span> &nbsp; end_limit <b>16.7%</b> <span style="color:#94a3b8">(1)</span> &nbsp; stuck <b>16.7%</b> <span style="color:#94a3b8">(1)</span> &nbsp; breakthrough <b>16.7%</b> <span style="color:#94a3b8">(1)</span></td></tr><tr><td class="tr-name">broke</td><td class="tr-total">13</td><td class="tr-sum">100%</td><td style="text-align:left">stuck <b>46.2%</b> <span style="color:#94a3b8">(6)</span> &nbsp; improved <b>30.8%</b> <span style="color:#94a3b8">(4)</span> &nbsp; breakthrough <b>15.4%</b> <span style="color:#94a3b8">(2)</span> &nbsp; end_limit <b>7.7%</b> <span style="color:#94a3b8">(1)</span></td></tr></tbody>
</table>
</div>
<div class="table-section">
<h2>Gap label distribution — for each label, which src→tgt edges carry it</h2>
<table class="verify">
<thead><tr><th class="tr-name" style="text-align:left">gap label</th><th>total</th>
<th style="text-align:left">src→tgt breakdown</th></tr></thead>
<tbody><tr><td class="tr-name">cosmetic_refactor</td><td class="tr-total">29</td><td style="text-align:left">breakthrough→stay <b>48.3%</b> <span style="color:#94a3b8">(14)</span> &nbsp; stay→stay <b>44.8%</b> <span style="color:#94a3b8">(13)</span> &nbsp; improved→stuck <b>3.4%</b> <span style="color:#94a3b8">(1)</span> &nbsp; breakthrough→regressed <b>3.4%</b> <span style="color:#94a3b8">(1)</span></td></tr><tr><td class="tr-name">debug_failure</td><td class="tr-total">17</td><td style="text-align:left">stuck→stuck <b>41.2%</b> <span style="color:#94a3b8">(7)</span> &nbsp; improved→stuck <b>17.6%</b> <span style="color:#94a3b8">(3)</span> &nbsp; broke→stuck <b>11.8%</b> <span style="color:#94a3b8">(2)</span> &nbsp; improved→end_limit <b>11.8%</b> <span style="color:#94a3b8">(2)</span> &nbsp; breakthrough→broke <b>5.9%</b> <span style="color:#94a3b8">(1)</span> &nbsp; stay→broke <b>5.9%</b> <span style="color:#94a3b8">(1)</span> &nbsp; stuck→churn <b>5.9%</b> <span style="color:#94a3b8">(1)</span></td></tr><tr><td class="tr-name">edge_case</td><td class="tr-total">7</td><td style="text-align:left">stay→stay <b>71.4%</b> <span style="color:#94a3b8">(5)</span> &nbsp; breakthrough→stay <b>28.6%</b> <span style="color:#94a3b8">(2)</span></td></tr><tr><td class="tr-name">execute_plan</td><td class="tr-total">2</td><td style="text-align:left">stuck→breakthrough <b>50.0%</b> <span style="color:#94a3b8">(1)</span> &nbsp; improved→stuck <b>50.0%</b> <span style="color:#94a3b8">(1)</span></td></tr><tr><td class="tr-name">explore</td><td class="tr-total">35</td><td style="text-align:left">stuck→stuck <b>48.6%</b> <span style="color:#94a3b8">(17)</span> &nbsp; start→stuck <b>25.7%</b> <span style="color:#94a3b8">(9)</span> &nbsp; improved→broke <b>8.6%</b> <span style="color:#94a3b8">(3)</span> &nbsp; broke→improved <b>5.7%</b> <span style="color:#94a3b8">(2)</span> &nbsp; start→improved <b>2.9%</b> <span style="color:#94a3b8">(1)</span> &nbsp; improved→stuck <b>2.9%</b> <span style="color:#94a3b8">(1)</span> &nbsp; broke→stuck <b>2.9%</b> <span style="color:#94a3b8">(1)</span> &nbsp; improved→end_limit <b>2.9%</b> <span style="color:#94a3b8">(1)</span></td></tr><tr><td class="tr-name">fix_bug</td><td class="tr-total">33</td><td style="text-align:left">stuck→stuck <b>18.2%</b> <span style="color:#94a3b8">(6)</span> &nbsp; stuck→improved <b>18.2%</b> <span style="color:#94a3b8">(6)</span> &nbsp; stay→stay <b>15.2%</b> <span style="color:#94a3b8">(5)</span> &nbsp; stuck→breakthrough <b>12.1%</b> <span style="color:#94a3b8">(4)</span> &nbsp; breakthrough→stay <b>12.1%</b> <span style="color:#94a3b8">(4)</span> &nbsp; improved→stuck <b>6.1%</b> <span style="color:#94a3b8">(2)</span> &nbsp; improved→breakthrough <b>6.1%</b> <span style="color:#94a3b8">(2)</span> &nbsp; broke→breakthrough <b>3.0%</b> <span style="color:#94a3b8">(1)</span> &nbsp; stuck→regressed <b>3.0%</b> <span style="color:#94a3b8">(1)</span> &nbsp; regressed→improved <b>3.0%</b> <span style="color:#94a3b8">(1)</span> &nbsp; regressed→breakthrough <b>3.0%</b> <span style="color:#94a3b8">(1)</span></td></tr><tr><td class="tr-name">implement</td><td class="tr-total">129</td><td style="text-align:left">start→breakthrough <b>56.6%</b> <span style="color:#94a3b8">(73)</span> &nbsp; stuck→stuck <b>8.5%</b> <span style="color:#94a3b8">(11)</span> &nbsp; start→improved <b>6.2%</b> <span style="color:#94a3b8">(8)</span> &nbsp; start→stuck <b>6.2%</b> <span style="color:#94a3b8">(8)</span> &nbsp; breakthrough→stay <b>4.7%</b> <span style="color:#94a3b8">(6)</span> &nbsp; improved→stuck <b>3.1%</b> <span style="color:#94a3b8">(4)</span> &nbsp; stuck→improved <b>3.1%</b> <span style="color:#94a3b8">(4)</span> &nbsp; stuck→breakthrough <b>2.3%</b> <span style="color:#94a3b8">(3)</span> &nbsp; improved→improved <b>2.3%</b> <span style="color:#94a3b8">(3)</span> &nbsp; stay→stay <b>1.6%</b> <span style="color:#94a3b8">(2)</span> &nbsp; stuck→broke <b>1.6%</b> <span style="color:#94a3b8">(2)</span> &nbsp; broke→stuck <b>0.8%</b> <span style="color:#94a3b8">(1)</span> &nbsp; breakthrough→broke <b>0.8%</b> <span style="color:#94a3b8">(1)</span> &nbsp; broke→breakthrough <b>0.8%</b> <span style="color:#94a3b8">(1)</span> &nbsp; stuck→regressed <b>0.8%</b> <span style="color:#94a3b8">(1)</span> &nbsp; improved→regressed <b>0.8%</b> <span style="color:#94a3b8">(1)</span></td></tr><tr><td class="tr-name">infra_confusion</td><td class="tr-total">5</td><td style="text-align:left">improved→stuck <b>60.0%</b> <span style="color:#94a3b8">(3)</span> &nbsp; start→improved <b>20.0%</b> <span style="color:#94a3b8">(1)</span> &nbsp; stuck→stuck <b>20.0%</b> <span style="color:#94a3b8">(1)</span></td></tr><tr><td class="tr-name">optimize_perf</td><td class="tr-total">18</td><td style="text-align:left">breakthrough→stay <b>38.9%</b> <span style="color:#94a3b8">(7)</span> &nbsp; stay→stay <b>33.3%</b> <span style="color:#94a3b8">(6)</span> &nbsp; stuck→stuck <b>11.1%</b> <span style="color:#94a3b8">(2)</span> &nbsp; improved→stuck <b>5.6%</b> <span style="color:#94a3b8">(1)</span> &nbsp; regressed→end_limit <b>5.6%</b> <span style="color:#94a3b8">(1)</span> &nbsp; regressed→stuck <b>5.6%</b> <span style="color:#94a3b8">(1)</span></td></tr><tr><td class="tr-name">revert</td><td class="tr-total">2</td><td style="text-align:left">stay→stay <b>100.0%</b> <span style="color:#94a3b8">(2)</span></td></tr><tr><td class="tr-name">rewrite</td><td class="tr-total">27</td><td style="text-align:left">stuck→stuck <b>33.3%</b> <span style="color:#94a3b8">(9)</span> &nbsp; stuck→improved <b>14.8%</b> <span style="color:#94a3b8">(4)</span> &nbsp; broke→stuck <b>7.4%</b> <span style="color:#94a3b8">(2)</span> &nbsp; broke→improved <b>7.4%</b> <span style="color:#94a3b8">(2)</span> &nbsp; stuck→regressed <b>7.4%</b> <span style="color:#94a3b8">(2)</span> &nbsp; regressed→broke <b>7.4%</b> <span style="color:#94a3b8">(2)</span> &nbsp; improved→stuck <b>3.7%</b> <span style="color:#94a3b8">(1)</span> &nbsp; breakthrough→broke <b>3.7%</b> <span style="color:#94a3b8">(1)</span> &nbsp; stuck→broke <b>3.7%</b> <span style="color:#94a3b8">(1)</span> &nbsp; improved→churn <b>3.7%</b> <span style="color:#94a3b8">(1)</span> &nbsp; churn→broke <b>3.7%</b> <span style="color:#94a3b8">(1)</span> &nbsp; churn→churn <b>3.7%</b> <span style="color:#94a3b8">(1)</span></td></tr><tr><td class="tr-name">verify</td><td class="tr-total">109</td><td style="text-align:left">breakthrough→end_submit <b>40.4%</b> <span style="color:#94a3b8">(44)</span> &nbsp; stay→end_submit <b>29.4%</b> <span style="color:#94a3b8">(32)</span> &nbsp; stay→stay <b>9.2%</b> <span style="color:#94a3b8">(10)</span> &nbsp; stuck→end_limit <b>7.3%</b> <span style="color:#94a3b8">(8)</span> &nbsp; breakthrough→stay <b>2.8%</b> <span style="color:#94a3b8">(3)</span> &nbsp; stay→end_limit <b>2.8%</b> <span style="color:#94a3b8">(3)</span> &nbsp; stuck→end_submit <b>2.8%</b> <span style="color:#94a3b8">(3)</span> &nbsp; breakthrough→end_limit <b>1.8%</b> <span style="color:#94a3b8">(2)</span> &nbsp; improved→end_limit <b>1.8%</b> <span style="color:#94a3b8">(2)</span> &nbsp; broke→end_limit <b>0.9%</b> <span style="color:#94a3b8">(1)</span> &nbsp; churn→end_limit <b>0.9%</b> <span style="color:#94a3b8">(1)</span></td></tr></tbody>
</table>
</div>
<script>
const M = {"canvas": {"w": 760, "h": 760}, "nodes": [{"id": "start", "label": "▶", "state_type": "start", "color": "#9E9E9E", "definition": "Virtual starting state — before any solution.py was written.", "visits": 100, "out_total": 100, "nlp_out": {"m1_correctness": 76.0, "m1_efficiency": 37.0, "m2": 81.0, "m3_existing": 15.0, "m9": 10.0, "m4": 14.0, "m6": 23.0, "m7": 5.0, "m3_sample": 9.0, "m8_inline": 1.0}, "nlp_out_total": 100, "nlp_in": {}, "nlp_in_total": 0, "gap_out": {"implement": 89.0, "explore": 10.0, "infra_confusion": 1.0}, "gap_out_total": 100, "gap_in": {}, "gap_in_total": 0, "x": 80.0, "y": 380.0}, {"id": "improved", "label": "improved", "state_type": "improved", "color": "#2196F3", "definition": "Gained tests, lost none (but not yet all-pass).", "visits": 32, "out_total": 32, "nlp_out": {"m1_correctness": 78.1, "m1_efficiency": 40.6, "m2": 78.1, "m6": 37.5, "m9": 40.6, "m3_existing": 25.0, "m4": 21.9, "m3_sample": 34.4, "m7": 6.2, "m3_own": 3.1, "m8_python": 3.1}, "nlp_out_total": 32, "nlp_in": {"m1_correctness": 75.0, "m1_efficiency": 37.5, "m2": 90.6, "m3_existing": 31.2, "m9": 37.5, "m4": 37.5, "m6": 18.8, "m7": 6.2, "m3_sample": 34.4, "m8_inline": 3.1}, "nlp_in_total": 32, "gap_out": {"implement": 25.0, "explore": 15.6, "debug_failure": 15.6, "fix_bug": 12.5, "infra_confusion": 9.4, "rewrite": 6.2, "verify": 6.2, "cosmetic_refactor": 3.1, "optimize_perf": 3.1, "execute_plan": 3.1}, "gap_out_total": 32, "gap_in": {"implement": 46.9, "fix_bug": 21.9, "rewrite": 18.8, "explore": 9.4, "infra_confusion": 3.1}, "gap_in_total": 32, "x": 260.0, "y": 170.0}, {"id": "churn", "label": "churn", "state_type": "churn", "color": "#9C27B0", "definition": "Gained some tests AND lost others — mixed regression+improvement.", "visits": 3, "out_total": 3, "nlp_out": {"m1_correctness": 66.7, "m2": 66.7, "m4": 33.3, "m7": 33.3, "m1_efficiency": 33.3, "m3_sample": 33.3}, "nlp_out_total": 3, "nlp_in": {"m1_correctness": 66.7, "m1_efficiency": 66.7, "m2": 66.7, "m3_sample": 100.0, "m4": 33.3, "m9": 66.7}, "nlp_in_total": 3, "gap_out": {"rewrite": 66.7, "verify": 33.3}, "gap_out_total": 3, "gap_in": {"rewrite": 66.7, "debug_failure": 33.3}, "gap_in_total": 3, "x": 365.0, "y": 170.0}, {"id": "stuck", "label": "stuck", "state_type": "stuck", "color": "#FF9800", "definition": "Identical test tuple — no change from the previous snapshot.", "visits": 94, "out_total": 94, "nlp_out": {"m1_correctness": 60.6, "m2": 79.8, "m3_existing": 25.5, "m6": 12.8, "m9": 30.9, "m4": 35.1, "m1_efficiency": 26.6, "m3_sample": 26.6, "m8_lang": 1.1, "m7": 1.1, "m3_own": 2.1, "m8_python": 2.1}, "nlp_out_total": 94, "nlp_in": {"m1_correctness": 70.2, "m1_efficiency": 39.4, "m2": 86.2, "m6": 16.0, "m9": 34.0, "m3_existing": 19.1, "m4": 38.3, "m3_sample": 20.2, "m7": 3.2, "m3_own": 1.1, "m8_python": 2.1, "m8_lang": 1.1, "m8_inline": 1.1}, "nlp_in_total": 94, "gap_out": {"implement": 22.3, "fix_bug": 18.1, "explore": 18.1, "rewrite": 17.0, "verify": 11.7, "debug_failure": 8.5, "optimize_perf": 2.1, "execute_plan": 1.1, "infra_confusion": 1.1}, "gap_out_total": 94, "gap_in": {"explore": 29.8, "implement": 25.5, "debug_failure": 12.8, "rewrite": 12.8, "fix_bug": 8.5, "optimize_perf": 4.3, "infra_confusion": 4.3, "cosmetic_refactor": 1.1, "execute_plan": 1.1}, "gap_in_total": 94, "x": 260.0, "y": 380.0}, {"id": "breakthrough", "label": "breakthrough", "state_type": "breakthrough", "color": "#00BCD4", "definition": "Some failing → all passing.", "visits": 86, "out_total": 86, "nlp_out": {"m1_correctness": 83.7, "m1_efficiency": 54.7, "m2": 81.4, "m3_existing": 81.4, "m6": 58.1, "m7": 9.3, "m3_sample": 10.5, "m4": 8.1, "m3_own": 3.5, "m9": 2.3}, "nlp_out_total": 86, "nlp_in": {"m1_correctness": 73.3, "m2": 77.9, "m3_existing": 20.9, "m6": 27.9, "m3_sample": 14.0, "m4": 10.5, "m1_efficiency": 29.1, "m7": 3.5, "m9": 2.3}, "nlp_in_total": 86, "gap_out": {"verify": 57.0, "cosmetic_refactor": 17.4, "optimize_perf": 8.1, "implement": 8.1, "fix_bug": 4.7, "edge_case": 2.3, "debug_failure": 1.2, "rewrite": 1.2}, "gap_out_total": 86, "gap_in": {"implement": 89.5, "fix_bug": 9.3, "execute_plan": 1.2}, "gap_in_total": 86, "x": 260.0, "y": 590.0}, {"id": "stay", "label": "stay", "state_type": "stay", "color": "#4CAF50", "definition": "All-pass → all-pass (model rewrote a working solution).", "visits": 79, "out_total": 79, "nlp_out": {"m1_correctness": 87.3, "m1_efficiency": 74.7, "m2": 83.5, "m6": 81.0, "m7": 8.9, "m3_existing": 46.8, "m3_sample": 6.3, "m9": 3.8, "m3_own": 1.3, "m1_clarity": 1.3}, "nlp_out_total": 79, "nlp_in": {"m1_correctness": 91.1, "m1_efficiency": 81.0, "m2": 91.1, "m3_existing": 83.5, "m6": 82.3, "m7": 11.4, "m3_sample": 15.2, "m4": 5.1, "m3_own": 2.5, "m9": 5.1, "m1_clarity": 1.3}, "nlp_in_total": 79, "gap_out": {"verify": 57.0, "cosmetic_refactor": 16.5, "optimize_perf": 7.6, "edge_case": 6.3, "fix_bug": 6.3, "implement": 2.5, "revert": 2.5, "debug_failure": 1.3}, "gap_out_total": 79, "gap_in": {"cosmetic_refactor": 34.2, "optimize_perf": 16.5, "verify": 16.5, "fix_bug": 11.4, "implement": 10.1, "edge_case": 8.9, "revert": 2.5}, "gap_in_total": 79, "x": 470.0, "y": 590.0}, {"id": "regressed", "label": "regressed", "state_type": "regressed", "color": "#F44336", "definition": "Lost tests, gained none (but not all-fail).", "visits": 6, "out_total": 6, "nlp_out": {"m1_correctness": 83.3, "m2": 83.3, "m3_existing": 16.7, "m6": 33.3, "m1_efficiency": 66.7, "m4": 33.3, "m3_sample": 50.0, "m3_own": 16.7, "m8_python": 16.7, "m9": 16.7}, "nlp_out_total": 6, "nlp_in": {"m1_correctness": 83.3, "m2": 83.3, "m3_existing": 16.7, "m6": 50.0, "m1_efficiency": 66.7, "m3_sample": 83.3, "m3_own": 33.3, "m4": 16.7, "m8_python": 33.3, "m9": 33.3}, "nlp_in_total": 6, "gap_out": {"fix_bug": 33.3, "rewrite": 33.3, "optimize_perf": 33.3}, "gap_out_total": 6, "gap_in": {"rewrite": 33.3, "implement": 33.3, "fix_bug": 16.7, "cosmetic_refactor": 16.7}, "gap_in_total": 6, "x": 470.0, "y": 170.0}, {"id": "broke", "label": "broke", "state_type": "broke", "color": "#7B0000", "definition": "Had some passing → zero passing (or compile/runtime failure).", "visits": 13, "out_total": 13, "nlp_out": {"m1_correctness": 61.5, "m2": 69.2, "m4": 61.5, "m3_sample": 38.5, "m8_python": 7.7, "m8_inline": 7.7, "m9": 7.7, "m1_efficiency": 38.5, "m6": 7.7}, "nlp_out_total": 13, "nlp_in": {"m4": 69.2, "m1_correctness": 92.3, "m1_efficiency": 53.8, "m2": 92.3, "m6": 7.7, "m3_sample": 7.7, "m9": 7.7, "m7": 7.7}, "nlp_in_total": 13, "gap_out": {"rewrite": 30.8, "explore": 23.1, "implement": 15.4, "debug_failure": 15.4, "fix_bug": 7.7, "verify": 7.7}, "gap_out_total": 13, "gap_in": {"rewrite": 38.5, "implement": 23.1, "explore": 23.1, "debug_failure": 15.4}, "gap_in_total": 13, "x": 470.0, "y": 380.0}, {"id": "end_submit", "label": "SUBMIT", "state_type": "end_submit", "color": "#607D8B", "definition": "Model submitted itself (ran COMPLETE_TASK_AND_SUBMIT_FINAL_OUTPUT).", "visits": 81, "out_total": 0, "nlp_out": {}, "nlp_out_total": 0, "nlp_in": {"m1_correctness": 84.0, "m1_efficiency": 49.4, "m2": 77.8, "m6": 61.7, "m7": 7.4, "m3_existing": 50.6, "m3_sample": 3.7, "m9": 2.5, "m3_own": 2.5}, "nlp_in_total": 81, "gap_out": {}, "gap_out_total": 0, "gap_in": {"verify": 100.0}, "gap_in_total": 79, "x": 680.0, "y": 290.0}, {"id": "end_limit", "label": "LIMIT", "state_type": "end_limit", "color": "#455A64", "definition": "Model force-stopped at the turn limit / wall-clock timeout.", "visits": 19, "out_total": 0, "nlp_out": {}, "nlp_out_total": 0, "nlp_in": {"m1_correctness": 10.5, "m2": 10.5, "m3_sample": 10.5, "m9": 10.5, "m3_existing": 5.3, "m3_own": 5.3, "m8_python": 5.3}, "nlp_in_total": 19, "gap_out": {}, "gap_out_total": 0, "gap_in": {"verify": 81.0, "debug_failure": 9.5, "explore": 4.8, "optimize_perf": 4.8}, "gap_in_total": 21, "x": 680.0, "y": 470.0}], "edges": [{"id": "m0", "source": "start", "target": "improved", "color": "#9E9E9E", "count": 10, "out_pct": 10.0, "label": "10", "n_unique_chains": 2, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 9, "pct": 90.0, "examples": [{"problem": "gemma_4_26b_a4b_it/1883/1883_B", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc354/abc354_d", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc378/abc378_g", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc395/abc395_c", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc400/abc400_g", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/arc186/arc186_e", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/arc193/arc193_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_e", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/arc196/arc196_a", "snap_from": -1, "snap_to": 0}]}, {"chain": ["write_script", "write_script", "inline_script", "write_script", "inline_script", "write_script", "write_script", "write"], "label": "write helper script → write helper script → inline_script → write helper script → inline_script → write helper script → write helper script → write Solution.java", "count": 1, "pct": 10.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc186/arc186_b", "snap_from": -1, "snap_to": 0}]}], "label_dist": [{"label": "implement", "count": 8, "pct": 80.0}, {"label": "infra_confusion", "count": 1, "pct": 10.0}, {"label": "explore", "count": 1, "pct": 10.0}], "n_labeled": 10, "nlp_rates": {"m1_correctness": 80, "m1_efficiency": 50, "m2": 100, "m3_existing": 20, "m9": 40, "m4": 20, "m6": 20, "m7": 10, "m3_sample": 20, "m8_inline": 10}}, {"id": "m1", "source": "improved", "target": "stuck", "color": "#2196F3", "count": 17, "out_pct": 53.1, "label": "17", "n_unique_chains": 3, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 15, "pct": 88.2, "examples": [{"problem": "gemma_4_26b_a4b_it/1883/1883_B", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc337/abc337_e", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc354/abc354_d", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc378/abc378_g", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc388/abc388_f", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/abc389/abc389_g", "snap_from": 4, "snap_to": 5}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_g", "snap_from": 4, "snap_to": 5}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_g", "snap_from": 8, "snap_to": 9}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_g", "snap_from": 10, "snap_to": 11}, {"problem": "gemma_4_26b_a4b_it/abc400/abc400_g", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/arc184/arc184_d", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/arc192/arc192_b", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/arc193/arc193_a", "snap_from": 7, "snap_to": 8}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_a", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_e", "snap_from": 0, "snap_to": 1}]}, {"chain": ["test", "write"], "label": "run ./test.sh → write Solution.java", "count": 1, "pct": 5.9, "examples": [{"problem": "gemma_4_26b_a4b_it/abc395/abc395_c", "snap_from": 0, "snap_to": 1}]}, {"chain": ["write_script", "write_script", "write"], "label": "write helper script → write helper script → write Solution.java", "count": 1, "pct": 5.9, "examples": [{"problem": "gemma_4_26b_a4b_it/arc184/arc184_d", "snap_from": 6, "snap_to": 7}]}], "label_dist": [{"label": "implement", "count": 4, "pct": 23.5}, {"label": "infra_confusion", "count": 3, "pct": 17.6}, {"label": "debug_failure", "count": 3, "pct": 17.6}, {"label": "fix_bug", "count": 2, "pct": 11.8}, {"label": "explore", "count": 1, "pct": 5.9}, {"label": "cosmetic_refactor", "count": 1, "pct": 5.9}, {"label": "optimize_perf", "count": 1, "pct": 5.9}, {"label": "execute_plan", "count": 1, "pct": 5.9}, {"label": "rewrite", "count": 1, "pct": 5.9}], "n_labeled": 17, "nlp_rates": {"m1_correctness": 71, "m1_efficiency": 41, "m2": 71, "m6": 41, "m9": 47, "m3_existing": 35, "m4": 29, "m3_sample": 35, "m7": 12, "m3_own": 6, "m8_python": 6}}, {"id": "m2", "source": "stuck", "target": "stuck", "color": "#FF9800", "count": 53, "out_pct": 56.4, "label": "53", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 53, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/1883/1883_B", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc301/abc301_f", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc337/abc337_e", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc337/abc337_e", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/abc354/abc354_d", "snap_from": 5, "snap_to": 6}, {"problem": "gemma_4_26b_a4b_it/abc354/abc354_d", "snap_from": 6, "snap_to": 7}, {"problem": "gemma_4_26b_a4b_it/abc354/abc354_d", "snap_from": 7, "snap_to": 8}, {"problem": "gemma_4_26b_a4b_it/abc373/abc373_f", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc378/abc378_g", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc378/abc378_g", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc382/abc382_g", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc382/abc382_g", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc382/abc382_g", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc382/abc382_g", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/abc382/abc382_g", "snap_from": 4, "snap_to": 5}, {"problem": "gemma_4_26b_a4b_it/abc382/abc382_g", "snap_from": 5, "snap_to": 6}, {"problem": "gemma_4_26b_a4b_it/abc382/abc382_g", "snap_from": 6, "snap_to": 7}, {"problem": "gemma_4_26b_a4b_it/abc382/abc382_g", "snap_from": 7, "snap_to": 8}, {"problem": "gemma_4_26b_a4b_it/abc382/abc382_g", "snap_from": 8, "snap_to": 9}, {"problem": "gemma_4_26b_a4b_it/abc382/abc382_g", "snap_from": 9, "snap_to": 10}, {"problem": "gemma_4_26b_a4b_it/abc382/abc382_g", "snap_from": 10, "snap_to": 11}, {"problem": "gemma_4_26b_a4b_it/abc382/abc382_g", "snap_from": 11, "snap_to": 12}, {"problem": "gemma_4_26b_a4b_it/abc382/abc382_g", "snap_from": 12, "snap_to": 13}, {"problem": "gemma_4_26b_a4b_it/abc388/abc388_f", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc389/abc389_g", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc389/abc389_g", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc389/abc389_g", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc389/abc389_g", "snap_from": 5, "snap_to": 6}, {"problem": "gemma_4_26b_a4b_it/abc391/abc391_e", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_g", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_g", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_g", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_g", "snap_from": 5, "snap_to": 6}, {"problem": "gemma_4_26b_a4b_it/abc400/abc400_g", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc400/abc400_g", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/arc184/arc184_d", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/arc184/arc184_d", "snap_from": 7, "snap_to": 8}, {"problem": "gemma_4_26b_a4b_it/arc191/arc191_d", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/arc191/arc191_d", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/arc193/arc193_a", "snap_from": 2, "snap_to": 3}]}], "label_dist": [{"label": "explore", "count": 17, "pct": 32.1}, {"label": "implement", "count": 11, "pct": 20.8}, {"label": "rewrite", "count": 9, "pct": 17.0}, {"label": "debug_failure", "count": 7, "pct": 13.2}, {"label": "fix_bug", "count": 6, "pct": 11.3}, {"label": "optimize_perf", "count": 2, "pct": 3.8}, {"label": "infra_confusion", "count": 1, "pct": 1.9}], "n_labeled": 53, "nlp_rates": {"m1_correctness": 60, "m2": 89, "m3_existing": 23, "m6": 11, "m9": 36, "m4": 38, "m1_efficiency": 34, "m3_sample": 21, "m8_lang": 2}}, {"id": "m3", "source": "stuck", "target": "breakthrough", "color": "#FF9800", "count": 8, "out_pct": 8.5, "label": "8", "n_unique_chains": 2, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 7, "pct": 87.5, "examples": [{"problem": "gemma_4_26b_a4b_it/abc308/abc308_e", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc337/abc337_e", "snap_from": 4, "snap_to": 5}, {"problem": "gemma_4_26b_a4b_it/abc357/abc357_d", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc373/abc373_f", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/abc391/abc391_b", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc391/abc391_e", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_d", "snap_from": 3, "snap_to": 4}]}, {"chain": ["inspect", "write"], "label": "inspect test file → write Solution.java", "count": 1, "pct": 12.5, "examples": [{"problem": "gemma_4_26b_a4b_it/1883/1883_B", "snap_from": 2, "snap_to": 3}]}], "label_dist": [{"label": "fix_bug", "count": 4, "pct": 50.0}, {"label": "implement", "count": 3, "pct": 37.5}, {"label": "execute_plan", "count": 1, "pct": 12.5}], "n_labeled": 8, "nlp_rates": {"m1_correctness": 75, "m2": 88, "m3_existing": 38, "m6": 25, "m3_sample": 25, "m4": 25}}, {"id": "m4", "source": "breakthrough", "target": "stay", "color": "#00BCD4", "count": 36, "out_pct": 41.9, "label": "36", "n_unique_chains": 3, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 22, "pct": 61.1, "examples": [{"problem": "gemma_4_26b_a4b_it/1883/1883_B", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/abc308/abc308_e", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/abc308/abc308_e", "snap_from": 6, "snap_to": 7}, {"problem": "gemma_4_26b_a4b_it/abc310/abc310_f", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc325/abc325_b", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc329/abc329_b", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc334/abc334_c", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc337/abc337_e", "snap_from": 5, "snap_to": 6}, {"problem": "gemma_4_26b_a4b_it/abc341/abc341_d", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc354/abc354_a", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc357/abc357_d", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc359/abc359_c", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc359/abc359_d", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc381/abc381_d", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc381/abc381_e", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc383/abc383_c", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc385/abc385_e", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc393/abc393_e", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc397/abc397_e", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_d", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc400/abc400_d", "snap_from": 4, "snap_to": 5}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_d", "snap_from": 4, "snap_to": 5}]}, {"chain": ["test", "write"], "label": "run ./test.sh → write Solution.java", "count": 13, "pct": 36.1, "examples": [{"problem": "gemma_4_26b_a4b_it/abc308/abc308_d", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc324/abc324_d", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc326/abc326_b", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc333/abc333_c", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc351/abc351_a", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc356/abc356_d", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc365/abc365_d", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc373/abc373_f", "snap_from": 4, "snap_to": 5}, {"problem": "gemma_4_26b_a4b_it/abc388/abc388_e", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc390/abc390_e", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc392/abc392_c", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_b", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_e", "snap_from": 3, "snap_to": 4}]}, {"chain": ["test", "inspect", "inspect", "inspect", "inspect", "inspect", "wc", "write"], "label": "run ./test.sh → inspect test file → inspect test file → inspect test file → inspect test file → inspect test file → wc (output size) → write Solution.java", "count": 1, "pct": 2.8, "examples": [{"problem": "gemma_4_26b_a4b_it/abc392/abc392_b", "snap_from": 0, "snap_to": 1}]}], "label_dist": [{"label": "cosmetic_refactor", "count": 14, "pct": 38.9}, {"label": "optimize_perf", "count": 7, "pct": 19.4}, {"label": "implement", "count": 6, "pct": 16.7}, {"label": "fix_bug", "count": 4, "pct": 11.1}, {"label": "verify", "count": 3, "pct": 8.3}, {"label": "edge_case", "count": 2, "pct": 5.6}], "n_labeled": 36, "nlp_rates": {"m1_correctness": 89, "m1_efficiency": 75, "m2": 92, "m3_existing": 83, "m6": 72, "m7": 8, "m3_sample": 19, "m4": 11, "m3_own": 3, "m9": 3}}, {"id": "m5", "source": "stay", "target": "end_submit", "color": "#4CAF50", "count": 32, "out_pct": 40.5, "label": "32", "n_unique_chains": 1, "breakdown": [{"chain": ["submit"], "label": "submit", "count": 32, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/1883/1883_B", "snap_from": 4, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc308/abc308_d", "snap_from": 3, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc308/abc308_e", "snap_from": 7, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc310/abc310_f", "snap_from": 4, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc324/abc324_d", "snap_from": 2, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc325/abc325_b", "snap_from": 1, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc326/abc326_b", "snap_from": 1, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc329/abc329_b", "snap_from": 1, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc333/abc333_c", "snap_from": 2, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc334/abc334_c", "snap_from": 1, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc337/abc337_e", "snap_from": 6, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc341/abc341_d", "snap_from": 1, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc351/abc351_a", "snap_from": 3, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc354/abc354_a", "snap_from": 2, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc356/abc356_d", "snap_from": 2, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc357/abc357_d", "snap_from": 5, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc359/abc359_c", "snap_from": 3, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc359/abc359_d", "snap_from": 2, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc365/abc365_d", "snap_from": 1, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc373/abc373_f", "snap_from": 5, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc381/abc381_d", "snap_from": 6, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc381/abc381_e", "snap_from": 2, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc383/abc383_c", "snap_from": 4, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc388/abc388_e", "snap_from": 3, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc390/abc390_e", "snap_from": 1, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc392/abc392_c", "snap_from": 2, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc393/abc393_e", "snap_from": 2, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_d", "snap_from": 5, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc400/abc400_d", "snap_from": 5, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_b", "snap_from": 3, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_d", "snap_from": 7, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_e", "snap_from": 5, "snap_to": -1}]}], "label_dist": [{"label": "verify", "count": 32, "pct": 100.0}], "n_labeled": 32, "nlp_rates": {"m1_correctness": 88, "m1_efficiency": 66, "m2": 81, "m6": 75, "m7": 3, "m3_existing": 3}}, {"id": "m6", "source": "start", "target": "stuck", "color": "#9E9E9E", "count": 17, "out_pct": 17.0, "label": "17", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 17, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc301/abc301_f", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc337/abc337_e", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc357/abc357_d", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc359/abc359_c", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc382/abc382_g", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc388/abc388_f", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc389/abc389_g", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc391/abc391_b", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc391/abc391_e", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_g", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/arc184/arc184_d", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/arc191/arc191_d", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/arc192/arc192_b", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_d", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/arc195/arc195_d", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/arc196/arc196_d", "snap_from": -1, "snap_to": 0}]}], "label_dist": [{"label": "explore", "count": 9, "pct": 52.9}, {"label": "implement", "count": 8, "pct": 47.1}], "n_labeled": 17, "nlp_rates": {"m1_correctness": 94, "m2": 94, "m4": 35, "m9": 24, "m7": 6, "m1_efficiency": 47, "m6": 6}}, {"id": "m7", "source": "stuck", "target": "end_limit", "color": "#FF9800", "count": 8, "out_pct": 8.5, "label": "8", "n_unique_chains": 1, "breakdown": [{"chain": [], "label": "(no useful command)", "count": 8, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc301/abc301_f", "snap_from": 1, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc378/abc378_g", "snap_from": 3, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc382/abc382_g", "snap_from": 13, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc388/abc388_f", "snap_from": 4, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_g", "snap_from": 11, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/arc193/arc193_a", "snap_from": 10, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/arc195/arc195_d", "snap_from": 4, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/arc196/arc196_d", "snap_from": 2, "snap_to": -1}]}], "label_dist": [{"label": "verify", "count": 8, "pct": 100.0}], "n_labeled": 8, "nlp_rates": {}}, {"id": "m8", "source": "start", "target": "breakthrough", "color": "#9E9E9E", "count": 73, "out_pct": 73.0, "label": "73", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 73, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc302/abc302_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc302/abc302_c", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc303/abc303_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc305/abc305_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc305/abc305_b", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc308/abc308_d", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc308/abc308_e", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc310/abc310_b", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc310/abc310_f", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc311/abc311_d", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc312/abc312_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc312/abc312_d", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc313/abc313_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc315/abc315_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc318/abc318_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc319/abc319_b", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc322/abc322_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc324/abc324_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc324/abc324_d", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc325/abc325_b", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc326/abc326_b", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc329/abc329_b", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc330/abc330_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc332/abc332_c", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc333/abc333_b", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc333/abc333_c", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc334/abc334_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc334/abc334_c", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc335/abc335_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc336/abc336_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc340/abc340_c", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc341/abc341_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc341/abc341_d", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc342/abc342_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc344/abc344_d", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc345/abc345_d", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc351/abc351_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc354/abc354_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc355/abc355_a", "snap_from": -1, "snap_to": 0}, {"problem": "gemma_4_26b_a4b_it/abc356/abc356_d", "snap_from": -1, "snap_to": 0}]}], "label_dist": [{"label": "implement", "count": 73, "pct": 100.0}], "n_labeled": 73, "nlp_rates": {"m1_correctness": 71, "m2": 75, "m3_existing": 18, "m6": 27, "m1_efficiency": 33, "m3_sample": 10, "m4": 8, "m7": 4, "m9": 3}}, {"id": "m9", "source": "breakthrough", "target": "end_submit", "color": "#00BCD4", "count": 45, "out_pct": 52.3, "label": "45", "n_unique_chains": 3, "breakdown": [{"chain": ["test", "submit"], "label": "run ./test.sh → submit", "count": 35, "pct": 77.8, "examples": [{"problem": "gemma_4_26b_a4b_it/abc302/abc302_c", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc303/abc303_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc305/abc305_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc305/abc305_b", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc310/abc310_b", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc312/abc312_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc312/abc312_d", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc315/abc315_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc318/abc318_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc322/abc322_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc324/abc324_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc330/abc330_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc333/abc333_b", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc334/abc334_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc335/abc335_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc336/abc336_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc340/abc340_c", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc341/abc341_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc342/abc342_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc355/abc355_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc357/abc357_b", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc358/abc358_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc358/abc358_e", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc366/abc366_b", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc371/abc371_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc372/abc372_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc373/abc373_b", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc384/abc384_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc387/abc387_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc387/abc387_b", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc389/abc389_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc391/abc391_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc395/abc395_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc396/abc396_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc397/abc397_b", "snap_from": 0, "snap_to": -1}]}, {"chain": ["submit"], "label": "submit", "count": 9, "pct": 20.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc302/abc302_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc311/abc311_d", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc313/abc313_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc319/abc319_b", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc332/abc332_c", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc345/abc345_d", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc360/abc360_a", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc384/abc384_c", "snap_from": 0, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc391/abc391_b", "snap_from": 1, "snap_to": -1}]}, {"chain": ["test"], "label": "run ./test.sh", "count": 1, "pct": 2.2, "examples": [{"problem": "gemma_4_26b_a4b_it/abc344/abc344_d", "snap_from": 0, "snap_to": -1}]}], "label_dist": [{"label": "verify", "count": 44, "pct": 100.0}], "n_labeled": 44, "nlp_rates": {"m1_correctness": 82, "m2": 76, "m6": 53, "m1_efficiency": 38, "m3_existing": 87, "m7": 11, "m3_sample": 2, "m9": 2, "m3_own": 4}}, {"id": "m10", "source": "stay", "target": "stay", "color": "#4CAF50", "count": 43, "out_pct": 54.4, "label": "43", "n_unique_chains": 4, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 38, "pct": 88.4, "examples": [{"problem": "gemma_4_26b_a4b_it/abc308/abc308_d", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc310/abc310_f", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc310/abc310_f", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc310/abc310_f", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/abc324/abc324_d", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc333/abc333_c", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc351/abc351_a", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc351/abc351_a", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc354/abc354_a", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc356/abc356_d", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc357/abc357_d", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/abc357/abc357_d", "snap_from": 4, "snap_to": 5}, {"problem": "gemma_4_26b_a4b_it/abc359/abc359_d", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc381/abc381_d", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc381/abc381_d", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc381/abc381_d", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/abc381/abc381_d", "snap_from": 4, "snap_to": 5}, {"problem": "gemma_4_26b_a4b_it/abc381/abc381_d", "snap_from": 5, "snap_to": 6}, {"problem": "gemma_4_26b_a4b_it/abc381/abc381_e", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc383/abc383_c", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc383/abc383_c", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc383/abc383_c", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/abc385/abc385_e", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc388/abc388_e", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc388/abc388_e", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc392/abc392_b", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/abc392/abc392_c", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc393/abc393_e", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc397/abc397_e", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc397/abc397_e", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_d", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_d", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_d", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_b", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_b", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_d", "snap_from": 5, "snap_to": 6}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_d", "snap_from": 6, "snap_to": 7}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_e", "snap_from": 4, "snap_to": 5}]}, {"chain": ["test", "write"], "label": "run ./test.sh → write Solution.java", "count": 3, "pct": 7.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc308/abc308_d", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc357/abc357_d", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_d", "snap_from": 4, "snap_to": 5}]}, {"chain": ["inspect", "inspect", "inspect", "inspect", "write"], "label": "inspect test file → inspect test file → inspect test file → inspect test file → write Solution.java", "count": 1, "pct": 2.3, "examples": [{"problem": "gemma_4_26b_a4b_it/abc392/abc392_b", "snap_from": 1, "snap_to": 2}]}, {"chain": ["inspect", "write"], "label": "inspect test file → write Solution.java", "count": 1, "pct": 2.3, "examples": [{"problem": "gemma_4_26b_a4b_it/abc392/abc392_b", "snap_from": 2, "snap_to": 3}]}], "label_dist": [{"label": "cosmetic_refactor", "count": 13, "pct": 30.2}, {"label": "verify", "count": 10, "pct": 23.3}, {"label": "optimize_perf", "count": 6, "pct": 14.0}, {"label": "edge_case", "count": 5, "pct": 11.6}, {"label": "fix_bug", "count": 5, "pct": 11.6}, {"label": "implement", "count": 2, "pct": 4.7}, {"label": "revert", "count": 2, "pct": 4.7}], "n_labeled": 43, "nlp_rates": {"m1_correctness": 93, "m1_efficiency": 86, "m2": 91, "m3_existing": 84, "m6": 91, "m7": 14, "m3_sample": 12, "m9": 7, "m3_own": 2, "m1_clarity": 2}}, {"id": "m11", "source": "breakthrough", "target": "broke", "color": "#00BCD4", "count": 3, "out_pct": 3.5, "label": "3", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 3, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc308/abc308_e", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc373/abc373_f", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc400/abc400_d", "snap_from": 0, "snap_to": 1}]}], "label_dist": [{"label": "debug_failure", "count": 1, "pct": 33.3}, {"label": "rewrite", "count": 1, "pct": 33.3}, {"label": "implement", "count": 1, "pct": 33.3}], "n_labeled": 3, "nlp_rates": {"m4": 100, "m1_correctness": 67, "m1_efficiency": 67, "m2": 67}}, {"id": "m12", "source": "broke", "target": "stuck", "color": "#7B0000", "count": 6, "out_pct": 46.2, "label": "6", "n_unique_chains": 2, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 5, "pct": 83.3, "examples": [{"problem": "gemma_4_26b_a4b_it/abc308/abc308_e", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc373/abc373_f", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc400/abc400_d", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/arc193/arc193_a", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/arc193/arc193_a", "snap_from": 9, "snap_to": 10}]}, {"chain": ["write_script", "write"], "label": "write helper script → write Solution.java", "count": 1, "pct": 16.7, "examples": [{"problem": "gemma_4_26b_a4b_it/abc354/abc354_d", "snap_from": 4, "snap_to": 5}]}], "label_dist": [{"label": "debug_failure", "count": 2, "pct": 33.3}, {"label": "rewrite", "count": 2, "pct": 33.3}, {"label": "implement", "count": 1, "pct": 16.7}, {"label": "explore", "count": 1, "pct": 16.7}], "n_labeled": 6, "nlp_rates": {"m1_correctness": 83, "m2": 83, "m4": 83, "m3_sample": 17, "m8_python": 17, "m8_inline": 17, "m9": 17, "m1_efficiency": 50}}, {"id": "m13", "source": "stay", "target": "broke", "color": "#4CAF50", "count": 1, "out_pct": 1.3, "label": "1", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 1, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc308/abc308_e", "snap_from": 4, "snap_to": 5}]}], "label_dist": [{"label": "debug_failure", "count": 1, "pct": 100.0}], "n_labeled": 1, "nlp_rates": {"m1_correctness": 100, "m1_efficiency": 100, "m2": 100, "m6": 100}}, {"id": "m14", "source": "broke", "target": "breakthrough", "color": "#7B0000", "count": 2, "out_pct": 15.4, "label": "2", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 2, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc308/abc308_e", "snap_from": 5, "snap_to": 6}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_e", "snap_from": 2, "snap_to": 3}]}], "label_dist": [{"label": "fix_bug", "count": 1, "pct": 50.0}, {"label": "implement", "count": 1, "pct": 50.0}], "n_labeled": 2, "nlp_rates": {"m1_correctness": 100, "m2": 100, "m3_sample": 100, "m4": 50}}, {"id": "m15", "source": "stuck", "target": "improved", "color": "#FF9800", "count": 14, "out_pct": 14.9, "label": "14", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 14, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc337/abc337_e", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc354/abc354_d", "snap_from": 8, "snap_to": 9}, {"problem": "gemma_4_26b_a4b_it/abc359/abc359_c", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/abc388/abc388_f", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc389/abc389_g", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_g", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/abc398/abc398_g", "snap_from": 9, "snap_to": 10}, {"problem": "gemma_4_26b_a4b_it/abc400/abc400_d", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/abc400/abc400_g", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/arc184/arc184_d", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/arc191/arc191_d", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/arc192/arc192_b", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/arc193/arc193_a", "snap_from": 6, "snap_to": 7}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_a", "snap_from": 1, "snap_to": 2}]}], "label_dist": [{"label": "fix_bug", "count": 6, "pct": 42.9}, {"label": "implement", "count": 4, "pct": 28.6}, {"label": "rewrite", "count": 4, "pct": 28.6}], "n_labeled": 14, "nlp_rates": {"m1_correctness": 79, "m2": 93, "m3_existing": 50, "m9": 43, "m3_sample": 36, "m4": 57, "m1_efficiency": 21, "m6": 7, "m7": 7}}, {"id": "m16", "source": "improved", "target": "broke", "color": "#2196F3", "count": 3, "out_pct": 9.4, "label": "3", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 3, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc354/abc354_d", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/arc186/arc186_e", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/arc193/arc193_a", "snap_from": 0, "snap_to": 1}]}], "label_dist": [{"label": "explore", "count": 3, "pct": 100.0}], "n_labeled": 3, "nlp_rates": {"m1_correctness": 100, "m2": 100, "m1_efficiency": 33, "m4": 33}}, {"id": "m17", "source": "broke", "target": "improved", "color": "#7B0000", "count": 4, "out_pct": 30.8, "label": "4", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 4, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc354/abc354_d", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/arc184/arc184_d", "snap_from": 5, "snap_to": 6}, {"problem": "gemma_4_26b_a4b_it/arc191/arc191_d", "snap_from": 5, "snap_to": 6}, {"problem": "gemma_4_26b_a4b_it/arc191/arc191_d", "snap_from": 12, "snap_to": 13}]}], "label_dist": [{"label": "explore", "count": 2, "pct": 50.0}, {"label": "rewrite", "count": 2, "pct": 50.0}], "n_labeled": 4, "nlp_rates": {"m4": 50, "m3_sample": 50, "m1_efficiency": 50, "m2": 50, "m6": 25, "m1_correctness": 25}}, {"id": "m18", "source": "stuck", "target": "broke", "color": "#FF9800", "count": 3, "out_pct": 3.2, "label": "3", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 3, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc354/abc354_d", "snap_from": 3, "snap_to": 4}, {"problem": "gemma_4_26b_a4b_it/arc193/arc193_a", "snap_from": 8, "snap_to": 9}, {"problem": "gemma_4_26b_a4b_it/arc194/arc194_e", "snap_from": 1, "snap_to": 2}]}], "label_dist": [{"label": "implement", "count": 2, "pct": 66.7}, {"label": "rewrite", "count": 1, "pct": 33.3}], "n_labeled": 3, "nlp_rates": {"m1_correctness": 100, "m2": 100, "m3_sample": 33, "m4": 67, "m9": 33, "m1_efficiency": 33}}, {"id": "m19", "source": "improved", "target": "end_limit", "color": "#2196F3", "count": 4, "out_pct": 12.5, "label": "4", "n_unique_chains": 3, "breakdown": [{"chain": [], "label": "(no useful command)", "count": 2, "pct": 50.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc191/arc191_d", "snap_from": 13, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/arc196/arc196_a", "snap_from": 1, "snap_to": -1}]}, {"chain": ["write_script"], "label": "write helper script", "count": 1, "pct": 25.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc354/abc354_d", "snap_from": 9, "snap_to": -1}]}, {"chain": ["write_script", "write_script"], "label": "write helper script → write helper script", "count": 1, "pct": 25.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc186/arc186_b", "snap_from": 0, "snap_to": -1}]}], "label_dist": [{"label": "debug_failure", "count": 2, "pct": 40.0}, {"label": "verify", "count": 2, "pct": 40.0}, {"label": "explore", "count": 1, "pct": 20.0}], "n_labeled": 5, "nlp_rates": {"m1_correctness": 50, "m2": 50, "m3_sample": 25, "m9": 25}}, {"id": "m20", "source": "improved", "target": "breakthrough", "color": "#2196F3", "count": 2, "out_pct": 6.2, "label": "2", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 2, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc359/abc359_c", "snap_from": 1, "snap_to": 2}, {"problem": "gemma_4_26b_a4b_it/abc400/abc400_d", "snap_from": 3, "snap_to": 4}]}], "label_dist": [{"label": "fix_bug", "count": 2, "pct": 100.0}], "n_labeled": 2, "nlp_rates": {"m1_correctness": 100, "m2": 100, "m3_existing": 100, "m6": 100}}, {"id": "m21", "source": "stay", "target": "end_limit", "color": "#4CAF50", "count": 3, "out_pct": 3.8, "label": "3", "n_unique_chains": 1, "breakdown": [{"chain": [], "label": "(no useful command)", "count": 3, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc385/abc385_e", "snap_from": 2, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc392/abc392_b", "snap_from": 4, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/abc397/abc397_e", "snap_from": 3, "snap_to": -1}]}], "label_dist": [{"label": "verify", "count": 3, "pct": 100.0}], "n_labeled": 3, "nlp_rates": {}}, {"id": "m22", "source": "improved", "target": "improved", "color": "#2196F3", "count": 3, "out_pct": 9.4, "label": "3", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 3, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc388/abc388_f", "snap_from": 2, "snap_to": 3}, {"problem": "gemma_4_26b_a4b_it/arc186/arc186_e", "snap_from": 0, "snap_to": 1}, {"problem": "gemma_4_26b_a4b_it/arc196/arc196_a", "snap_from": 0, "snap_to": 1}]}], "label_dist": [{"label": "implement", "count": 3, "pct": 100.0}], "n_labeled": 3, "nlp_rates": {"m1_correctness": 100, "m1_efficiency": 67, "m2": 100, "m3_sample": 67, "m6": 33, "m9": 67}}, {"id": "m23", "source": "stuck", "target": "end_submit", "color": "#FF9800", "count": 3, "out_pct": 3.2, "label": "3", "n_unique_chains": 2, "breakdown": [{"chain": ["submit"], "label": "submit", "count": 2, "pct": 66.7, "examples": [{"problem": "gemma_4_26b_a4b_it/abc395/abc395_c", "snap_from": 1, "snap_to": -1}, {"problem": "gemma_4_26b_a4b_it/arc192/arc192_b", "snap_from": 2, "snap_to": -1}]}, {"chain": ["test", "submit"], "label": "run ./test.sh → submit", "count": 1, "pct": 33.3, "examples": [{"problem": "gemma_4_26b_a4b_it/abc389/abc389_g", "snap_from": 6, "snap_to": -1}]}], "label_dist": [{"label": "verify", "count": 3, "pct": 100.0}], "n_labeled": 3, "nlp_rates": {"m1_correctness": 67, "m3_existing": 33, "m3_sample": 67, "m2": 67, "m1_efficiency": 33, "m6": 33}}, {"id": "m24", "source": "breakthrough", "target": "end_limit", "color": "#00BCD4", "count": 1, "out_pct": 1.2, "label": "1", "n_unique_chains": 1, "breakdown": [{"chain": ["test"], "label": "run ./test.sh", "count": 1, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc391/abc391_e", "snap_from": 2, "snap_to": -1}]}], "label_dist": [{"label": "verify", "count": 2, "pct": 100.0}], "n_labeled": 2, "nlp_rates": {"m3_existing": 100}}, {"id": "m25", "source": "stuck", "target": "regressed", "color": "#FF9800", "count": 4, "out_pct": 4.3, "label": "4", "n_unique_chains": 3, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 2, "pct": 50.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc398/abc398_g", "snap_from": 6, "snap_to": 7}, {"problem": "gemma_4_26b_a4b_it/arc191/arc191_d", "snap_from": 8, "snap_to": 9}]}, {"chain": ["write_script", "write"], "label": "write helper script → write Solution.java", "count": 1, "pct": 25.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc184/arc184_d", "snap_from": 3, "snap_to": 4}]}, {"chain": ["write_script", "write_script", "write"], "label": "write helper script → write helper script → write Solution.java", "count": 1, "pct": 25.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc184/arc184_d", "snap_from": 8, "snap_to": 9}]}], "label_dist": [{"label": "rewrite", "count": 2, "pct": 50.0}, {"label": "fix_bug", "count": 1, "pct": 25.0}, {"label": "implement", "count": 1, "pct": 25.0}], "n_labeled": 4, "nlp_rates": {"m1_correctness": 75, "m2": 75, "m3_existing": 25, "m6": 50, "m1_efficiency": 50, "m3_sample": 75, "m3_own": 50, "m4": 25, "m8_python": 50, "m9": 50}}, {"id": "m26", "source": "regressed", "target": "improved", "color": "#F44336", "count": 1, "out_pct": 16.7, "label": "1", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 1, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc398/abc398_g", "snap_from": 7, "snap_to": 8}]}], "label_dist": [{"label": "fix_bug", "count": 1, "pct": 100.0}], "n_labeled": 1, "nlp_rates": {"m1_correctness": 100, "m2": 100, "m3_existing": 100, "m6": 100}}, {"id": "m27", "source": "improved", "target": "end_submit", "color": "#2196F3", "count": 1, "out_pct": 3.1, "label": "1", "n_unique_chains": 1, "breakdown": [{"chain": [], "label": "(no useful command)", "count": 1, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/abc400/abc400_g", "snap_from": 4, "snap_to": -1}]}], "label_dist": [], "n_labeled": 0, "nlp_rates": {"m1_correctness": 100, "m1_efficiency": 100, "m2": 100, "m6": 100, "m9": 100}}, {"id": "m28", "source": "regressed", "target": "broke", "color": "#F44336", "count": 2, "out_pct": 33.3, "label": "2", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 2, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc184/arc184_d", "snap_from": 4, "snap_to": 5}, {"problem": "gemma_4_26b_a4b_it/arc191/arc191_d", "snap_from": 11, "snap_to": 12}]}], "label_dist": [{"label": "rewrite", "count": 2, "pct": 100.0}], "n_labeled": 2, "nlp_rates": {"m1_correctness": 100, "m1_efficiency": 100, "m2": 100, "m4": 100}}, {"id": "m29", "source": "regressed", "target": "end_limit", "color": "#F44336", "count": 1, "out_pct": 16.7, "label": "1", "n_unique_chains": 1, "breakdown": [{"chain": ["write_script"], "label": "write helper script", "count": 1, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc184/arc184_d", "snap_from": 9, "snap_to": -1}]}], "label_dist": [{"label": "optimize_perf", "count": 1, "pct": 100.0}], "n_labeled": 1, "nlp_rates": {"m3_sample": 100, "m3_own": 100, "m8_python": 100, "m9": 100}}, {"id": "m30", "source": "broke", "target": "end_limit", "color": "#7B0000", "count": 1, "out_pct": 7.7, "label": "1", "n_unique_chains": 1, "breakdown": [{"chain": [], "label": "(no useful command)", "count": 1, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc186/arc186_e", "snap_from": 2, "snap_to": -1}]}], "label_dist": [{"label": "verify", "count": 1, "pct": 100.0}], "n_labeled": 1, "nlp_rates": {}}, {"id": "m31", "source": "improved", "target": "churn", "color": "#2196F3", "count": 1, "out_pct": 3.1, "label": "1", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 1, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc191/arc191_d", "snap_from": 3, "snap_to": 4}]}], "label_dist": [{"label": "rewrite", "count": 1, "pct": 100.0}], "n_labeled": 1, "nlp_rates": {"m1_correctness": 100, "m1_efficiency": 100, "m2": 100, "m3_sample": 100, "m4": 100, "m9": 100}}, {"id": "m32", "source": "churn", "target": "broke", "color": "#9C27B0", "count": 1, "out_pct": 33.3, "label": "1", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 1, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc191/arc191_d", "snap_from": 4, "snap_to": 5}]}], "label_dist": [{"label": "rewrite", "count": 1, "pct": 100.0}], "n_labeled": 1, "nlp_rates": {"m1_correctness": 100, "m2": 100, "m4": 100, "m7": 100}}, {"id": "m33", "source": "improved", "target": "regressed", "color": "#2196F3", "count": 1, "out_pct": 3.1, "label": "1", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 1, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc191/arc191_d", "snap_from": 6, "snap_to": 7}]}], "label_dist": [{"label": "implement", "count": 1, "pct": 100.0}], "n_labeled": 1, "nlp_rates": {"m1_correctness": 100, "m1_efficiency": 100, "m2": 100, "m3_sample": 100, "m6": 100}}, {"id": "m34", "source": "regressed", "target": "stuck", "color": "#F44336", "count": 1, "out_pct": 16.7, "label": "1", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 1, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc191/arc191_d", "snap_from": 7, "snap_to": 8}]}], "label_dist": [{"label": "optimize_perf", "count": 1, "pct": 100.0}], "n_labeled": 1, "nlp_rates": {"m1_correctness": 100, "m1_efficiency": 100, "m2": 100, "m3_sample": 100, "m6": 100}}, {"id": "m35", "source": "regressed", "target": "breakthrough", "color": "#F44336", "count": 1, "out_pct": 16.7, "label": "1", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 1, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc191/arc191_d", "snap_from": 9, "snap_to": 10}]}], "label_dist": [{"label": "fix_bug", "count": 1, "pct": 100.0}], "n_labeled": 1, "nlp_rates": {"m1_correctness": 100, "m1_efficiency": 100, "m2": 100, "m3_sample": 100}}, {"id": "m36", "source": "breakthrough", "target": "regressed", "color": "#00BCD4", "count": 1, "out_pct": 1.2, "label": "1", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 1, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc191/arc191_d", "snap_from": 10, "snap_to": 11}]}], "label_dist": [{"label": "cosmetic_refactor", "count": 1, "pct": 100.0}], "n_labeled": 1, "nlp_rates": {"m1_correctness": 100, "m1_efficiency": 100, "m2": 100, "m3_sample": 100}}, {"id": "m37", "source": "stuck", "target": "churn", "color": "#FF9800", "count": 1, "out_pct": 1.1, "label": "1", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 1, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc194/arc194_a", "snap_from": 3, "snap_to": 4}]}], "label_dist": [{"label": "debug_failure", "count": 1, "pct": 100.0}], "n_labeled": 1, "nlp_rates": {"m3_sample": 100, "m9": 100}}, {"id": "m38", "source": "churn", "target": "churn", "color": "#9C27B0", "count": 1, "out_pct": 33.3, "label": "1", "n_unique_chains": 1, "breakdown": [{"chain": ["write"], "label": "write Solution.java", "count": 1, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc194/arc194_a", "snap_from": 4, "snap_to": 5}]}], "label_dist": [{"label": "rewrite", "count": 1, "pct": 100.0}], "n_labeled": 1, "nlp_rates": {"m1_correctness": 100, "m1_efficiency": 100, "m2": 100, "m3_sample": 100}}, {"id": "m39", "source": "churn", "target": "end_limit", "color": "#9C27B0", "count": 1, "out_pct": 33.3, "label": "1", "n_unique_chains": 1, "breakdown": [{"chain": [], "label": "(no useful command)", "count": 1, "pct": 100.0, "examples": [{"problem": "gemma_4_26b_a4b_it/arc194/arc194_a", "snap_from": 5, "snap_to": -1}]}], "label_dist": [{"label": "verify", "count": 1, "pct": 100.0}], "n_labeled": 1, "nlp_rates": {}}], "prob_rows": [{"src": "start", "total": 100, "outs": [{"tgt": "breakthrough", "count": 73, "pct": 73.0}, {"tgt": "stuck", "count": 17, "pct": 17.0}, {"tgt": "improved", "count": 10, "pct": 10.0}]}, {"src": "improved", "total": 32, "outs": [{"tgt": "stuck", "count": 17, "pct": 53.1}, {"tgt": "end_limit", "count": 4, "pct": 12.5}, {"tgt": "broke", "count": 3, "pct": 9.4}, {"tgt": "improved", "count": 3, "pct": 9.4}, {"tgt": "breakthrough", "count": 2, "pct": 6.2}, {"tgt": "end_submit", "count": 1, "pct": 3.1}, {"tgt": "churn", "count": 1, "pct": 3.1}, {"tgt": "regressed", "count": 1, "pct": 3.1}]}, {"src": "churn", "total": 3, "outs": [{"tgt": "broke", "count": 1, "pct": 33.3}, {"tgt": "churn", "count": 1, "pct": 33.3}, {"tgt": "end_limit", "count": 1, "pct": 33.3}]}, {"src": "stuck", "total": 94, "outs": [{"tgt": "stuck", "count": 53, "pct": 56.4}, {"tgt": "improved", "count": 14, "pct": 14.9}, {"tgt": "breakthrough", "count": 8, "pct": 8.5}, {"tgt": "end_limit", "count": 8, "pct": 8.5}, {"tgt": "regressed", "count": 4, "pct": 4.3}, {"tgt": "broke", "count": 3, "pct": 3.2}, {"tgt": "end_submit", "count": 3, "pct": 3.2}, {"tgt": "churn", "count": 1, "pct": 1.1}]}, {"src": "breakthrough", "total": 86, "outs": [{"tgt": "end_submit", "count": 45, "pct": 52.3}, {"tgt": "stay", "count": 36, "pct": 41.9}, {"tgt": "broke", "count": 3, "pct": 3.5}, {"tgt": "end_limit", "count": 1, "pct": 1.2}, {"tgt": "regressed", "count": 1, "pct": 1.2}]}, {"src": "stay", "total": 79, "outs": [{"tgt": "stay", "count": 43, "pct": 54.4}, {"tgt": "end_submit", "count": 32, "pct": 40.5}, {"tgt": "end_limit", "count": 3, "pct": 3.8}, {"tgt": "broke", "count": 1, "pct": 1.3}]}, {"src": "regressed", "total": 6, "outs": [{"tgt": "broke", "count": 2, "pct": 33.3}, {"tgt": "improved", "count": 1, "pct": 16.7}, {"tgt": "end_limit", "count": 1, "pct": 16.7}, {"tgt": "stuck", "count": 1, "pct": 16.7}, {"tgt": "breakthrough", "count": 1, "pct": 16.7}]}, {"src": "broke", "total": 13, "outs": [{"tgt": "stuck", "count": 6, "pct": 46.2}, {"tgt": "improved", "count": 4, "pct": 30.8}, {"tgt": "breakthrough", "count": 2, "pct": 15.4}, {"tgt": "end_limit", "count": 1, "pct": 7.7}]}], "label_rows": [{"label": "cosmetic_refactor", "total": 29, "edges": [{"src": "breakthrough", "tgt": "stay", "count": 14, "pct": 48.3}, {"src": "stay", "tgt": "stay", "count": 13, "pct": 44.8}, {"src": "improved", "tgt": "stuck", "count": 1, "pct": 3.4}, {"src": "breakthrough", "tgt": "regressed", "count": 1, "pct": 3.4}]}, {"label": "debug_failure", "total": 17, "edges": [{"src": "stuck", "tgt": "stuck", "count": 7, "pct": 41.2}, {"src": "improved", "tgt": "stuck", "count": 3, "pct": 17.6}, {"src": "broke", "tgt": "stuck", "count": 2, "pct": 11.8}, {"src": "improved", "tgt": "end_limit", "count": 2, "pct": 11.8}, {"src": "breakthrough", "tgt": "broke", "count": 1, "pct": 5.9}, {"src": "stay", "tgt": "broke", "count": 1, "pct": 5.9}, {"src": "stuck", "tgt": "churn", "count": 1, "pct": 5.9}]}, {"label": "edge_case", "total": 7, "edges": [{"src": "stay", "tgt": "stay", "count": 5, "pct": 71.4}, {"src": "breakthrough", "tgt": "stay", "count": 2, "pct": 28.6}]}, {"label": "execute_plan", "total": 2, "edges": [{"src": "stuck", "tgt": "breakthrough", "count": 1, "pct": 50.0}, {"src": "improved", "tgt": "stuck", "count": 1, "pct": 50.0}]}, {"label": "explore", "total": 35, "edges": [{"src": "stuck", "tgt": "stuck", "count": 17, "pct": 48.6}, {"src": "start", "tgt": "stuck", "count": 9, "pct": 25.7}, {"src": "improved", "tgt": "broke", "count": 3, "pct": 8.6}, {"src": "broke", "tgt": "improved", "count": 2, "pct": 5.7}, {"src": "start", "tgt": "improved", "count": 1, "pct": 2.9}, {"src": "improved", "tgt": "stuck", "count": 1, "pct": 2.9}, {"src": "broke", "tgt": "stuck", "count": 1, "pct": 2.9}, {"src": "improved", "tgt": "end_limit", "count": 1, "pct": 2.9}]}, {"label": "fix_bug", "total": 33, "edges": [{"src": "stuck", "tgt": "stuck", "count": 6, "pct": 18.2}, {"src": "stuck", "tgt": "improved", "count": 6, "pct": 18.2}, {"src": "stay", "tgt": "stay", "count": 5, "pct": 15.2}, {"src": "stuck", "tgt": "breakthrough", "count": 4, "pct": 12.1}, {"src": "breakthrough", "tgt": "stay", "count": 4, "pct": 12.1}, {"src": "improved", "tgt": "stuck", "count": 2, "pct": 6.1}, {"src": "improved", "tgt": "breakthrough", "count": 2, "pct": 6.1}, {"src": "broke", "tgt": "breakthrough", "count": 1, "pct": 3.0}, {"src": "stuck", "tgt": "regressed", "count": 1, "pct": 3.0}, {"src": "regressed", "tgt": "improved", "count": 1, "pct": 3.0}, {"src": "regressed", "tgt": "breakthrough", "count": 1, "pct": 3.0}]}, {"label": "implement", "total": 129, "edges": [{"src": "start", "tgt": "breakthrough", "count": 73, "pct": 56.6}, {"src": "stuck", "tgt": "stuck", "count": 11, "pct": 8.5}, {"src": "start", "tgt": "improved", "count": 8, "pct": 6.2}, {"src": "start", "tgt": "stuck", "count": 8, "pct": 6.2}, {"src": "breakthrough", "tgt": "stay", "count": 6, "pct": 4.7}, {"src": "improved", "tgt": "stuck", "count": 4, "pct": 3.1}, {"src": "stuck", "tgt": "improved", "count": 4, "pct": 3.1}, {"src": "stuck", "tgt": "breakthrough", "count": 3, "pct": 2.3}, {"src": "improved", "tgt": "improved", "count": 3, "pct": 2.3}, {"src": "stay", "tgt": "stay", "count": 2, "pct": 1.6}, {"src": "stuck", "tgt": "broke", "count": 2, "pct": 1.6}, {"src": "broke", "tgt": "stuck", "count": 1, "pct": 0.8}, {"src": "breakthrough", "tgt": "broke", "count": 1, "pct": 0.8}, {"src": "broke", "tgt": "breakthrough", "count": 1, "pct": 0.8}, {"src": "stuck", "tgt": "regressed", "count": 1, "pct": 0.8}, {"src": "improved", "tgt": "regressed", "count": 1, "pct": 0.8}]}, {"label": "infra_confusion", "total": 5, "edges": [{"src": "improved", "tgt": "stuck", "count": 3, "pct": 60.0}, {"src": "start", "tgt": "improved", "count": 1, "pct": 20.0}, {"src": "stuck", "tgt": "stuck", "count": 1, "pct": 20.0}]}, {"label": "optimize_perf", "total": 18, "edges": [{"src": "breakthrough", "tgt": "stay", "count": 7, "pct": 38.9}, {"src": "stay", "tgt": "stay", "count": 6, "pct": 33.3}, {"src": "stuck", "tgt": "stuck", "count": 2, "pct": 11.1}, {"src": "improved", "tgt": "stuck", "count": 1, "pct": 5.6}, {"src": "regressed", "tgt": "end_limit", "count": 1, "pct": 5.6}, {"src": "regressed", "tgt": "stuck", "count": 1, "pct": 5.6}]}, {"label": "revert", "total": 2, "edges": [{"src": "stay", "tgt": "stay", "count": 2, "pct": 100.0}]}, {"label": "rewrite", "total": 27, "edges": [{"src": "stuck", "tgt": "stuck", "count": 9, "pct": 33.3}, {"src": "stuck", "tgt": "improved", "count": 4, "pct": 14.8}, {"src": "broke", "tgt": "stuck", "count": 2, "pct": 7.4}, {"src": "broke", "tgt": "improved", "count": 2, "pct": 7.4}, {"src": "stuck", "tgt": "regressed", "count": 2, "pct": 7.4}, {"src": "regressed", "tgt": "broke", "count": 2, "pct": 7.4}, {"src": "improved", "tgt": "stuck", "count": 1, "pct": 3.7}, {"src": "breakthrough", "tgt": "broke", "count": 1, "pct": 3.7}, {"src": "stuck", "tgt": "broke", "count": 1, "pct": 3.7}, {"src": "improved", "tgt": "churn", "count": 1, "pct": 3.7}, {"src": "churn", "tgt": "broke", "count": 1, "pct": 3.7}, {"src": "churn", "tgt": "churn", "count": 1, "pct": 3.7}]}, {"label": "verify", "total": 109, "edges": [{"src": "breakthrough", "tgt": "end_submit", "count": 44, "pct": 40.4}, {"src": "stay", "tgt": "end_submit", "count": 32, "pct": 29.4}, {"src": "stay", "tgt": "stay", "count": 10, "pct": 9.2}, {"src": "stuck", "tgt": "end_limit", "count": 8, "pct": 7.3}, {"src": "breakthrough", "tgt": "stay", "count": 3, "pct": 2.8}, {"src": "stay", "tgt": "end_limit", "count": 3, "pct": 2.8}, {"src": "stuck", "tgt": "end_submit", "count": 3, "pct": 2.8}, {"src": "breakthrough", "tgt": "end_limit", "count": 2, "pct": 1.8}, {"src": "improved", "tgt": "end_limit", "count": 2, "pct": 1.8}, {"src": "broke", "tgt": "end_limit", "count": 1, "pct": 0.9}, {"src": "churn", "tgt": "end_limit", "count": 1, "pct": 0.9}]}], "n_problems": 100, "max_count": 73, "lang": "java", "model_scope": "gemma"};
function esc(s) {
return String(s).replace(/&/g,'&amp;').replace(/</g,'&lt;')
.replace(/>/g,'&gt;').replace(/"/g,'&quot;');
}
function snapLabel(idx) {
if (idx < 0) return idx === -1 ? 'end' : 'start';
return 'snap_' + String(idx).padStart(2,'0');
}
// Action-kind palette (text / background) — must mirror Python's KIND_COLOR.
const AKC = {
'write': ['#166534', '#dcfce7'],
'write_script': ['#7c3aed', '#f5f3ff'],
'run_sample': ['#0369a1', '#e0f2fe'],
'run_script': ['#0284c7', '#e0f2fe'],
'test': ['#b45309', '#fffbeb'],
'time': ['#ca8a04', '#fefce8'],
'inspect': ['#475569', '#f1f5f9'],
'wc': ['#64748b', '#f1f5f9'],
'diff': ['#64748b', '#f1f5f9'],
'submit': ['#dc2626', '#fef2f2'],
};
// Compact pill labels (chain display).
const KIND_SHORT = {
'write': 'cat > solution',
'write_script': 'cat > helper.py',
'run_sample': 'python3 solution.py',
'run_script': 'python3 script.py',
'test': './test.sh',
'time': 'time solution.py',
'inspect': 'cat tests/',
'wc': 'wc',
'diff': 'diff',
'submit': 'echo COMPLETE_TASK',
};
// Gap label palette [text, background] — covers both old and new taxonomy labels
const LABEL_COLORS = {
// new taxonomy
'fix_bug': ['#166534', '#dcfce7'],
'debug_failure': ['#dc2626', '#fef2f2'],
'implement': ['#1d4ed8', '#eff6ff'],
'rewrite': ['#7c3aed', '#f5f3ff'],
'explore': ['#0891b2', '#ecfeff'],
'execute_plan': ['#0f766e', '#f0fdfa'],
'revert': ['#6b7280', '#f9fafb'],
'verify': ['#334155', '#f1f5f9'],
'edge_case': ['#65a30d', '#f7fee7'],
'optimize_perf': ['#6d28d9', '#f5f3ff'],
'cosmetic_refactor': ['#475569', '#f1f5f9'],
'infra_confusion': ['#ca8a04', '#fefce8'],
// old taxonomy (v1)
'initial_impl': ['#166534', '#dcfce7'],
'run_tests': ['#0369a1', '#e0f2fe'],
'fix_specific_failure':['#ea580c', '#fff7ed'],
'rethink_algorithm': ['#d97706', '#fffbeb'],
'complete_partial': ['#0891b2', '#ecfeff'],
'fix_crash': ['#b91c1c', '#fef2f2'],
'read_tests': ['#0284c7', '#f0f9ff'],
'attempt': ['#1d4ed8', '#eff6ff'],
};
function renderLabelDist(labelDist, nLabeled) {
if (!labelDist || !labelDist.length) return '';
let h = `<div class="det-sub">Gap label distribution (${nLabeled} labeled)</div>`;
labelDist.forEach(d => {
const [fg, bg] = LABEL_COLORS[d.label] || ['#374151', '#f9fafb'];
h += `<div class="lbl-row">`;
h += `<div class="lbl-head">`;
h += `<span class="lbl-pill" style="color:${fg};background:${bg}">${esc(d.label)}</span>`;
h += `<span class="lbl-num">${d.count} · ${d.pct}%</span></div>`;
h += `<div class="lbl-bar"><div class="lbl-fill" style="width:${d.pct}%;background:${fg}"></div></div>`;
h += `</div>`;
});
return h;
}
function renderGapDist(dist, total, title) {
if (!dist || !Object.keys(dist).length) return '';
const entries = Object.entries(dist).sort((a, b) => b[1] - a[1]);
let h = `<div class="det-sub">${esc(title)} (${total} labeled)</div>`;
entries.forEach(([lbl, pct]) => {
const [fg, bg] = LABEL_COLORS[lbl] || ['#374151', '#f9fafb'];
h += `<div class="lbl-row">`;
h += `<div class="lbl-head">`;
h += `<span class="lbl-pill" style="color:${fg};background:${bg}">${esc(lbl)}</span>`;
h += `<span class="lbl-num">${pct}%</span></div>`;
h += `<div class="lbl-bar"><div class="lbl-fill" style="width:${pct}%;background:${fg}"></div></div>`;
h += `</div>`;
});
return h;
}
const NLP_LABELS = {
'm1_correctness': 'M1 correctness',
'm1_efficiency': 'M1 efficiency',
'm1_clarity': 'M1 clarity',
'm2': 'M2 second-guess',
'm3_existing': 'M3 existing tests',
'm3_own': 'M3 own tests',
'm4': 'M4 # comment',
'm6': 'M6 code fence',
'm7': 'M7 edge case',
'm8_lang': 'M8a extra lang',
'm8_python': 'M8b extra .py',
'm9': 'M9 error turn',
};
const NLP_KEY_ORDER = ['m1_correctness','m1_efficiency','m1_clarity','m2',
'm3_existing','m3_own','m4','m6','m7','m8_lang','m8_python','m9'];
function renderNlpDist(rates, total, title) {
if (!rates || !Object.keys(rates).length) return '';
const entries = NLP_KEY_ORDER
.filter(k => (rates[k] || 0) > 0)
.map(k => [k, rates[k]]);
if (!entries.length) return '';
let h = `<div class="det-sub">${esc(title)} (${total} edges)</div>`;
entries.forEach(([k, pct]) => {
const lbl = NLP_LABELS[k] || k;
h += `<div class="nlp-row">`;
h += `<span class="nlp-lbl">${esc(lbl)}</span>`;
h += `<span class="nlp-bar"><span class="nlp-fill" style="width:${pct}%"></span></span>`;
h += `<span class="nlp-num">${pct}%</span></div>`;
});
return h;
}
function renderNlpRates(rates) {
if (!rates || !Object.keys(rates).length) return '';
const chips = NLP_KEY_ORDER
.filter(k => (rates[k] || 0) > 0)
.map(k => `<span class="nlp-chip">${esc(NLP_LABELS[k] || k)}: ${rates[k]}%</span>`)
.join('');
if (!chips) return '';
return `<div class="det-sub">NLP signals (% of traversals)</div><div style="margin-bottom:6px">${chips}</div>`;
}
function renderChain(chain) {
if (!chain || !chain.length)
return '<span class="kind-pill" style="color:#94a3b8;background:#f1f5f9">(no useful command)</span>';
return chain.map((k, i) => {
const [fg, bg] = AKC[k] || ['#374151', '#f9fafb'];
const lbl = KIND_SHORT[k] || k;
const arrow = i > 0 ? '<span class="kind-arrow">→</span>' : '';
return arrow + `<span class="kind-pill" style="color:${fg};background:${bg}">${esc(lbl)}</span>`;
}).join('');
}
function showEdgeDetail(panel, ed) {
const sc = (M.nodes.find(n => n.id === ed.source) || {}).color || ed.color;
const tc = (M.nodes.find(n => n.id === ed.target) || {}).color || '#9e9e9e';
let h = `<div class="det-title">`;
h += `<span class="state-chip" style="background:${sc}">${esc(ed.source)}</span>`;
h += `<span style="color:#94a3b8;font-weight:400">→</span>`;
h += `<span class="state-chip" style="background:${tc}">${esc(ed.target)}</span></div>`;
h += `<div class="det-row"><span class="det-lbl">Count</span><span class="det-val">${ed.count}</span></div>`;
h += `<div class="det-row"><span class="det-lbl">P(${esc(ed.target)} | ${esc(ed.source)})</span>`;
h += `<span class="det-val">${ed.out_pct}%</span></div>`;
h += `<div class="det-sub">Command-chain breakdown (${ed.n_unique_chains} distinct chain${ed.n_unique_chains === 1 ? '' : 's'})</div>`;
(ed.breakdown || []).forEach(b => {
h += `<div class="bd-row">`;
h += `<div class="bd-head"><span class="bd-lbl">${renderChain(b.chain)}</span>`;
h += `<span class="bd-num">${b.count} · ${b.pct}%</span></div>`;
h += `<div class="bd-bar"><div class="bd-fill" style="width:${b.pct}%;background:#94a3b8"></div></div>`;
(b.examples || []).forEach(ex => {
const fr = ex.snap_from < 0 ? 'start' : snapLabel(ex.snap_from);
const to = ex.snap_to < 0
? (ed.target === 'end_limit' ? 'limit' : 'submit')
: snapLabel(ex.snap_to);
h += `<div class="bd-ex">${esc(ex.problem)} ${fr}${to}</div>`;
});
h += `</div>`;
});
h += renderLabelDist(ed.label_dist, ed.n_labeled);
h += renderNlpRates(ed.nlp_rates);
panel.innerHTML = h;
}
function showNodeDetail(panel, n) {
let h = `<div class="det-title"><span class="state-chip" style="background:${n.color}">${n.state_type}</span></div>`;
h += `<div class="det-def">${esc(n.definition)}</div>`;
h += `<div class="det-row"><span class="det-lbl">Visits</span><span class="det-val">${n.visits}</span></div>`;
h += `<div class="det-row"><span class="det-lbl">Outgoing</span><span class="det-val">${n.out_total}</span></div>`;
const outs = M.edges.filter(e => e.source === n.id)
.sort((a,b) => b.count - a.count);
if (outs.length) {
h += `<div class="det-sub">Outgoing distribution (sums to 100%)</div>`;
outs.forEach(e => {
const tcol = (M.nodes.find(nd => nd.id === e.target) || {}).color || e.color;
h += `<div class="out-row">`;
h += `<span class="out-tgt" style="color:${tcol}">${esc(e.target)}</span>`;
h += `<span class="out-bar"><span class="out-fill" style="width:${e.out_pct}%;background:${tcol}"></span></span>`;
h += `<span class="out-num">${e.out_pct}% (${e.count})</span></div>`;
});
} else {
h += `<div class="det-def">Terminal state — no outgoing transitions.</div>`;
}
const ins = M.edges.filter(e => e.target === n.id)
.sort((a,b) => b.count - a.count);
if (ins.length) {
const inTotal = ins.reduce((s, e) => s + e.count, 0);
h += `<div class="det-sub">Incoming distribution (sums to 100%)</div>`;
ins.forEach(e => {
const scol = (M.nodes.find(nd => nd.id === e.source) || {}).color || e.color;
const pct = inTotal > 0 ? Math.round(1000 * e.count / inTotal) / 10 : 0;
h += `<div class="out-row">`;
h += `<span class="out-tgt" style="color:${scol}">${esc(e.source)}</span>`;
h += `<span class="out-bar"><span class="out-fill" style="width:${pct}%;background:${scol}"></span></span>`;
h += `<span class="out-num">${pct}% (${e.count})</span></div>`;
});
}
h += renderGapDist(n.gap_out, n.gap_out_total, 'Outgoing gap labels');
h += renderGapDist(n.gap_in, n.gap_in_total, 'Incoming gap labels');
h += renderNlpDist(n.nlp_out, n.nlp_out_total, 'Outgoing NLP signals');
h += renderNlpDist(n.nlp_in, n.nlp_in_total, 'Incoming NLP signals');
panel.innerHTML = h;
}
function makeBgImg(count, w, h, fs) {
if (!count) return '';
const svg = '<svg xmlns="http://www.w3.org/2000/svg" width="' + w + '" height="' + h + '"><text x="' + (w/2) + '" y="' + Math.round(h*0.8) + '" text-anchor="middle" font-family="ui-monospace,monospace" font-size="' + fs + '" fill="white" font-weight="700">' + count + '</text></svg>';
return 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(svg);
}
const cyNodes = M.nodes.map(n => {
const sp = n.id === 'start' || n.id === 'end_submit' || n.id === 'end_limit';
const nw = sp ? 54 : 72, nh = sp ? 54 : 72;
return {
data: { id: n.id, label: n.label, color: n.color, n,
bgImg: makeBgImg(n.visits, nw, nh, 9) },
position: { x: n.x, y: n.y },
};
});
const cyEdges = M.edges.map(ed => ({
data: {
id: ed.id, source: ed.source, target: ed.target,
label: ed.label, color: ed.color,
isSelf: ed.source === ed.target ? 'yes' : 'no',
// width scales with outgoing probability (thicker = more likely)
// edge thickness scales with ABSOLUTE count (normalised against the
// graph's max count so the thickest edge fills the visible range).
width: 1.0 + (ed.count / Math.max(1, M.max_count)) * 9.0,
ed,
}
}));
const cy = cytoscape({
container: document.getElementById('cy'),
elements: { nodes: cyNodes, edges: cyEdges },
layout: { name: 'preset' },
style: [
{
selector: 'node',
style: {
'background-color': 'data(color)', 'label': 'data(label)', 'color': 'white',
'font-size': '11px', 'font-weight': '700',
'text-valign': 'center', 'text-halign': 'center',
'width': 72, 'height': 72, 'border-width': 3, 'border-color': 'white',
'background-image': 'data(bgImg)',
'background-fit': 'contain',
}
},
{
selector: 'node[id = "start"], node[id = "end_submit"], node[id = "end_limit"]',
style: { 'shape': 'round-rectangle', 'width': 54, 'height': 54,
'background-color': '#94a3b8', 'border-color': '#64748b' }
},
{
selector: 'node[id = "start"]',
style: { 'font-size': '16px' }
},
{
selector: 'node:selected',
style: { 'border-color': '#0f172a', 'border-width': 4 }
},
{
selector: 'edge',
style: {
'width': 'data(width)',
'line-color': 'data(color)',
'target-arrow-color': 'data(color)',
'target-arrow-shape': 'triangle',
'arrow-scale': 1.0,
'curve-style': 'bezier',
'target-label': 'data(label)',
'target-text-offset': 24,
'font-size': '9px',
'font-weight': '700',
'font-family': 'ui-monospace, monospace',
'color': '#1e293b',
'text-background-opacity': 0.92,
'text-background-color': 'white',
'text-background-padding': '2px',
'opacity': 0.78,
}
},
{
selector: 'edge[isSelf = "yes"]',
style: { 'curve-style': 'loop', 'loop-direction': '0deg',
'loop-sweep': '70deg' }
},
{
selector: 'edge:selected',
style: { 'opacity': 1, 'font-size': '11px', 'z-index': 999, 'line-color': '#0f172a',
'target-arrow-color': '#0f172a' }
},
],
userZoomingEnabled: true,
userPanningEnabled: true,
boxSelectionEnabled: false,
});
cy.fit(cy.elements(), 40);
const panel = document.getElementById('detail');
cy.on('tap', 'node', evt => showNodeDetail(panel, evt.target.data('n')));
cy.on('tap', 'edge', evt => showEdgeDetail(panel, evt.target.data('ed')));
cy.on('tap', evt => {
if (evt.target === cy)
panel.innerHTML = '<div class="detail-placeholder">Click a node or edge for details</div>';
});
cy.on('mouseover', 'edge', evt => evt.target.style({ opacity: 1 }));
cy.on('mouseout', 'edge', evt => { if (!evt.target.selected()) evt.target.style({ opacity: 0.78 }); });
</script>
</body>
</html>