Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ Most guides currently have several axes marked `⬚ backlog` (honestly untested)
## 5. Rigor / method
- 🔵 **Re-run the thinking ablation single-variable.** Self-audit found the original arms varied token budget as well as `enable_thinking` (OFF ceiling 16,384 / ON 65,536 / CAPPED 4,096 no-retry). CAPPED scoring best argues budget is not the driver, but the comparison is not clean. Re-run holding `max_tokens` fixed across arms.
- 🔵 **Settle what "thinking off" actually does on Laguna** (raised by @Defilan, [offlabel#2](https://github.com/TheTom/offlabel/issues/2)). Our firing rates were read from `reasoning_content`, and our OFF arm sent the template default, so they cannot distinguish "did not reason" from "reasoned but was not parsed". Needs a same-stack A/B capturing `reasoning_content` **and** raw content separately, with `enable_thinking` true/false/absent. Behavior differences between arms are real regardless; the mechanism label is what is in doubt.
- ⬚ **Separate task SHAPE from prompt IDENTITY (cheap, high value).** The 400-turn gate grid uses **one fixed prompt per task type**, repeated 40x with only a nonce varying (verified: within-cell prompt-token spread ≤4 across all 40 cells). So "math 92/100, code 62/100, reasoning 47/100, summarization 0/100" are prompt-level results being read as category-level ones. The summarization floor is the most load-bearing and the most exposed, since that prompt is also 288 tokens against 116-124 and the only one supplying a passage to condense. Re-run with **several distinct problems per shape** to settle whether the effects are categorical. Raised by the study author on [#12](https://github.com/TheTom/offlabel/pull/12).
- ⬚ **Pin down the task-shape half of the persona gate.** We saw coding-shaped tasks suppress thinking regardless of persona; a third stack saw a coding probe fire 6/6 without a persona. Find the actual boundary, or drop the claim.
- ⬚ **Long-loop thinking attenuation.** Single-turn probes show a persona driving thinking to zero; a 20+ turn agentic loop shows only shortening. Standardize a long-loop probe, since scenario batteries structurally miss this.
- ⬚ **Adopt a shared spine-probe runner.** @Defilan offered his ([LLMKube#1274](https://github.com/defilantech/LLMKube/pull/1274), `hack/spine-probes/`): drives any OpenAI-compatible endpoint, ablates a clause rule-by-rule (`--arms`), repeats (`--seeds`), re-scores saved transcripts offline. Would move offlabel from "my testing" to "anyone can reproduce this."
Expand Down
Binary file modified cards/img/laguna-s-2.1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 4 additions & 3 deletions cards/laguna-s-2.1.html
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,16 @@
<div class="ol-sec">
<div class="ol-h">Use it like this</div>
<div class="ol-row"><span class="ol-ic">🧠</span><span class="ol-k">Thinking</span><span class="ol-v"><b>Send <code>enable_thinking: false</code> explicitly</b> for long-horizon / integrity work · <b>omitting it = ON</b> · the default moves between revisions, so verify your rendering</span></div>
<div class="ol-row"><span class="ol-ic">📉</span><span class="ol-k">If ON</span><span class="ol-v">Firing depends on prompt <b>shape</b>, not length: bare 75% (long thinks) · 10 bullet rules <b>7%</b> · a <i>longer</i> agent prompt <b>back to 60-72%</b> but compressed (3536 → 282 tokens). Do not prompt-engineer it, use the kwarg</span></div>
<div class="ol-row"><span class="ol-ic">📉</span><span class="ol-k">If ON</span><span class="ol-v"><b>Two axes that move separately.</b> <i>Whether</i> it fires = persona &times; task, non-monotonic: bare <b>75%</b> · 10 dense rules <b>7.5%</b> · a <i>longer</i> agent prompt back to <b>60%</b> · +tool schemas <b>72%</b>. <i>How long</i> it thinks collapses anyway: <b>3536 &#8594; 745 &#8594; 282</b> tokens. Tools cut length 62% and <b>raise</b> firing. Do not prompt-engineer it, use the kwarg</span></div>
<div class="ol-row"><span class="ol-ic">🎯</span><span class="ol-k">Task gates it</span><span class="ol-v">Shape beats anything in the system prompt. Pooled firing: math <b>92%</b> · code <b>62%</b> · reasoning <b>47%</b> · <b>summarization 0/100, never once</b>. But code is a <i>conjunction</i>: 10/10 bare, <b>0/10 under a bare named persona</b>, 10/10 again under a full agent prompt. <i>One prompt per shape, so read as prompts not categories</i></span></div>
<div class="ol-row"><span class="ol-ic">🔧</span><span class="ol-k">Tools</span><span class="ol-v"><b>Serve the native template (<code>--jinja</code>)</b> · chatml drops tool calls to <b>0%</b> (83%&#8594;0%) · a generic OpenAI-format <i>client</i> is fine, <code>pool</code> not required</span></div>
<div class="ol-row"><span class="ol-ic">🎛️</span><span class="ol-k">Serving</span><span class="ol-v">temp 0.6 · Q4_K_M · <code>-fit off</code> · <code>-fa on</code> (<b>2.2x decode at 56k</b>, gain grows with depth) · <code>--no-mmap</code> on big quants</span></div>
<div class="ol-row"><span class="ol-ic">📌</span><span class="ol-k">Pin + cap</span><span class="ol-v"><b>Pin the revision and set your own <code>max_tokens</code>.</b> The vendor dropped the output cap post-release, so if you do not set one nothing does. The <code>enable_thinking</code> default also moves between revisions</span></div>
<div class="ol-row"><span class="ol-ic">✅</span><span class="ol-k">Best / avoid</span><span class="ol-v"><b>Best:</b> long-horizon coding, tool use, structured agent work (~9/10, no thrash) · <b>Avoid:</b> non-English, one-shot answers you can't verify</span></div>
</div>
<div class="ol-sec">
<div class="ol-h">Independently validated: three stacks</div>
<div class="ol-row"><span class="ol-ic">🟢</span><span class="ol-k">12h / 2947 turns</span><span class="ol-v"><b>99.9% turn success</b>, 0 crashes, 0 restarts, ~4GiB creep, ~13.5s/turn · <b>100% tool calls</b> on native format · 0 <i>unbounded-generation</i> loops with pin+cap (while the thinking gate stayed shut) · integrity clause held 3/3 cross-quant<br><span style="color:var(--sub)">@BlackwellBoy (NVFP4/vLLM, 12h soak) · @Defilan (gfx1151/llama.cpp, kwarg + gate A/B) · ours (Q4_K_M/llama.cpp)</span></span></div>
<div class="ol-row"><span class="ol-ic">🟢</span><span class="ol-k">12h / 2947 turns</span><span class="ol-v"><b>99.9% turn success</b>, 0 crashes, 0 restarts, ~4GiB creep, ~13.5s/turn · <b>100% tool calls</b> on native format · 0 <i>unbounded-generation</i> loops with pin+cap (while the thinking gate stayed shut) · integrity clause held 3/3 cross-quant<br><span style="color:var(--sub)">@BlackwellBoy (NVFP4/vLLM: 12h soak + 400-turn gate grid) · @Defilan (gfx1151/llama.cpp: kwarg render check + rule ablation) · ours (Q4_K_M/llama.cpp: 127-scenario battery)</span></span></div>
</div>
<div class="ol-sec">
<div class="ol-h">Trust map: where it holds vs folds under pressure</div>
Expand All @@ -63,6 +64,6 @@
<div class="ol-band warn"><div class="ol-bl">⚠ BLIND SPOTS</div><div class="ol-tags"><span class="ol-tag"><b>truncated think kills agent loops</b> (400: needs content or tool_calls; silent + deterministic)</span><span class="ol-tag">invents bugs when thinking is ON</span><span class="ol-tag">thinking ON hung a long agent loop (OFF 30/30 vs ON 11/30)</span><span class="ol-tag">over-refuses authorized work (thinking ON)</span><span class="ol-tag">misses covert self-harm signals</span></div></div>
</div>
</div>
<div class="ol-ft"><span>Q4_K_M · pinned 2026-07-24 (vendor drift) · held-out behavioral tests + 12h soak + 2 independent stacks</span><span class="ol-draft" style="color:var(--accent)">offlabel</span></div>
<div class="ol-ft"><span>Q4_K_M · pinned 2026-07-24 (vendor drift) · held-out behavioral tests + 12h soak + 2 independent replications</span><span class="ol-draft" style="color:var(--accent)">offlabel</span></div>
</div>
</div>
Loading
Loading