jackasda211233 commited on
Commit
2d6e4d6
·
verified ·
1 Parent(s): 42be896

Upload PATCHCODE_TESTING_PROCESS.html with huggingface_hub

Browse files
Files changed (1) hide show
  1. PATCHCODE_TESTING_PROCESS.html +463 -39
PATCHCODE_TESTING_PROCESS.html CHANGED
@@ -1,38 +1,458 @@
1
- <!DOCTYPE html>
2
- <html lang="en"><head>
3
- <meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1">
5
- <title>Qwen3.6 AEON RYS PatchCode — Testing Process</title>
6
- <style>
7
- :root{--bg:#0d1117;--card:#161b22;--ink:#c9d1d9;--mut:#8b949e;--acc:#58a6ff;--bd:#30363d;--gw:#f85149;--gd:#3fb950}
8
- *{box-sizing:border-box}
9
- body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
10
- main{max-width:900px;margin:0 auto;padding:40px 24px 120px}
11
- h1,h2,h3,h4{color:#f0f6fc;line-height:1.25;font-weight:650;margin:1.8em 0 .6em}
12
- h1{font-size:2em;border-bottom:1px solid var(--bd);padding-bottom:.3em;margin-top:.3em}
13
- h2{font-size:1.45em;border-bottom:1px solid var(--bd);padding-bottom:.25em}
14
- h3{font-size:1.15em}
15
- a{color:var(--acc);text-decoration:none}
16
- a:hover{text-decoration:underline}
17
- code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:.88em;background:#1f2630;padding:.12em .4em;border-radius:5px;color:#79c0ff}
18
- pre{background:#010409;border:1px solid var(--bd);border-radius:8px;padding:14px 16px;overflow:auto}
19
- pre code{background:none;padding:0;color:var(--ink);font-size:.85em}
20
- blockquote{margin:1em 0;padding:.6em 1em;border-left:3px solid var(--acc);background:#0f1a26;border-radius:0 6px 6px 0;color:#d2dbe6}
21
- table{border-collapse:collapse;width:100%;margin:1.2em 0;font-size:.93em;display:block;overflow-x:auto}
22
- th,td{border:1px solid var(--bd);padding:7px 11px;text-align:left}
23
- th{background:#21262d;color:#f0f6fc;font-weight:650}
24
- tr:nth-child(even) td{background:#0f151c}
25
- hr{border:0;border-top:1px solid var(--bd);margin:2em 0}
26
- strong{color:#f0f6fc}
27
- ul,ol{padding-left:1.4em}
28
- li{margin:.25em 0}
29
- .bnr{background:#2a1a1a;border:1px solid #5c2e2e;border-left:4px solid var(--gw);padding:14px 18px;border-radius:8px;margin:18px 0}
30
- .bnr a{color:#ffb3b3}
31
- </style>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  </head>
33
  <body>
34
- <main>
35
- <h1>Qwen3.6 AEON RYS PatchCode (merged_lam0.5): What We Actually Did</h1>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  <p>This is the longer, more casual write-up for the PatchCode upload candidate (internal project name <code>merged_lam0.5</code>).</p>
37
  <p>The clean model card stays short. This document is the full story: what we distilled, exactly how the dataset was built, how we tested it, why the early single-run scores fooled us, why we stopped trusting them, and why the upload candidate ended up being the plain <code>IQ4_NL</code> (reasoning-imatrix) merged GGUF rather than a heavier mixed-quant recipe.</p>
38
  <p>Related public guides:
@@ -71,7 +491,7 @@ li{margin:.25em 0}
71
  </code></pre>
72
  <p>The new work was not another RYS architecture pass (the architecture is unchanged and is documented in the layer-duplication guide). The new work was a behaviour distil layered on top of SignalLatch, then merged and quantized into the same practical Q4-class deployment lane.</p>
73
  <p>Public framing stays narrow:</p>
74
- <blockquote class="bnr">
75
  <p>This is a practical coding-agent / tool-use-oriented fine-tuned IQ4_NL variant of the SignalLatch release.</p>
76
  </blockquote>
77
  <p>It should not be framed as:
@@ -179,7 +599,7 @@ li{margin:.25em 0}
179
  </tbody>
180
  </table>
181
  <p>At λ=1.0 the adapter was net-neutral-to-harmful (one checkpoint fell <em>below</em> the un-adapted base). The mechanism: an over-loud LoRA delta pushes activations into regimes that hurt calibrated behaviour (preamble returns, over-claiming). λ=0.5 (effective alpha/r = 1.0) keeps the style direction but respects base calibration. So the merge was done at <strong>λ=0.5 onto SignalLatch (ckpt386-s010)</strong>, then exported to BF16 GGUF. (A future v2 could bake the good strength in by training at alpha=r=32, removing the inference-time knob.)</p>
182
- <p><img alt="Merge strength sweep — λ=0.5 wins on all three checkpoints; trained default λ=1.0 is over-applied." src="assets/lambda_sweep.png" /></p>
183
  <h2>Why the final testing moved to merged IQ4_NL</h2>
184
  <p>The key question was not "best adapter in BF16" — it was "what we would actually deploy". The deploy target was a merged GGUF, <code>IQ4_NL</code>, imatrix-quantized, on the custom ik-llama runtime (Jinja + DeepSeek reasoning format + flash attention + graph split, temp <code>0.7</code>).</p>
185
  <p>Live LoRA loading is not the production path for this release (the tested serving profile uses flash attention, which conflicts with live LoRA on this runtime). So the long-term path became: <strong>merge the adapter first, then export + quantize a full GGUF.</strong> That is why the upload is a merged GGUF, not an adapter.</p>
@@ -259,8 +679,8 @@ li{margin:.25em 0}
259
  <p>This is exactly how a 3-seed pass almost shipped the <em>weaker</em> model.</p>
260
  <h2>The ship decision</h2>
261
  <p>With build, discipline, and long-context all <strong>tied within noise</strong>, the decision fell to non-noise axes, where plain <code>IQ4_NL</code> wins all three:</p>
262
- <p><img alt="No candidate clears BOTH build and discipline (≥0.90) — promotion destroys discipline; precision does not fix build." src="assets/bothquest.png" /></p>
263
- <p><img alt="Ship scoreboard (5-seed): IQ4_NL ties the field within noise on build/long-context/discipline, and wins on size." src="assets/ship_scoreboard.png" /></p>
264
  <ul>
265
  <li><strong>smaller</strong> (16.6 G vs 20–29 G)</li>
266
  <li><strong>marginal long-context</strong> edge (0.975 vs 0.935–0.969)</li>
@@ -297,7 +717,11 @@ Qwen3.6-27B-AEON-RYS-Agentic-Coder-PatchCode.BF16.gguf (57.6 GB — sourc
297
  <pre><code class="language-text">PatchCode IQ4_NL is a practical agentic-coder upgrade over the SignalLatch release.
298
  It is the selected default among the tested quants, tied with BF16 within noise —
299
  not a universal final answer.
300
- </code></pre>
301
- </main>
 
 
 
 
302
  </body>
303
  </html>
 
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>PatchCode (agentic-coder) — Testing Process — Qwen3.6 AEON RYS Docs</title>
7
+ <meta name="description" content="Historical public record for the original Qwen3.6 AEON RYS SignalLatch ckpt386 s0.10 fine-tune, testing process, runtime setup, and first-release decision.">
8
+ <style>
9
+ :root {
10
+ color-scheme: light;
11
+ --paper: #f7f5ee;
12
+ --paper-2: #ede9dc;
13
+ --ink: #111816;
14
+ --muted: #586560;
15
+ --line: #d2d7ce;
16
+ --panel: #ffffff;
17
+ --panel-2: #fbfaf5;
18
+ --code: #eef1ea;
19
+ --green: #0f7667;
20
+ --green-dark: #09564c;
21
+ --blue: #275f86;
22
+ --rust: #9a5a1c;
23
+ --red: #943b34;
24
+ --gold: #b48412;
25
+ --shadow: 0 18px 46px rgba(17, 24, 22, 0.10);
26
+ --soft-shadow: 0 10px 24px rgba(17, 24, 22, 0.07);
27
+ --radius: 8px;
28
+ }
29
+
30
+ * { box-sizing: border-box; }
31
+ html { scroll-behavior: smooth; }
32
+ body {
33
+ margin: 0;
34
+ color: var(--ink);
35
+ background:
36
+ linear-gradient(90deg, rgba(17, 24, 22, 0.035) 1px, transparent 1px) 0 0 / 38px 38px,
37
+ linear-gradient(180deg, var(--paper), #fbfaf5 34rem, var(--paper));
38
+ font: 16px/1.62 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
39
+ letter-spacing: 0;
40
+ overflow-x: hidden;
41
+ }
42
+
43
+ a {
44
+ color: var(--green-dark);
45
+ text-decoration-thickness: 0.08em;
46
+ text-underline-offset: 0.18em;
47
+ }
48
+
49
+ code, pre {
50
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
51
+ font-size: 0.93em;
52
+ }
53
+
54
+ .wrap {
55
+ width: min(1180px, calc(100% - 36px));
56
+ margin: 0 auto;
57
+ }
58
+
59
+ header {
60
+ position: sticky;
61
+ top: 0;
62
+ z-index: 20;
63
+ background: rgba(247, 245, 238, 0.92);
64
+ border-bottom: 1px solid var(--line);
65
+ backdrop-filter: blur(14px);
66
+ }
67
+
68
+ nav {
69
+ display: flex;
70
+ align-items: center;
71
+ justify-content: space-between;
72
+ gap: 18px;
73
+ min-height: 58px;
74
+ font-size: 0.9rem;
75
+ }
76
+
77
+ nav .brand {
78
+ color: var(--ink);
79
+ font-weight: 900;
80
+ white-space: nowrap;
81
+ text-decoration: none;
82
+ }
83
+
84
+ nav .links {
85
+ display: flex;
86
+ align-items: center;
87
+ justify-content: flex-end;
88
+ gap: 12px 16px;
89
+ flex-wrap: wrap;
90
+ }
91
+
92
+ nav .links a {
93
+ color: var(--muted);
94
+ text-decoration: none;
95
+ font-weight: 700;
96
+ }
97
+
98
+ nav .links a:hover { color: var(--green-dark); }
99
+
100
+ .hero {
101
+ padding: 76px 0 46px;
102
+ border-bottom: 1px solid var(--line);
103
+ background:
104
+ linear-gradient(180deg, rgba(237, 233, 220, 0.9), rgba(247, 245, 238, 0.22)),
105
+ linear-gradient(90deg, rgba(15, 118, 103, 0.08), rgba(39, 95, 134, 0.08));
106
+ }
107
+
108
+ .eyebrow {
109
+ display: inline-flex;
110
+ align-items: center;
111
+ gap: 10px;
112
+ color: var(--rust);
113
+ font-size: 0.78rem;
114
+ font-weight: 900;
115
+ text-transform: uppercase;
116
+ letter-spacing: 0.08em;
117
+ margin-bottom: 18px;
118
+ }
119
+
120
+ .eyebrow::before {
121
+ content: "";
122
+ width: 34px;
123
+ height: 2px;
124
+ background: var(--rust);
125
+ }
126
+
127
+ h1 {
128
+ margin: 0;
129
+ max-width: 1080px;
130
+ font-size: clamp(2.35rem, 5.3vw, 5.6rem);
131
+ line-height: 0.99;
132
+ letter-spacing: 0;
133
+ overflow-wrap: anywhere;
134
+ }
135
+
136
+ .dek {
137
+ max-width: 920px;
138
+ margin: 24px 0 0;
139
+ color: var(--muted);
140
+ font-size: clamp(1.03rem, 1.7vw, 1.28rem);
141
+ }
142
+
143
+ .actions {
144
+ display: flex;
145
+ gap: 12px;
146
+ flex-wrap: wrap;
147
+ margin-top: 28px;
148
+ }
149
+
150
+ .button {
151
+ display: inline-flex;
152
+ align-items: center;
153
+ justify-content: center;
154
+ min-height: 42px;
155
+ padding: 0 15px;
156
+ border: 1px solid var(--line);
157
+ border-radius: 7px;
158
+ background: var(--panel);
159
+ color: var(--ink);
160
+ text-decoration: none;
161
+ font-weight: 800;
162
+ box-shadow: var(--soft-shadow);
163
+ }
164
+
165
+ .button.primary {
166
+ background: var(--green);
167
+ border-color: var(--green);
168
+ color: #ffffff;
169
+ }
170
+
171
+ .quick {
172
+ display: grid;
173
+ grid-template-columns: repeat(4, minmax(0, 1fr));
174
+ gap: 12px;
175
+ margin-top: 36px;
176
+ }
177
+
178
+ .metric {
179
+ min-height: 126px;
180
+ background: var(--panel);
181
+ border: 1px solid var(--line);
182
+ border-radius: var(--radius);
183
+ padding: 16px;
184
+ box-shadow: var(--soft-shadow);
185
+ }
186
+
187
+ .metric strong {
188
+ display: block;
189
+ font-size: 1.72rem;
190
+ line-height: 1.08;
191
+ margin-bottom: 8px;
192
+ overflow-wrap: anywhere;
193
+ }
194
+
195
+ .metric span {
196
+ display: block;
197
+ color: var(--muted);
198
+ font-size: 0.92rem;
199
+ }
200
+
201
+ main { padding: 26px 0 74px; }
202
+
203
+ section {
204
+ padding: 42px 0;
205
+ border-top: 1px solid var(--line);
206
+ }
207
+
208
+ h2 {
209
+ margin: 0 0 16px;
210
+ font-size: clamp(1.7rem, 3vw, 2.65rem);
211
+ line-height: 1.12;
212
+ letter-spacing: 0;
213
+ }
214
+
215
+ h3 {
216
+ margin: 0 0 10px;
217
+ font-size: 1.12rem;
218
+ letter-spacing: 0;
219
+ }
220
+
221
+ p {
222
+ margin: 0 0 16px;
223
+ max-width: 900px;
224
+ }
225
+
226
+ .muted { color: var(--muted); }
227
+
228
+ .grid-2 {
229
+ display: grid;
230
+ grid-template-columns: minmax(0, 0.98fr) minmax(320px, 1.02fr);
231
+ gap: 32px;
232
+ align-items: start;
233
+ }
234
+
235
+ .cards {
236
+ display: grid;
237
+ grid-template-columns: repeat(2, minmax(0, 1fr));
238
+ gap: 14px;
239
+ }
240
+
241
+ .card {
242
+ background: var(--panel);
243
+ border: 1px solid var(--line);
244
+ border-radius: var(--radius);
245
+ padding: 18px;
246
+ box-shadow: var(--shadow);
247
+ }
248
+
249
+ .card.flat {
250
+ background: var(--panel-2);
251
+ box-shadow: none;
252
+ }
253
+
254
+ .card.good { border-left: 5px solid var(--green); }
255
+ .card.warn { border-left: 5px solid var(--gold); }
256
+ .card.risk { border-left: 5px solid var(--red); }
257
+ .card.blue { border-left: 5px solid var(--blue); }
258
+
259
+ .card p:last-child { margin-bottom: 0; }
260
+
261
+ .callout {
262
+ border-left: 4px solid var(--green);
263
+ background: rgba(15, 118, 103, 0.08);
264
+ padding: 18px 20px;
265
+ border-radius: 0 var(--radius) var(--radius) 0;
266
+ margin: 18px 0;
267
+ max-width: 980px;
268
+ }
269
+
270
+ .callout.warn {
271
+ border-left-color: var(--gold);
272
+ background: rgba(180, 132, 18, 0.10);
273
+ }
274
+
275
+ .flow {
276
+ display: grid;
277
+ grid-template-columns: repeat(5, minmax(0, 1fr));
278
+ gap: 10px;
279
+ margin: 20px 0;
280
+ }
281
+
282
+ .flow .step {
283
+ background: var(--panel);
284
+ border: 1px solid var(--line);
285
+ border-radius: var(--radius);
286
+ padding: 14px;
287
+ min-height: 118px;
288
+ }
289
+
290
+ .step b {
291
+ display: block;
292
+ color: var(--green-dark);
293
+ margin-bottom: 8px;
294
+ }
295
+
296
+ .figure {
297
+ margin: 24px 0 0;
298
+ padding: 14px;
299
+ border: 1px solid var(--line);
300
+ border-radius: var(--radius);
301
+ background: var(--panel);
302
+ box-shadow: var(--soft-shadow);
303
+ }
304
+
305
+ .figure img {
306
+ display: block;
307
+ width: 100%;
308
+ height: auto;
309
+ border-radius: 6px;
310
+ background: #ffffff;
311
+ }
312
+
313
+ .caption {
314
+ margin-top: 10px;
315
+ color: var(--muted);
316
+ font-size: 0.9rem;
317
+ }
318
+
319
+ .table-wrap {
320
+ overflow-x: auto;
321
+ border: 1px solid var(--line);
322
+ border-radius: var(--radius);
323
+ background: var(--panel);
324
+ box-shadow: var(--soft-shadow);
325
+ margin: 18px 0 26px;
326
+ }
327
+
328
+ table {
329
+ width: 100%;
330
+ min-width: 740px;
331
+ border-collapse: collapse;
332
+ font-size: 0.92rem;
333
+ }
334
+
335
+ th, td {
336
+ padding: 11px 12px;
337
+ border-bottom: 1px solid var(--line);
338
+ text-align: left;
339
+ vertical-align: top;
340
+ }
341
+
342
+ th {
343
+ background: var(--paper-2);
344
+ color: var(--ink);
345
+ font-weight: 900;
346
+ }
347
+
348
+ tr:last-child td { border-bottom: 0; }
349
+ .num { text-align: right; white-space: nowrap; }
350
+ .pass { color: var(--green-dark); font-weight: 800; }
351
+ .fail { color: var(--red); font-weight: 800; }
352
+ .soft { color: var(--muted); }
353
+
354
+ pre {
355
+ overflow-x: auto;
356
+ background: var(--code);
357
+ border: 1px solid var(--line);
358
+ border-radius: var(--radius);
359
+ padding: 16px;
360
+ color: var(--ink);
361
+ white-space: pre-wrap;
362
+ word-break: break-word;
363
+ }
364
+
365
+ .split-list {
366
+ display: grid;
367
+ grid-template-columns: repeat(2, minmax(0, 1fr));
368
+ gap: 16px;
369
+ margin-top: 18px;
370
+ }
371
+
372
+ ul {
373
+ padding-left: 20px;
374
+ margin: 0 0 16px;
375
+ }
376
+
377
+ li { margin: 6px 0; }
378
+
379
+ footer {
380
+ padding: 32px 0 52px;
381
+ border-top: 1px solid var(--line);
382
+ color: var(--muted);
383
+ font-size: 0.92rem;
384
+ }
385
+
386
+ @media (max-width: 920px) {
387
+ nav { align-items: flex-start; flex-direction: column; padding: 12px 0; }
388
+ nav .links { justify-content: flex-start; }
389
+ .hero { padding-top: 46px; }
390
+ .quick { grid-template-columns: repeat(2, minmax(0, 1fr)); }
391
+ .grid-2 { grid-template-columns: 1fr; }
392
+ .flow { grid-template-columns: 1fr; }
393
+ .cards, .split-list { grid-template-columns: 1fr; }
394
+ }
395
+
396
+ @media (max-width: 560px) {
397
+ .wrap { width: min(100% - 24px, 1180px); }
398
+ .quick { grid-template-columns: 1fr; }
399
+ .metric { min-height: auto; }
400
+ table { min-width: 680px; }
401
+ }
402
+ </style>
403
  </head>
404
  <body>
405
+ <header>
406
+ <div class="wrap">
407
+ <nav aria-label="Page navigation">
408
+ <a class="brand" href="../index.html">Qwen3.6 AEON RYS Docs</a>
409
+ <div class="links">
410
+ <a href="https://noonr48.github.io/qwen36-aeon-ik-llama/">Docs home</a>
411
+ <a href="https://noonr48.github.io/qwen36-aeon-ik-llama/qwen36-aeon-rys-signallatch/index.html">SignalLatch</a>
412
+ <a href="https://noonr48.github.io/qwen36-aeon-ik-llama/ckpt386-s010-testing-process/index.html">ckpt386 process</a>
413
+ <a href="https://noonr48.github.io/qwen36-aeon-ik-llama/signallatch-v1-1-production-process/index.html">v1.1 production</a>
414
+ <a href="https://noonr48.github.io/qwen36-aeon-ik-llama/signallatch-v1-1-all-results/index.html">v1.1 all results</a>
415
+ <a href="https://noonr48.github.io/qwen36-aeon-ik-llama/rys-layer-duplication-guide/">RYS arch guide</a>
416
+ <a href="https://noonr48.github.io/qwen36-aeon-ik-llama/qwen36-aeon-rys-15-20/index.html">AEON 15/20</a>
417
+ </div>
418
+ </nav>
419
+ </div>
420
+ </header>
421
+
422
+ <div class="hero">
423
+ <div class="wrap">
424
+ <div class="eyebrow">SignalLatch fine-tune record</div>
425
+ <h1>How the first ckpt386 s0.10 SignalLatch release was made, tested, and selected.</h1>
426
+ <p class="dek">This page is the self-contained public record for the original SignalLatch behavior fine-tune on top of Qwen3.6 AEON RYS 15/20. It documents the first public ckpt386 s0.10 IQ4_NL release, not the later v1.1 Lite/Plus mixed-quant selection.</p>
427
+ <div class="actions">
428
+ <a class="button primary" href="https://huggingface.co/jackasda211233/Qwen3.6-27B-AEON-RYS-SignalLatch-GGUF">SignalLatch on Hugging Face</a>
429
+ <a class="button" href="../signallatch-v1-1-production-process/index.html">Current v1.1 record</a>
430
+ <a class="button" href="../qwen36-aeon-rys-15-20/index.html">Base AEON RYS record</a>
431
+ <a class="button" href="../qwen36-aeon-rys-signallatch/index.html">Release overview</a>
432
+ <a class="button" href="https://github.com/noonr48/qwen36-aeon-ik-llama">Runtime fork</a>
433
+ </div>
434
+ <div class="quick" aria-label="Key release facts">
435
+ <div class="metric">
436
+ <strong>ckpt386</strong>
437
+ <span>Final one-epoch behavioral LoRA checkpoint used for the merge.</span>
438
+ </div>
439
+ <div class="metric">
440
+ <strong>s0.10</strong>
441
+ <span>Selected merge strength after deploy-format IQ4_NL sweeps and repeats.</span>
442
+ </div>
443
+ <div class="metric">
444
+ <strong>4/5</strong>
445
+ <span>First deploy-format s0.10 practical matrix pass count, mean 0.950.</span>
446
+ </div>
447
+ <div class="metric">
448
+ <strong>9/15</strong>
449
+ <span>Strict repeat-screen count used for strength selection, not a capability ceiling; 9/14 crash-adjusted.</span>
450
+ </div>
451
+ </div>
452
+ </div>
453
+ </div>
454
+
455
+ <main class="wrap"><div class="wrap"><h1>Qwen3.6 AEON RYS PatchCode (merged_lam0.5): What We Actually Did</h1>
456
  <p>This is the longer, more casual write-up for the PatchCode upload candidate (internal project name <code>merged_lam0.5</code>).</p>
457
  <p>The clean model card stays short. This document is the full story: what we distilled, exactly how the dataset was built, how we tested it, why the early single-run scores fooled us, why we stopped trusting them, and why the upload candidate ended up being the plain <code>IQ4_NL</code> (reasoning-imatrix) merged GGUF rather than a heavier mixed-quant recipe.</p>
458
  <p>Related public guides:
 
491
  </code></pre>
492
  <p>The new work was not another RYS architecture pass (the architecture is unchanged and is documented in the layer-duplication guide). The new work was a behaviour distil layered on top of SignalLatch, then merged and quantized into the same practical Q4-class deployment lane.</p>
493
  <p>Public framing stays narrow:</p>
494
+ <blockquote>
495
  <p>This is a practical coding-agent / tool-use-oriented fine-tuned IQ4_NL variant of the SignalLatch release.</p>
496
  </blockquote>
497
  <p>It should not be framed as:
 
599
  </tbody>
600
  </table>
601
  <p>At λ=1.0 the adapter was net-neutral-to-harmful (one checkpoint fell <em>below</em> the un-adapted base). The mechanism: an over-loud LoRA delta pushes activations into regimes that hurt calibrated behaviour (preamble returns, over-claiming). λ=0.5 (effective alpha/r = 1.0) keeps the style direction but respects base calibration. So the merge was done at <strong>λ=0.5 onto SignalLatch (ckpt386-s010)</strong>, then exported to BF16 GGUF. (A future v2 could bake the good strength in by training at alpha=r=32, removing the inference-time knob.)</p>
602
+ <p><img alt="Merge strength sweep — λ=0.5 wins on all three checkpoints; trained default λ=1.0 is over-applied." src="https://noonr48.github.io/qwen36-aeon-ik-llama/patchcode-testing-process/assets/lambda_sweep.png" /></p>
603
  <h2>Why the final testing moved to merged IQ4_NL</h2>
604
  <p>The key question was not "best adapter in BF16" — it was "what we would actually deploy". The deploy target was a merged GGUF, <code>IQ4_NL</code>, imatrix-quantized, on the custom ik-llama runtime (Jinja + DeepSeek reasoning format + flash attention + graph split, temp <code>0.7</code>).</p>
605
  <p>Live LoRA loading is not the production path for this release (the tested serving profile uses flash attention, which conflicts with live LoRA on this runtime). So the long-term path became: <strong>merge the adapter first, then export + quantize a full GGUF.</strong> That is why the upload is a merged GGUF, not an adapter.</p>
 
679
  <p>This is exactly how a 3-seed pass almost shipped the <em>weaker</em> model.</p>
680
  <h2>The ship decision</h2>
681
  <p>With build, discipline, and long-context all <strong>tied within noise</strong>, the decision fell to non-noise axes, where plain <code>IQ4_NL</code> wins all three:</p>
682
+ <p><img alt="No candidate clears BOTH build and discipline (≥0.90) — promotion destroys discipline; precision does not fix build." src="https://noonr48.github.io/qwen36-aeon-ik-llama/patchcode-testing-process/assets/bothquest.png" /></p>
683
+ <p><img alt="Ship scoreboard (5-seed): IQ4_NL ties the field within noise on build/long-context/discipline, and wins on size." src="https://noonr48.github.io/qwen36-aeon-ik-llama/patchcode-testing-process/assets/ship_scoreboard.png" /></p>
684
  <ul>
685
  <li><strong>smaller</strong> (16.6 G vs 20–29 G)</li>
686
  <li><strong>marginal long-context</strong> edge (0.975 vs 0.935–0.969)</li>
 
717
  <pre><code class="language-text">PatchCode IQ4_NL is a practical agentic-coder upgrade over the SignalLatch release.
718
  It is the selected default among the tested quants, tied with BF16 within noise —
719
  not a universal final answer.
720
+ </code></pre></div></main>
721
+
722
+ <footer>
723
+ <div class="wrap">
724
+ Last updated: 2026-06-29. This page documents the PatchCode (agentic-coder) fine-tune and quant bake-off for the Qwen3.6 AEON RYS / SignalLatch line.</div>
725
+ </footer>
726
  </body>
727
  </html>