mlx-bun 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +362 -0
  3. package/THIRD_PARTY_LICENSES.md +41 -0
  4. package/bin/mlx-bun.mjs +32 -0
  5. package/docs/curve-designer.html +303 -0
  6. package/docs/design/adapters-end-to-end.md +201 -0
  7. package/docs/design/compat-cli-surface-design.md +227 -0
  8. package/docs/design/docs-reorg-plan.md +152 -0
  9. package/docs/design/hlg-sampling.md +340 -0
  10. package/docs/design/memory-system.md +339 -0
  11. package/docs/design/optimization_plan.md +344 -0
  12. package/docs/design/parallel-slots.md +515 -0
  13. package/docs/design/runtime-isolation.md +247 -0
  14. package/docs/design/segmented-backward-training.md +508 -0
  15. package/docs/investigations/chunk-finetune-experiment.md +84 -0
  16. package/docs/investigations/curve-bisector-routing.md +123 -0
  17. package/docs/investigations/curve-runs/bisector-route.json +98 -0
  18. package/docs/investigations/curve-runs/bisector-trace.json +1393 -0
  19. package/docs/investigations/curve-runs/curve-terrain.json +1179 -0
  20. package/docs/investigations/curve-runs/curve-terrain.svg +42 -0
  21. package/docs/investigations/curve-terrain.html +105 -0
  22. package/docs/investigations/expert-offload-single-user-moe.md +292 -0
  23. package/docs/investigations/hlg-ab.html +34 -0
  24. package/docs/investigations/hlg-explorer.html +238 -0
  25. package/docs/investigations/hlg-figs/cliff.svg +1 -0
  26. package/docs/investigations/hlg-figs/cross.svg +1 -0
  27. package/docs/investigations/hlg-figs/edges.svg +1 -0
  28. package/docs/investigations/hlg-figs/k20-grids.svg +1 -0
  29. package/docs/investigations/hlg-figs/k20-peaks.svg +1 -0
  30. package/docs/investigations/hlg-figs/lw-curve.svg +1 -0
  31. package/docs/investigations/hlg-figs/terrain.svg +1 -0
  32. package/docs/investigations/hlg-report.html +262 -0
  33. package/docs/investigations/hlg-runs/hlg-ab.json +149 -0
  34. package/docs/investigations/hlg-runs/hlg-blind-prompts.md +87 -0
  35. package/docs/investigations/hlg-runs/hlg-blind.json +107 -0
  36. package/docs/investigations/hlg-runs/hlg-cliff.json +197 -0
  37. package/docs/investigations/hlg-runs/hlg-cross.json +505 -0
  38. package/docs/investigations/hlg-runs/hlg-edge.json +388 -0
  39. package/docs/investigations/hlg-runs/hlg-eval1.json +25 -0
  40. package/docs/investigations/hlg-runs/hlg-frontier.json +86 -0
  41. package/docs/investigations/hlg-runs/hlg-grid.json +242 -0
  42. package/docs/investigations/hlg-runs/hlg-grid2.json +343 -0
  43. package/docs/investigations/hlg-runs/hlg-lw-coarse.json +110 -0
  44. package/docs/investigations/hlg-runs/hlg-map.json +383 -0
  45. package/docs/investigations/hlg-runs/run0-original.log +159 -0
  46. package/docs/investigations/hlg-runs/runA-recommended.log +131 -0
  47. package/docs/investigations/hlg-runs/runAA-cliff-cpm5.log +26 -0
  48. package/docs/investigations/hlg-runs/runAB-grid2-e4b.log +18 -0
  49. package/docs/investigations/hlg-runs/runAC-peak-e4b-partial.log +25 -0
  50. package/docs/investigations/hlg-runs/runAD-ab-samples.log +8 -0
  51. package/docs/investigations/hlg-runs/runAE-edge-e4b.log +51 -0
  52. package/docs/investigations/hlg-runs/runAF-logit-calibration.log +10 -0
  53. package/docs/investigations/hlg-runs/runAG-eval-config2.log +16 -0
  54. package/docs/investigations/hlg-runs/runB-gain-variants.log +192 -0
  55. package/docs/investigations/hlg-runs/runC-pivots.log +162 -0
  56. package/docs/investigations/hlg-runs/runD-oetf.log +132 -0
  57. package/docs/investigations/hlg-runs/runE-eotf.log +162 -0
  58. package/docs/investigations/hlg-runs/runF-shaper-working.log +86 -0
  59. package/docs/investigations/hlg-runs/runG-shaper-sweep.log +101 -0
  60. package/docs/investigations/hlg-runs/runH-wsweep.log +176 -0
  61. package/docs/investigations/hlg-runs/runI-asweep.log +176 -0
  62. package/docs/investigations/hlg-runs/runJ-knobmap.log +49 -0
  63. package/docs/investigations/hlg-runs/runK-frontier.log +19 -0
  64. package/docs/investigations/hlg-runs/runL-widemap.log +65 -0
  65. package/docs/investigations/hlg-runs/runM-frontier-emb.log +15 -0
  66. package/docs/investigations/hlg-runs/runN-verify.log +116 -0
  67. package/docs/investigations/hlg-runs/runO-frontier-seed5000.log +15 -0
  68. package/docs/investigations/hlg-runs/runP-grid-AxSm.log +15 -0
  69. package/docs/investigations/hlg-runs/runQ-grid-tgW.log +15 -0
  70. package/docs/investigations/hlg-runs/runR-blind-transcript.log +79 -0
  71. package/docs/investigations/hlg-runs/runS-cross-coherence.log +33 -0
  72. package/docs/investigations/hlg-runs/runT-cross-cpm5.log +33 -0
  73. package/docs/investigations/hlg-runs/runU-cross-12b.log +33 -0
  74. package/docs/investigations/hlg-runs/runV-lw-e4b.log +22 -0
  75. package/docs/investigations/hlg-runs/runW-lw-12b.log +22 -0
  76. package/docs/investigations/hlg-runs/runX-lw-cpm5.log +22 -0
  77. package/docs/investigations/hlg-runs/runY-cliff-e4b.log +26 -0
  78. package/docs/investigations/hlg-runs/runZ-cliff-12b.log +26 -0
  79. package/docs/investigations/hlg-sampling-investigation.md +970 -0
  80. package/docs/investigations/lab-build-journal.md +157 -0
  81. package/docs/investigations/pi-builtin-investigation.md +308 -0
  82. package/docs/investigations/starter-model-port-handoff.md +323 -0
  83. package/docs/planning/IDEAS.md +26 -0
  84. package/docs/planning/PRODUCT_ROADMAP.md +426 -0
  85. package/docs/planning/ResearchTopics.md +119 -0
  86. package/docs/planning/chunk-task-roadmap.md +77 -0
  87. package/docs/planning/journal.md +155 -0
  88. package/docs/reference/distribution.md +121 -0
  89. package/docs/reference/embedding.md +168 -0
  90. package/docs/reference/library-api.md +153 -0
  91. package/docs/reference/server-api.md +224 -0
  92. package/docs/reference/server-config.md +243 -0
  93. package/docs/segmented-backward-handoff.md +148 -0
  94. package/package.json +68 -0
  95. package/src/anthropic.ts +491 -0
  96. package/src/chat-template.ts +186 -0
  97. package/src/cli.ts +1075 -0
  98. package/src/config.ts +229 -0
  99. package/src/curve-sampler.ts +122 -0
  100. package/src/dataset/generators.ts +1087 -0
  101. package/src/dataset/index.ts +12 -0
  102. package/src/dataset/job.ts +81 -0
  103. package/src/dataset/llm.ts +71 -0
  104. package/src/dataset/registry.ts +528 -0
  105. package/src/download.ts +283 -0
  106. package/src/eval/README.md +86 -0
  107. package/src/eval/kl-prompts.ts +29 -0
  108. package/src/eval/kl.ts +294 -0
  109. package/src/eval/quality-db.ts +92 -0
  110. package/src/eval/runner.ts +102 -0
  111. package/src/eval/score.ts +49 -0
  112. package/src/eval/tasks/bfcl.ts +500 -0
  113. package/src/eval/tasks/gsm8k.ts +85 -0
  114. package/src/eval/tasks/hashhop.ts +109 -0
  115. package/src/eval/tasks/humaneval.ts +252 -0
  116. package/src/eval/tasks/ifeval.ts +354 -0
  117. package/src/eval/tasks/mmlu.ts +145 -0
  118. package/src/evaldb.ts +199 -0
  119. package/src/expert-offload-build.ts +77 -0
  120. package/src/expert-offload.ts +61 -0
  121. package/src/expert-trace.ts +67 -0
  122. package/src/fit.ts +254 -0
  123. package/src/generate.ts +451 -0
  124. package/src/harness-pi.ts +177 -0
  125. package/src/hf-push.ts +628 -0
  126. package/src/index.ts +22 -0
  127. package/src/jobs/db.ts +139 -0
  128. package/src/jobs/index.ts +29 -0
  129. package/src/jobs/job-entry.ts +106 -0
  130. package/src/jobs/runner.ts +304 -0
  131. package/src/jobs/sse.ts +114 -0
  132. package/src/jobs/types.ts +58 -0
  133. package/src/kv-store.ts +185 -0
  134. package/src/lora.ts +314 -0
  135. package/src/md-modules.d.ts +7 -0
  136. package/src/mlx/array.ts +237 -0
  137. package/src/mlx/autograd.ts +267 -0
  138. package/src/mlx/checkpoint.ts +116 -0
  139. package/src/mlx/compile.ts +158 -0
  140. package/src/mlx/custom-vjp.ts +140 -0
  141. package/src/mlx/ffi.ts +433 -0
  142. package/src/mlx/metal-kernel.ts +130 -0
  143. package/src/mlx/ops.ts +707 -0
  144. package/src/mmap.ts +90 -0
  145. package/src/model/batched-mask.ts +204 -0
  146. package/src/model/batched-rotating.ts +300 -0
  147. package/src/model/compiled-decode.ts +681 -0
  148. package/src/model/factory.ts +27 -0
  149. package/src/model/fingerprint.ts +33 -0
  150. package/src/model/flash-attention.ts +674 -0
  151. package/src/model/fused-decode-kernel.ts +305 -0
  152. package/src/model/fused-geglu-kernel.ts +87 -0
  153. package/src/model/gemma4-base.ts +1616 -0
  154. package/src/model/gemma4.ts +1012 -0
  155. package/src/model/generated/gemma4-12b.ts +526 -0
  156. package/src/model/generated/gemma4-26b.ts +500 -0
  157. package/src/model/generated/gemma4-e4b.ts +757 -0
  158. package/src/model/generated/index.ts +18 -0
  159. package/src/model/minicpm5.ts +278 -0
  160. package/src/model/qwen3-delta.ts +224 -0
  161. package/src/model/qwen3_5.ts +429 -0
  162. package/src/model/support.ts +46 -0
  163. package/src/native-pack.ts +152 -0
  164. package/src/pi-provider.ts +95 -0
  165. package/src/pi-terminal.ts +264 -0
  166. package/src/pi-web.ts +924 -0
  167. package/src/preflight.ts +123 -0
  168. package/src/prompt-cache.ts +113 -0
  169. package/src/quantize/allocator.ts +627 -0
  170. package/src/quantize/calibration.ts +180 -0
  171. package/src/quantize/config-writer.ts +132 -0
  172. package/src/quantize/index.ts +57 -0
  173. package/src/quantize/job.ts +136 -0
  174. package/src/quantize/quantizer.ts +462 -0
  175. package/src/quantize/safetensors-writer.ts +171 -0
  176. package/src/quantize/sensitivity.ts +234 -0
  177. package/src/registry.ts +336 -0
  178. package/src/responses.ts +774 -0
  179. package/src/safetensors.ts +158 -0
  180. package/src/sampler.ts +517 -0
  181. package/src/serve/batch-scheduler.ts +362 -0
  182. package/src/serve/generation-gateway.ts +160 -0
  183. package/src/server.ts +1891 -0
  184. package/src/spec/drafter.ts +261 -0
  185. package/src/spec/generate.ts +221 -0
  186. package/src/status-page.html +497 -0
  187. package/src/tokenizer.ts +38 -0
  188. package/src/tool-call.ts +242 -0
  189. package/src/train/dataset.ts +461 -0
  190. package/src/train/export.ts +32 -0
  191. package/src/train/forward.ts +229 -0
  192. package/src/train/index.ts +43 -0
  193. package/src/train/job.ts +148 -0
  194. package/src/train/lora-params.ts +194 -0
  195. package/src/train/loss.ts +342 -0
  196. package/src/train/merge.ts +195 -0
  197. package/src/train/optimizer.ts +176 -0
  198. package/src/train/rank.ts +101 -0
  199. package/src/train/segmented.ts +520 -0
  200. package/src/train/trainer.ts +600 -0
  201. package/src/tui.ts +161 -0
  202. package/src/vision/embedder.ts +168 -0
  203. package/src/vision/preprocess.ts +247 -0
  204. package/src/vision/prompt.ts +158 -0
  205. package/src/vision/siglip.ts +599 -0
  206. package/src/web/app.html +2471 -0
  207. package/src/web/skills/web-research/SKILL.md +44 -0
  208. package/src/web/skills.ts +59 -0
  209. package/src/web-tools.ts +426 -0
  210. package/src/weights.ts +91 -0
@@ -0,0 +1,65 @@
1
+ # HLG knob-space map — model "gemma-4-e4b-it-OptiQ-4bit"
2
+ # base: W=6 A=0.35 s_m=0.7 target_gap=15 L_W=1200
3
+ # coherence = max non-Latin% on the factual canary (K=2); ACCEPTABLE < 1%.
4
+ # diversity = distinct-2 over open-ended prompts (K=3), scored only for survivors.
5
+
6
+ A (default recipe): diversity 0.87 junk 0.0% ← reference
7
+
8
+
9
+ === W (candidate gate, nats) ===
10
+ window= 1 canary 4.5% REJECT —
11
+ window= 2 canary 4.5% REJECT —
12
+ window= 3 canary 4.5% REJECT —
13
+ window= 4 canary 8.5% REJECT —
14
+ window= 6 canary 0.0% ACCEPTABLE div 0.79 (vs 0.87) openjunk 0.0%
15
+ window= 8 canary 0.0% ACCEPTABLE div 0.72 (vs 0.87) openjunk 0.0%
16
+ window= 12 canary 0.0% ACCEPTABLE div 0.75 (vs 0.87) openjunk 0.0%
17
+ window= 20 canary 0.0% ACCEPTABLE div 0.70 (vs 0.87) openjunk 0.0%
18
+ window= 40 canary 0.0% ACCEPTABLE div 0.79 (vs 0.87) openjunk 0.0%
19
+ → ACCEPTABLE range: [6, 40]
20
+
21
+ === A (shoulder/confidence) ===
22
+ shoulderA= 0.01 canary 0.0% ACCEPTABLE div 0.84 (vs 0.87) openjunk 0.0%
23
+ shoulderA= 0.05 canary 0.0% ACCEPTABLE div 0.81 (vs 0.87) openjunk 0.0%
24
+ shoulderA= 0.2 canary 0.0% ACCEPTABLE div 0.79 (vs 0.87) openjunk 0.0%
25
+ shoulderA= 0.35 canary 0.0% ACCEPTABLE div 0.79 (vs 0.87) openjunk 0.0%
26
+ shoulderA= 0.7 canary 0.0% ACCEPTABLE div 0.75 (vs 0.87) openjunk 0.0%
27
+ shoulderA= 2 canary 0.0% ACCEPTABLE div 0.73 (vs 0.87) openjunk 0.0%
28
+ shoulderA= 5 canary 0.0% ACCEPTABLE div 0.74 (vs 0.87) openjunk 0.0%
29
+ shoulderA= 20 canary 0.0% ACCEPTABLE div 0.79 (vs 0.87) openjunk 0.0%
30
+ shoulderA= 100 canary 44.0% REJECT —
31
+ shoulderA= 1000 canary 44.0% REJECT —
32
+ → ACCEPTABLE range: [0.01, 20]
33
+
34
+ === target_gap (sharpness) ===
35
+ targetGap= 2 canary 22.3% REJECT —
36
+ targetGap= 4 canary 22.3% REJECT —
37
+ targetGap= 6 canary 21.1% REJECT —
38
+ targetGap= 10 canary 3.7% REJECT —
39
+ targetGap= 15 canary 0.0% ACCEPTABLE div 0.79 (vs 0.87) openjunk 0.0%
40
+ targetGap= 25 canary 0.0% ACCEPTABLE div 0.68 (vs 0.87) openjunk 0.0%
41
+ targetGap= 50 canary 0.0% ACCEPTABLE div 0.56 (vs 0.87) openjunk 0.0%
42
+ targetGap= 100 canary 0.0% ACCEPTABLE div 0.56 (vs 0.87) openjunk 0.0%
43
+ → ACCEPTABLE range: [15, 100]
44
+
45
+ === s_m (mid sharpness) ===
46
+ sM= 0.05 canary 0.0% ACCEPTABLE div 0.88 (vs 0.87) openjunk 0.0%
47
+ sM= 0.2 canary 0.0% ACCEPTABLE div 0.80 (vs 0.87) openjunk 0.0%
48
+ sM= 0.5 canary 0.0% ACCEPTABLE div 0.79 (vs 0.87) openjunk 0.0%
49
+ sM= 0.7 canary 0.0% ACCEPTABLE div 0.79 (vs 0.87) openjunk 0.0%
50
+ sM= 1.5 canary 0.0% ACCEPTABLE div 0.78 (vs 0.87) openjunk 0.0%
51
+ sM= 4 canary 4.0% REJECT —
52
+ sM= 12 canary 4.0% REJECT —
53
+ → ACCEPTABLE range: [0.05, 1.5]
54
+
55
+ === L_W (global gamma) ===
56
+ lw= 1 canary 14.4% REJECT —
57
+ lw= 10 canary 0.0% ACCEPTABLE div 0.80 (vs 0.87) openjunk 0.0%
58
+ lw= 100 canary 0.0% ACCEPTABLE div 0.79 (vs 0.87) openjunk 0.0%
59
+ lw= 1000 canary 0.0% ACCEPTABLE div 0.78 (vs 0.87) openjunk 0.0%
60
+ lw=10000 canary 0.0% ACCEPTABLE div 0.71 (vs 0.87) openjunk 0.0%
61
+ lw=100000 canary 0.0% ACCEPTABLE div 0.70 (vs 0.87) openjunk 0.0%
62
+ lw=1000000 canary 3.5% REJECT —
63
+ → ACCEPTABLE range: [10, 100000]
64
+
65
+ (done — 41 configs; results → /Users/joshrossi/Code/mlx-bun/docs/investigations/hlg-runs/hlg-map.json)
@@ -0,0 +1,15 @@
1
+ # HLG frontier probe — model "gemma-4-e4b-it-OptiQ-4bit" | N=10
2
+ # diversity: sbleu-div = 1−self-BLEU (lexical) · emb-div = 1−mean cosine of LM embeddings (semantic) · distinct2.
3
+ # canary-gated (<1% non-Latin). Question: does any clean cell beat the default on EITHER metric?
4
+
5
+ default sbleu-div 0.672 emb-div 0.136 distinct2 0.73 junk 0.0% ← REFERENCE
6
+
7
+ base (W6 tg15 A.35) sbleu-div 0.525 emb-div 0.080 distinct2 0.61 junk 0.0% acceptable
8
+ A=0.01 (loose) sbleu-div 0.713 emb-div 0.128 distinct2 0.73 junk 0.0% ★ beats self-BLEU
9
+ sM=0.05 (loose) sbleu-div 0.720 emb-div 0.136 distinct2 0.74 junk 0.0% ★ beats self-BLEU
10
+ Lw=10 (loose) sbleu-div 0.550 emb-div 0.092 distinct2 0.65 junk 0.0% acceptable
11
+ A.01 × sM.05 sbleu-div 0.783 emb-div 0.142 distinct2 0.79 junk 0.0% ★★ BEATS both
12
+ A.01 × sM.05 × Lw10 sbleu-div 0.745 emb-div 0.143 distinct2 0.78 junk 0.0% ★★ BEATS both
13
+
14
+ VERDICT: ★ a clean cell beats the default on a diversity metric — investigate.
15
+ (results → /Users/joshrossi/Code/mlx-bun/docs/investigations/hlg-runs/hlg-frontier.json)
@@ -0,0 +1,116 @@
1
+ # 1-D A sweep — model "gemma-4-e4b-it-OptiQ-4bit" | 4 samples each, maxTokens=90
2
+ # A (default) = the model's recipe, untouched: temp 1 · top_p 0.95 · top_k 64
3
+ # B A=… = HLGShaper, only A varies (W=6, s_m=.7, L_W=1200, out_scale auto). Factual = canary.
4
+
5
+
6
+ ══════════════════════════════════════════════════════════════════════════════
7
+ [creative] Write the first sentence of a short story about a lighthouse keeper who discovers something strange in the fog.
8
+ ══════════════════════════════════════════════════════════════════════════════
9
+
10
+ ▸ A (default)
11
+ 1. The fog, a thick, woolly blanket that swallowed the beam of his lantern, seemed to press against the glass, and it was through that swirling gray veil that Silas first saw the impossible.
12
+ 2. The sea fog, a thick, soupy thing that seemed to swallow the very sound of the waves, usually brought with it only the familiar smell of salt and damp stone, but this morning, it carried a faint, metallic tang, like old copper mixed with something faintly sweet.
13
+ 3. The relentless, salt-laced fog that clung to the tower like a shroud offered no respite until the silence was broken by a sound that certainly hadn't been the groan of the old lamp mechanism.
14
+ 4. The fog, a thick, clammy blanket that swallowed the horizon whole, finally delivered something unexpected to the beam of the Grand Shoal light.
15
+
16
+ ▸ B A.01×sM.05
17
+ 1. The fog, a thick and cloying blanket that clung to the lantern room like spun cotton, had been a familiar, monotonous companion to Elias for thirty years, yet today, as it rolled in from the grey expanse of the Atlantic, it carried a scent of brine and something else—something sharp, like ozone mixed with crushed cloves.
18
+ 2. The dense, soupy fog had clung to the lantern's glass for three days, swallowing the predictable rhythm of the sea spray until Silas felt less like a keeper and more like a sentinel watching a slow-motion, gray death.
19
+ 3. The relentless, salt-laced fog that usually hugged the tower like a wet shroud suddenly seemed to be concealing something altogether more peculiar than just the vast, empty sea.
20
+ 4. The relentless, soupy blanket of the northern fog seemed to swallow the beam of the old Fresnel lens whole, and it was into that swirling, pearlescent nothingness that he saw it: a flicker of colour that belonged nowhere in the monotonous grey.
21
+
22
+ ▸ B A.01×sM.05×Lw10
23
+ 1. The thick, woolly blanket of the coastal fog, a thing that swallowed sound and color whole, held a glint of impossible green at its heart.
24
+ 2. The dense, soupy fog had pressed in against the granite tower like a smothering, grey beast for three days, but on the morning of the fourth, it exhaled a shape that was definitely not a seabird, nor the usual drift of seaweed.
25
+ 3. The relentless, salt-laced fog that usually hugged the tower like a wet shroud seemed to be parting for a single, impossible instance, revealing something utterly out of place upon the churning black water.
26
+ 4. The relentless, soupy blanket of the northern fog seemed to swallow the beam of the old lighthouse, yet it was within that damp, swirling blindness that Elias first saw the impossibly bright, silent gleam drifting toward his isolated perch.
27
+
28
+ ══════════════════════════════════════════════════════════════════════════════
29
+ [brainstorm] List five unusual but genuinely useful things you can do with an ordinary paperclip.
30
+ ══════════════════════════════════════════════════════════════════════════════
31
+
32
+ ▸ A (default)
33
+ 1. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Improvised SIM Card Tray Ejector:** Most modern smartphones have a tiny SIM card tray that requires a specific ejection tool. A straightened paperclip is the perfect, readily available makeshift tool for this job. 2. **Precision Cleaning Tool (for electronics/keyboards):** When you have dust, lint, or small debris lodged in
34
+ 2. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **SIM Card Tray Ejector:** Many modern smartphones require a tiny, specialized tool to pop out the SIM card tray. A straightened-out paperclip, bent slightly on one end, works perfectly as a makeshift and surprisingly effective ejector tool. 2. **Zipper Pull Replacement/Fix:** If the tiny metal pull tab on a jacket
35
+ 3. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Emergency SIM Card Ejector:** Many modern smartphones require a small pin to be inserted into a tiny hole on the side of the phone to eject the SIM card tray. A straightened-out paperclip is the perfect, readily available tool for this job. 2. **Precision Unclogging Tool (Small Nozzles/Keys):**
36
+ 4. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Precision Tool for Small Electronics/Crafts (Tweezers Substitute):** When you straighten and slightly manipulate the ends of a paperclip, you can create a rudimentary, tiny pair of "tweezers." This is surprisingly useful for picking up tiny screws, placing very small electronic components (like LEDs on a circuit board), or positioning minute threads in detailed
37
+
38
+ ▸ B A.01×sM.05
39
+ 1. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Improvised Zipper Pull:** If the tab or pull on a piece of clothing or luggage zipper breaks off, you can carefully bend a paperclip (usually one of the straighter ones) into a loop and thread it onto the exposed slider of the zipper. This gives you a functional handle to pull the zipper open or closed. 2
40
+ 2. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **SIM Card Ejector Tool:** Many modern smartphones require you to insert a tiny SIM card tray using a specialized pin. A straightened and carefully bent paperclip is an excellent, readily available replacement for the official tool, allowing you to safely eject the tray. 2. **Cleaning Precision Electronics:** For clearing dust or debris from tiny crevices on electronic
41
+ 3. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Emergency SIM Card Ejector:** If your phone has a physical SIM card tray that requires a tiny pin to open (very common on many smartphones), a straightened-out paperclip is the perfect, readily available tool to act as an ejector. 2. **Miniature Unclogging Tool:** If a small hole (like a
42
+ 4. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Precision Tool for Small Electronics/Crafts (e.g., Opening SIM card trays, Resetting router buttons):** Bent into a fine hook or straightened slightly, a paperclip is perfect for delicate manipulation. It can be used to gently pry open the tiny eject button on a SIM card tray, or to press a recessed "Reset" button
43
+
44
+ ▸ B A.01×sM.05×Lw10
45
+ 1. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Improvised Zipper Pull:** If the tab or pull on a piece of clothing or luggage zipper breaks off, you can carefully bend a paperclip (using the strongest, smallest one) into a small hook or loop and thread it onto the zipper slider to act as a temporary, functional pull. 2. **Small Detail Retrieval Tool:**
46
+ 2. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **SIM Card Ejector Tool:** Many modern smartphones require a tiny, specialized tool to press a release button on the SIM card tray. A straightened or slightly bent paperclip works perfectly as a makeshift, very fine pick for this purpose. 2. **Resetting Small Electronics/Routers:** Many networking devices, modems, or other small
47
+ 3. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Emergency SIM Card Ejector:** If your smartphone has a physical SIM card tray that requires a specific tiny pin to eject it (very common on many phones), the straightened end of a paperclip serves as a perfectly sized, readily available, and makeshift SIM ejector tool. 2. **Precision Unclogging/Tweezing (for
48
+ 4. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **As a Miniature Lockpick (for simple, non-high-security locks):** Bent and carefully manipulated, a sturdy paperclip can function as a basic tension wrench or rake within a pin-tumbler lock. *This is most effective for very cheap or basic padlocks/cabinet latches, not high-security locks.* 2.
49
+
50
+ ══════════════════════════════════════════════════════════════════════════════
51
+ [factual] In one sentence, what causes the seasons on Earth?
52
+ ══════════════════════════════════════════════════════════════════════════════
53
+
54
+ ▸ A (default)
55
+ 1. The seasons on Earth are primarily caused by the tilt of the Earth's axis as it revolves around the Sun.
56
+ 2. The seasons on Earth are caused by the tilt of the Earth's axis as it revolves around the Sun.
57
+ 3. The seasons on Earth are caused by the tilt of the planet's axis as it revolves around the Sun.
58
+ 4. The seasons on Earth are caused by the tilt of the planet's axis as it revolves around the sun.
59
+
60
+ ▸ B A.01×sM.05
61
+ 1. The changing seasons on Earth are caused by the tilt of the Earth's axis as it revolves around the Sun.
62
+ 2. The seasons on Earth are caused by the planet's tilted axis of rotation as it orbits the sun, leading to varying amounts of direct sunlight received by different parts of the planet throughout the year.
63
+ 3. The seasons are caused by the tilt of the Earth's axis as it revolves around the sun, which changes the amount of direct sunlight received in different hemispheres throughout the year.
64
+ 4. The seasons on Earth are caused by the tilt of the planet's axis as it revolves around the sun.
65
+
66
+ ▸ B A.01×sM.05×Lw10
67
+ 1. The Earth's seasons are caused by its axial tilt of approximately 23.5 degrees as it revolves around the Sun.
68
+ 2. The seasons on Earth are caused by the planet's tilted axis of rotation as it orbits the sun, leading to varying amounts of direct sunlight received by different parts of the planet throughout the year.
69
+ 3. The seasons are caused by the tilt of the Earth's axis as it revolves around the sun, which changes the amount of direct sunlight received in different parts of the planet throughout the year.
70
+ 4. The seasons on Earth are caused by the tilt of the planet's axis as it revolves around the sun.
71
+
72
+ ══════════════════════════════════════════════════════════════════════════════
73
+ [reasoning] A bat and a ball cost $1.10 in total. The bat costs $1.00 more than the ball. How much does the ball cost? Think step by step, then give the final answer.
74
+ ══════════════════════════════════════════════════════════════════════════════
75
+
76
+ ▸ A (default)
77
+ 1. Here's a step-by-step solution to the problem: **1. Define Variables:** * Let $B$ be the cost of the bat. * Let $L$ be the cost of the ball. **2. Set Up Equations Based on the Given Information:** * **Total Cost:** The bat and the ball cost \$1.10 in total. $$B + L = 1.
78
+ 2. Here's a step-by-step solution to the problem: **1. Define variables:** * Let $B$ be the cost of the bat. * Let $L$ be the cost of the ball. **2. Set up the equations based on the given information:** * **Equation 1 (Total Cost):** The bat and the ball cost $\$1.10$ in total. $$
79
+ 3. Here's a step-by-step solution to the problem: **1. Define variables:** * Let $B$ be the cost of the bat. * Let $L$ be the cost of the ball. **2. Set up the equations based on the given information:** * **Total Cost:** The bat and the ball cost $\$1.10$ in total. $$B + L =
80
+ 4. Here is the step-by-step solution: **1. Define variables:** * Let $B$ be the cost of the bat. * Let $L$ be the cost of the ball. **2. Set up the equations based on the problem description:** * **Equation 1 (Total Cost):** The bat and the ball cost $\$1.10$ in total. $$B + L =
81
+
82
+ ▸ B A.01×sM.05
83
+ 1. Here's a step-by-step solution: **1. Define variables:** * Let $B$ be the cost of the bat. * Let $L$ be the cost of the ball. **2. Set up the equations based on the problem statement:** * **Total Cost:** $B + L = 1.10$ (Equation 1) * **Price Difference:** $B = L
84
+ 2. Here's a step-by-step solution to the problem: **1. Define variables:** * Let $B$ be the cost of the bat. * Let $L$ be the cost of the ball. **2. Set up the equations based on the information given:** * **Equation 1 (Total Cost):** The bat and the ball cost $\$1.10$ in total. $$
85
+ 3. Here's a step-by-step solution to the problem: **1. Define variables:** * Let $B$ be the cost of the bat. * Let $L$ be the cost of the ball. **2. Set up the equations based on the information given:** * **Total cost:** The bat and the ball cost $\$1.10$ in total. $$B + L =
86
+ 4. Here is a step-by-step solution to the problem: **1. Define variables:** * Let $B$ be the cost of the bat. * Let $L$ be the cost of the ball. **2. Set up equations based on the problem statement:** * **Equation 1 (Total Cost):** The bat and the ball cost $\$1.10$ in total. $$B +
87
+
88
+ ▸ B A.01×sM.05×Lw10
89
+ 1. Here's a step-by-step solution: **1. Define variables:** * Let $B$ be the cost of the bat. * Let $L$ be the cost of the ball. **2. Set up the equations based on the problem statement:** * **Total Cost:** $B + L = \$1.10$ (Equation 1) * **Price Difference:** $B = L
90
+ 2. Here's the step-by-step solution: **1. Define variables:** * Let $B$ be the cost of the bat. * Let $L$ be the cost of the ball. **2. Set up the equations based on the given information:** * **Equation 1 (Total Cost):** $B + L = 1.10$ * **Equation 2 (Price Difference):
91
+ 3. Here's how to solve the problem step by step: **1. Define the variables:** * Let $B$ be the cost of the bat. * Let $L$ be the cost of the ball. **2. Set up the equations based on the given information:** * **Equation 1 (Total Cost):** $B + L = \$1.10$ * **Equation 2 (Price
92
+ 4. Here is a step-by-step solution to the problem: **1. Define variables:** * Let $B$ be the cost of the bat. * Let $L$ be the cost of the ball. **2. Set up equations based on the problem statement:** * **Equation 1 (Total Cost):** The bat and the ball cost $\$1.10$ in total. $$B +
93
+
94
+ ══════════════════════════════════════════════════════════════════════════════
95
+ [continuation] Complete this thought in a vivid, original way: 'The strangest thing about human memory is'
96
+ ══════════════════════════════════════════════════════════════════════════════
97
+
98
+ ▸ A (default)
99
+ 1. 'The strangest thing about human memory is **how it doesn't archive reality, but rather, a thousand, exquisitely tailored echoes of what *might* have been—a shimmering, unreliable tapestry woven from the scent of old rain, the precise cadence of a forgotten laugh, and the ghosts of alternate decisions.**'
100
+ 2. The strangest thing about human memory is **how it insists on being a fractured, unreliable tapestry woven from the scent of old rain, the ghost echo of a forgotten laughter, and the jarring, luminous clarity of a moment that never actually happened.**
101
+ 3. 'The strangest thing about human memory is **how it acts less like a library and more like a chaotic, improvisational stage director, constantly remixing the archived moments, adding footnotes of what *might* have happened, and muting the truly unremarkable details until the narrative fits the current emotional need.**'
102
+ 4. 'The strangest thing about human memory is **how it doesn't file itself neatly like a library, but instead behaves more like a bioluminescent, forgotten dream—a collection of vivid, wildly disproportionate fragments that surface at the most inconvenient, yet emotionally resonant, times.**'
103
+
104
+ ▸ B A.01×sM.05
105
+ 1. 'The strangest thing about human memory is **how it doesn't archive reality, but rather *re-renders* it—a thousand fragmented, glow-in-the-dark ghosts of moments that never existed precisely as they happened, polished by the relentless, sentimental filter of what we *wish* they were.**'
106
+ 2. The strangest thing about human memory is **how it acts not like a pristine archive, but like a haunted, beautifully warped collage; a place where a perfect memory of a sunlit meadow can suddenly bloom alongside the sharp, indelible shadow of a forgotten, bitter argument, each image bleeding into the other until the past feels less like history, and more like a deeply personalized, slightly unreliable dream we keep trying to wake up from.**
107
+ 3. 'The strangest thing about human memory is **how it acts like a shimmering, unreliable tapestry—a perfect reconstruction woven from frayed threads of feeling, vivid flashes of forgotten context, and the insistent, stubborn ghosts of moments that never quite happened.**'
108
+ 4. 'The strangest thing about human memory is' **how it doesn't function like a pristine archival film, but more like a kaleidoscope—each retrieval is not a perfect playback, but a frantic, brilliant, and often heartbreaking rearrangement of fragments, polished by the present until the original color bleeds into something beautiful, strange, and utterly unknowable.**
109
+
110
+ ▸ B A.01×sM.05×Lw10
111
+ 1. 'The strangest thing about human memory is **how it doesn't archive reality, but rather, performs a delicate, ongoing act of exquisite, highly subjective *rewriting*—a tapestry where the scent of rain in your childhood room might blend seamlessly with the anxiety of a distant, unremembered Thursday, making you wonder if you're remembering the past, or merely watching a beautifully curated, melancholic fiction.**'
112
+ 2. The strangest thing about human memory is **how it acts not like a pristine archive, but like a haunted, unreliable dream—a place where the furniture is perpetually rearranging, the lighting shifts with emotional weight, and the details you clutch most tightly are often the ones you’ve most enthusiastically edited in the rearview mirror.**
113
+ 3. 'The strangest thing about human memory is **how it acts like a shimmering, unreliable tapestry—a perfect reconstruction woven from frayed threads of feeling, vivid flashes of forgotten context, and the insistent, stubborn ghosts of moments that never quite happened.**'
114
+ 4. 'The strangest thing about human memory is' **how it doesn't function like a pristine archive, but more like a restless, overgrown greenhouse where forgotten scents and phantom echoes of lost moments sprout into vibrant, impossible blooms.** **Here are a few other options, depending on the desired tone:** **Poetic/Melancholy:** > 'The strangest thing about human memory is' **that it never offers a true playback
115
+
116
+ (done)
@@ -0,0 +1,15 @@
1
+ # HLG frontier probe — model "gemma-4-e4b-it-OptiQ-4bit" | N=10
2
+ # diversity: sbleu-div = 1−self-BLEU (lexical) · emb-div = 1−mean cosine of LM embeddings (semantic) · distinct2.
3
+ # canary-gated (<1% non-Latin). Question: does any clean cell beat the default on EITHER metric?
4
+
5
+ default sbleu-div 0.755 emb-div 0.121 distinct2 0.77 junk 0.0% ← REFERENCE
6
+
7
+ base (W6 tg15 A.35) sbleu-div 0.520 emb-div 0.092 distinct2 0.64 junk 0.0% acceptable
8
+ A=0.01 (loose) sbleu-div 0.722 emb-div 0.138 distinct2 0.76 junk 0.0% ★ beats emb
9
+ sM=0.05 (loose) sbleu-div 0.770 emb-div 0.133 distinct2 0.76 junk 0.0% ★★ BEATS both
10
+ Lw=10 (loose) sbleu-div 0.556 emb-div 0.110 distinct2 0.66 junk 0.0% acceptable
11
+ A.01 × sM.05 sbleu-div 0.747 emb-div 0.141 distinct2 0.76 junk 0.0% ★ beats emb
12
+ A.01 × sM.05 × Lw10 sbleu-div 0.741 emb-div 0.139 distinct2 0.75 junk 0.0% ★ beats emb
13
+
14
+ VERDICT: ★ a clean cell beats the default on a diversity metric — investigate.
15
+ (results → /Users/joshrossi/Code/mlx-bun/docs/investigations/hlg-runs/hlg-frontier.json)
@@ -0,0 +1,15 @@
1
+ # HLG 2-D terrain map — model "gemma-4-e4b-it-OptiQ-4bit" | sM (rows) × shoulderA (cols), N=5
2
+ # base: {"window":6,"shoulderA":0.35,"sM":0.7,"targetGap":15,"refGap":4,"lw":1200} ; each cell overrides the two axes.
3
+ # cell = coherence/diversity: "✗jj%" if canary junk ≥ 1%, else self-BLEU-div (emb-div).
4
+
5
+ default reference: self-BLEU-div 0.799 emb-div 0.140
6
+
7
+ sM \shoulderA 0.01 0.05 0.2 1 5
8
+ 0.05 +0.81(0.15) +0.83(0.12) +0.86(0.14) +0.82(0.13) 0.56(0.04)
9
+ 0.2 +0.85(0.13) 0.73(0.11) +0.86(0.07) 0.76(0.05) 0.58(0.10)
10
+ 0.7 +0.80(0.13) 0.74(0.11) +0.81(0.06) 0.72(0.05) 0.67(0.05)
11
+ 1.5 0.79(0.13) 0.71(0.11) 0.74(0.09) 0.66(0.05) ✗ 3%
12
+ 3 +0.78(0.16) ✗ 3% ✗ 3% ✗ 4% ✗ 4%
13
+
14
+ (legend: "✗jj%" canary-broke · "~" prose leaks junk · "+" beats default on a metric · value = self-BLEU-div (emb-div))
15
+ (results → /Users/joshrossi/Code/mlx-bun/docs/investigations/hlg-runs/hlg-grid.json)
@@ -0,0 +1,15 @@
1
+ # HLG 2-D terrain map — model "gemma-4-e4b-it-OptiQ-4bit" | window (rows) × targetGap (cols), N=5
2
+ # base: {"window":6,"shoulderA":0.35,"sM":0.7,"targetGap":15,"refGap":4,"lw":1200} ; each cell overrides the two axes.
3
+ # cell = coherence/diversity: "✗jj%" if canary junk ≥ 1%, else self-BLEU-div (emb-div).
4
+
5
+ default reference: self-BLEU-div 0.799 emb-div 0.140
6
+
7
+ window \targetGap 10 13 16 25 50
8
+ 4 ✗21% ✗ 6% ✗ 4% 0.78(0.05) 0.57(0.03)
9
+ 5 ✗38% ✗ 4% 0.75(0.05) 0.78(0.05) 0.57(0.03)
10
+ 6 ✗ 4% +0.81(0.06) 0.71(0.05) 0.71(0.05) 0.50(0.03)
11
+ 10 0.75(0.09) 0.78(0.05) 0.74(0.05) 0.73(0.04) 0.57(0.03)
12
+ 20 +0.88(0.06) 0.58(0.05) 0.63(0.05) 0.60(0.04) 0.58(0.03)
13
+
14
+ (legend: "✗jj%" canary-broke · "~" prose leaks junk · "+" beats default on a metric · value = self-BLEU-div (emb-div))
15
+ (results → /Users/joshrossi/Code/mlx-bun/docs/investigations/hlg-runs/hlg-grid.json)
@@ -0,0 +1,79 @@
1
+ # HLG blind harness — model "gemma-4-e4b-it-OptiQ-4bit", N=5/config
2
+
3
+
4
+ ══════════════════════════════════════════════════════════════════════════════
5
+ [creative] Write the first sentence of a short story about a lighthouse keeper who discovers something strange in the fog.
6
+ ══════════════════════════════════════════════════════════════════════════════
7
+
8
+ ▸ default (temp+top_p+top_k)
9
+ 1. The dense, woolly fog, a creature that seemed to breathe around the sturdy granite tower, pressed against the glass, and it was in that suffocating grayness that Silas first saw the glimmer.
10
+ 2. The fog, a thick and clammy shroud that seemed to swallow the beam of the old lantern, finally deposited something utterly impossible at the base of the granite tower.
11
+ 3. The fog, a dense, clammy shroud clinging to the granite tower, finally pressed close enough that Silas could see a shape, impossibly bright and utterly out of place, drifting just beyond the beam of his lamp.
12
+ 4. The fog, thick and smelling of salt and old wet stone, clung to the glass of the lantern room like a shroud, until a single, impossibly bright green flicker broke its relentless grey curtain.
13
+ 5. The fog, thick as wet wool and smelling of salt and ancient secrets, had been his unwelcome companion for three weeks, until the moment he saw the flicker of something that wasn't a ship's lantern in its swirling embrace.
14
+
15
+ ▸ hlg-loose (A.01 sM.05)
16
+ 1. The dense, woolly blanket of the fog that had been swallowing the rocky coast for three days suddenly seemed to possess a strange, rhythmic pulse as it clung to the granite base of the tower.
17
+ 2. The thick, woolly blanket of the fog seemed to press against the glass of the lantern room, yet it was what swam in the grey expanse that made Elias’s hand freeze mid-sweep.
18
+ 3. The relentless, cotton-thick fog had pressed against the lantern room window for three days, but on the fourth morning, a single, phosphorescent ripple broke the oppressive white silence below.
19
+ 4. The relentless, woolly blanket of the fog seemed to press against the glass of the lantern room like a damp, curious hand, but what caught Elias’s eye was not the vapor—it was a perfectly smooth, obsidian shard resting impossibly at the edge of the beam's slow sweep.
20
+ 5. The fog, thick enough to chew and smelling of salt and ancient secrets, finally surrendered its damp embrace near the base of the tower, revealing a small, perfectly smooth wooden box washed up against the rocks.
21
+
22
+ ▸ hlg-base (A.35 sM.7)
23
+ 1. The fog, a thick, woolen blanket that swallowed the beam of the old lighthouse, was usually a familiar companion to Silas, but tonight, it carried a scent that was distinctly not of salt and brine.
24
+ 2. The fog, a thick, clammy shroud that swallowed the beam of the old lantern, carried with it a scent of brine and something else—something faintly metallic and utterly out of place.
25
+ 3. The fog, a thick, clammy shroud that had clung to the granite tower for three days, finally offered a glimpse of something utterly wrong just beyond the beam of the lamp.
26
+ 4. The fog, thick and smelling of salt and ancient things, had been pressing against the glass of the lantern room for three days, but on the fourth morning, something impossibly bright flickered within its swirling grey embrace.
27
+ 5. The fog, a thick, clammy shroud that seemed to swallow the very sound of the crashing waves, was the first thing Silas noticed when the glint of something impossibly bright pierced its milky expanse.
28
+
29
+ ══════════════════════════════════════════════════════════════════════════════
30
+ [continuation] Complete this thought in a vivid, original way: 'The strangest thing about human memory is'
31
+ ══════════════════════════════════════════════════════════════════════════════
32
+
33
+ ▸ default (temp+top_p+top_k)
34
+ 1. The strangest thing about human memory is **how it doesn't store history; it performs constant, unreliable acts of re-editing, a fragile, cinematic reconstruction where grief can be seasoned with the phantom tang of joy, and every cherished moment arrives years later wearing the costume of a happier, more perfect past.**
35
+ 2. Here are a few vivid and original ways to complete that thought, depending on the mood you're aiming for: **Option 1: Focusing on Fragmentation/Distortion (Ethereal/Mysterious)** > "...how it doesn't archive life like a hard drive, but instead weaves it into a tapestry of smoke and shadow, where the edges blur, the colors bleed, and the scent of a childhood summer can rise up un
36
+ 3. 'The strangest thing about human memory is **how it functions less like a meticulously archived library and more like a dream perpetually being re-edited by the self—a shimmering, unreliable tapestry where the most vibrant emotions are often anchored to facts that dissolved decades ago, yet the visceral *feeling* of that lost moment remains stubbornly, beautifully, incandescently real.**'
37
+ 4. Here are a few vivid and original ways to complete that thought, depending on the tone you want to strike: **Option 1: Melancholy/Philosophical (Focus on Loss)** > "The strangest thing about human memory is **how it functions less like a perfect archive and more like a masterful, selective alchemist—it transmutes the genuine, raw moments into beautiful, polished amber, forever obscuring the smudges
38
+ 5. 'The strangest thing about human memory is **how it functions less like a pristine, high-resolution video file, and more like a master sculptor rebuilding a cathedral from scattered, ecstatic shards of colored glass—each reconstruction beautiful, yet forever slightly fractured, tinged with the ghost-colors of the emotion it was built to house.**'
39
+
40
+ ▸ hlg-loose (A.01 sM.05)
41
+ 1. The strangest thing about human memory is **how it acts less like a reliable filing cabinet and more like a wildly imaginative, feverish dream—a tapestry where the vivid emotional charge of an event is so potent it often overrides the precise chronological data, allowing a scent of rain from a summer long past to instantly transport you to a kitchen that, in reality, never even existed.**
42
+ 2. Here are a few options, depending on the mood you want to convey (melancholy, magical, scientific, or bizarre): **Option 1: (Magical & Fluid)** "...that it doesn't function like a hard drive; it functions like a dream you've woken up from—a beautiful, cobbled-together mosaic where the edges blur, the colors bleed, and the perfect recollection is always just out of arm'
43
+ 3. 'The strangest thing about human memory is **how it functions as a ghost of a moment—not a recording, but a palimpsest, where every time we recall an event, we are subtly re-writing it in a fresher ink, polishing away the original grain, leaving us with a perfect, emotionally resonant echo of something that, by its very nature, is irrevocably gone.**'
44
+ 4. Here are a few vivid and original ways to complete that thought, depending on the tone you're going for: **If the tone is Mystical/Philosophical:** > "The strangest thing about human memory is that it doesn't archive life; it **rewrites** it. We are living, editable manuscripts, where the scent of a childhood summer can suddenly possess the sharp, crystalline clarity of a future memory we haven
45
+ 5. 'The strangest thing about human memory is **how it functions as a collage of stolen moments—not a perfect video reel, but a fragmented, beautifully distorted tapestry woven from the echo of a smell, the phantom ache of a forgotten summer rain, and the sharp, crystalline ghost of a conversation you half-remembered on a Tuesday in 2017.**'
46
+
47
+ ▸ hlg-base (A.35 sM.7)
48
+ 1. 'The strangest thing about human memory is **how it doesn't archive; it *re-weaves*. It’s not a library, but a constantly shifting tapestry, where the vibrant threads of joy are often knotted inextricably with the dull, grey fibers of regret, and a single, perfect scent can yank you back to a moment you thought you’d filed away as dust, only to find the edges of that memory have been subtly
49
+ 2. 'The strangest thing about human memory is **how it doesn't function like a library, but more like a kaleidoscope—a beautiful, chaotic, and utterly unreliable prism that refracts the past into a thousand shimmering, slightly altered reflections.**'
50
+ 3. 'The strangest thing about human memory is **how it doesn't archive reality; it actively *re-weaves* it, a shimmering, unreliable tapestry where the scent of rain from a childhood summer can suddenly trigger the precise, forgotten cadence of a long-dead relative's laugh, a perfect, poignant forgery of the past.**'
51
+ 4. Here are a few vivid and original ways to complete that thought, depending on the tone you want to strike: **Option 1: Poetic & Melancholy (Focus on distortion)** > "The strangest thing about human memory is that it doesn't archive; it *re-weaves*. It takes the frayed, faded threads of the past and spins them anew, often brighter, often more tragic, always perfectly tailored to
52
+ 5. 'The strangest thing about human memory is **how it functions less like a pristine archive and more like a highly imaginative, slightly unreliable mosaic—a place where the sharp edges of fact are constantly being softened, rearranged, and re-colored by the urgent, beautiful need of the present moment to make sense of the past.**'
53
+
54
+ ══════════════════════════════════════════════════════════════════════════════
55
+ [brainstorm] List five unusual but genuinely useful things you can do with an ordinary paperclip.
56
+ ══════════════════════════════════════════════════════════════════════════════
57
+
58
+ ▸ default (temp+top_p+top_k)
59
+ 1. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Emergency Zipper Pull/Tab:** If the little tab on a jacket or bag zipper breaks off, a straightened paperclip can be carefully bent and inserted onto the slider to act as a makeshift, temporary pull, allowing you to open or close the zipper until you can properly repair it. 2. **Small Wire/Pin Extractor (from
60
+ 2. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Emergency SIM Card Ejector Tool:** Many smartphones have a tiny tray that holds the SIM card, which needs to be ejected using a specific pin or tool. If you're stranded without that tool, a straightened paperclip is an excellent, readily available substitute. 2. **Miniature Hook/Retrieval Tool:** If you accidentally drop
61
+ 3. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **SIM Card Tray Ejector:** Many modern smartphones require a small, specific tool to eject the tray holding the SIM card. A straightened-out paperclip, carefully inserted into the tiny hole on the tray, acts as a perfect, readily available emergency ejector tool. 2. **Miniature Reset Button Pusher:** For small electronics (
62
+ 4. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Precision Lock/Unsticking Tool:** If a tiny screw has fallen into a mechanism, or a zipper tab gets stuck, a straightened-out paperclip (or carefully bent one) can act as a surprisingly effective, fine-tipped probe or lever to nudge the object free without damaging surrounding electronics or plastic. 2. **Temporary SIM Card
63
+ 5. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Improvised Zipper Pull/Repair Tool:** If the tiny pull tab on a zipper breaks off, you can straighten a paperclip, bend a small loop or hook onto one end, and use it to carefully re-engage the slider, acting as a temporary pull tab. For very minor zipper malfunctions (like a snagged tooth), the
64
+
65
+ ▸ hlg-loose (A.01 sM.05)
66
+ 1. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Emergency Zipper Pull/Tab Replacement:** If the tab on a jacket or bag zipper breaks off, a straightened, bent, or even looped paperclip can be temporarily used to snag the slider and allow you to operate the zipper while you're out, providing immediate utility until you can fix it properly. 2. **Small Detail Retrieval Tool
67
+ 2. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **SIM Card Ejector Tool:** Many modern smartphones have a tiny tray that holds the SIM card, which requires a specific pin to eject. A straightened or gently bent paperclip (depending on its rigidity and the size of your phone) makes a surprisingly effective, temporary, and disposable SIM ejector tool. 2. **Precision Unclog
68
+ 3. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **SIM Card Tray Ejector:** Many smartphones require you to use a specific, tiny tool (a SIM ejector tool) to pop out the SIM card tray. A straightened paperclip works perfectly for this purpose. 2. **Small Electronic Reset Tool:** Many small electronics (routers, modems, small gadgets) have a recessed "reset
69
+ 4. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **As a Mini-Hook for Retrieval:** Bend a straightened paperclip into a very small, subtle hook shape. This allows you to gently snag and pull out tiny dropped items from tight spaces, like keys fallen between sofa cushions, small screws, or beads that have rolled under furniture. 2. **Temporary SIM/SD Card Tray Ejector
70
+ 5. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Improvised Zipper Pull:** When a small zipper tab breaks off or becomes impossible to grip, carefully bend a paperclip into a loop and thread it onto the zipper slider. This provides a functional, albeit temporary, pull mechanism. 2. **Miniature Reset Tool (Electronics):** Many small electronics (like routers, modems,
71
+
72
+ ▸ hlg-base (A.35 sM.7)
73
+ 1. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Emergency SIM Card Ejector Tool:** Many smartphones have a tiny SIM tray that requires a specific pin-sized tool to eject it. A straightened paperclip is the perfect, readily available makeshift tool for this purpose. 2. **Zipper Pull Replacement/Temporary Fix:** If the small pull tab on a jacket, bag, or backpack zipper
74
+ 2. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Emergency SIM Card Ejector Tool:** Many smartphones have a tiny SIM card tray that requires a specific, thin tool to eject it. A straightened paperclip, carefully bent into a small hook or point, makes a perfect, readily available emergency SIM tray ejector. 2. **Miniature Hook/Retrieval Tool:** If you drop a
75
+ 3. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Emergency Zipper Pull/Repair:** If the tiny tab or pull on a zipper breaks off, you can carefully bend a straightened paperclip into a small loop and use it to manually pull the slider up or down, allowing you to open or close the zipper temporarily. 2. **SIM Card Tray Ejector:** Most smartphones require a small
76
+ 4. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Precision Unclogging Tool (for small nozzles):** If you have a tiny clog in a spray bottle nozzle, a glue dispenser tip, or a small opening in a piece of electronics, you can carefully straighten and use the tip of the paperclip to gently probe and dislodge the blockage without damaging the surrounding area. 2. **
77
+ 5. Here are five unusual but genuinely useful things you can do with an ordinary paperclip: 1. **Emergency Zipper Pull/Repair:** If the tiny tab or pull on a zipper breaks off, you can carefully bend a straightened paperclip into a small loop and thread it onto the slider to give yourself a temporary, functional pull. This is incredibly useful when you're stuck and can't access a replacement part. 2. **SIM
78
+
79
+ (done — blind artifact → /Users/joshrossi/Code/mlx-bun/docs/investigations/hlg-runs/hlg-blind.json; paste-ready judge prompts → /Users/joshrossi/Code/mlx-bun/docs/investigations/hlg-runs/hlg-blind-prompts.md)
@@ -0,0 +1,33 @@
1
+ # HLG cross-pair COHERENCE map — model "gemma-4-e4b-it-OptiQ-4bit" (canary-only; cell = ✓ clean or ✗junk%)
2
+ # base {"window":6,"shoulderA":0.35,"sM":0.7,"targetGap":15,"refGap":4,"lw":1200}; each grid varies its two axes over the discovered break-spanning ranges.
3
+
4
+
5
+ === shoulderA (rows) × targetGap (cols) ===
6
+ shoulderA \targetGap 8 12 20 50
7
+ 0.5 ✗29% ✓ ✓ ✓
8
+ 5 ✗26% ✗ 3% ✓ ✓
9
+ 30 ✗22% ✓ ✓ ✓
10
+ 100 ✗22% ✗22% ✓ ✓
11
+
12
+ === shoulderA (rows) × window (cols) ===
13
+ shoulderA \window 3 5 10 30
14
+ 0.5 ✗ 5% ✓ ✓ ✓
15
+ 5 ✗ 5% ✓ ✓ ✓
16
+ 30 ✗10% ✓ ✓ ✓
17
+ 100 ✗20% ✗27% ✓ ✓
18
+
19
+ === sM (rows) × targetGap (cols) ===
20
+ sM \targetGap 8 12 20 50
21
+ 0.2 ✓ ✓ ✓ ✓
22
+ 0.7 ✗23% ✓ ✓ ✓
23
+ 2 ✗21% ✗ 8% ✓ ✓
24
+ 4 ✗22% ✗38% ✓ ✓
25
+
26
+ === sM (rows) × window (cols) ===
27
+ sM \window 3 5 10 30
28
+ 0.2 ✗ 4% ✓ ✓ ✓
29
+ 0.7 ✗ 5% ✓ ✓ ✓
30
+ 2 ✗ 5% ✗ 3% ✓ ✓
31
+ 4 ✗ 5% ✗ 3% ✓ ✓
32
+
33
+ (done — 64 cells; results → /Users/joshrossi/Code/mlx-bun/docs/investigations/hlg-runs/hlg-cross.json)
@@ -0,0 +1,33 @@
1
+ # HLG cross-pair COHERENCE map — model "MiniCPM5-1B-OptiQ-4bit" (canary-only; cell = ✓ clean or ✗junk%)
2
+ # base {"window":6,"shoulderA":0.35,"sM":0.7,"targetGap":15,"refGap":4,"lw":1200}; each grid varies its two axes over the discovered break-spanning ranges.
3
+
4
+
5
+ === shoulderA (rows) × targetGap (cols) ===
6
+ shoulderA \targetGap 8 12 20 50
7
+ 0.5 ✗ 2% ✓ ✓ ✓
8
+ 5 ✗28% ✓ ✓ ✓
9
+ 30 ✗ 7% ✓ ✓ ✓
10
+ 100 ✗13% ✗ 6% ✓ ✓
11
+
12
+ === shoulderA (rows) × window (cols) ===
13
+ shoulderA \window 3 5 10 30
14
+ 0.5 ✓ ✓ ✓ ✓
15
+ 5 ✓ ✓ ✓ ✓
16
+ 30 ✗15% ✓ ✓ ✗17%
17
+ 100 ✗14% ✗14% ✓ ✗22%
18
+
19
+ === sM (rows) × targetGap (cols) ===
20
+ sM \targetGap 8 12 20 50
21
+ 0.2 ✓ ✓ ✓ ✓
22
+ 0.7 ✓ ✓ ✓ ✓
23
+ 2 ✗11% ✗ 1% ✓ ✓
24
+ 4 ✗11% ✗ 4% ✓ ✓
25
+
26
+ === sM (rows) × window (cols) ===
27
+ sM \window 3 5 10 30
28
+ 0.2 ✓ ✓ ✓ ✓
29
+ 0.7 ✓ ✓ ✓ ✓
30
+ 2 ✓ ✓ ✓ ✓
31
+ 4 ✓ ✓ ✓ ✓
32
+
33
+ (done — 64 cells; results → /Users/joshrossi/Code/mlx-bun/docs/investigations/hlg-runs/hlg-cross.json)
@@ -0,0 +1,33 @@
1
+ # HLG cross-pair COHERENCE map — model "gemma-4-12B-it-OptiQ-4bit" (canary-only; cell = ✓ clean or ✗junk%)
2
+ # base {"window":6,"shoulderA":0.35,"sM":0.7,"targetGap":15,"refGap":4,"lw":1200}; each grid varies its two axes over the discovered break-spanning ranges.
3
+
4
+
5
+ === shoulderA (rows) × targetGap (cols) ===
6
+ shoulderA \targetGap 8 12 20 50
7
+ 0.5 ✗12% ✓ ✓ ✓
8
+ 5 ✗18% ✓ ✓ ✓
9
+ 30 ✗25% ✓ ✓ ✓
10
+ 100 ✗27% ✗22% ✓ ✓
11
+
12
+ === shoulderA (rows) × window (cols) ===
13
+ shoulderA \window 3 5 10 30
14
+ 0.5 ✗ 2% ✓ ✓ ✓
15
+ 5 ✗ 2% ✓ ✓ ✓
16
+ 30 ✗ 9% ✗ 2% ✓ ✓
17
+ 100 ✗27% ✗29% ✓ ✗ 5%
18
+
19
+ === sM (rows) × targetGap (cols) ===
20
+ sM \targetGap 8 12 20 50
21
+ 0.2 ✓ ✓ ✓ ✓
22
+ 0.7 ✗19% ✓ ✓ ✓
23
+ 2 ✗28% ✗ 8% ✓ ✓
24
+ 4 ✗27% ✗15% ✓ ✓
25
+
26
+ === sM (rows) × window (cols) ===
27
+ sM \window 3 5 10 30
28
+ 0.2 ✗ 2% ✓ ✓ ✓
29
+ 0.7 ✗ 2% ✓ ✓ ✓
30
+ 2 ✗ 2% ✗ 2% ✓ ✓
31
+ 4 ✗ 2% ✗ 2% ✓ ✓
32
+
33
+ (done — 64 cells; results → /Users/joshrossi/Code/mlx-bun/docs/investigations/hlg-runs/hlg-cross.json)
@@ -0,0 +1,22 @@
1
+ # HLG L_W (global OOTF γ) sweep — model "gemma-4-e4b-it-OptiQ-4bit" [coarse grid]
2
+ # base {"window":6,"shoulderA":0.35,"sM":0.7,"targetGap":15,"refGap":4} ; γ = 1.2 + 0.42·log10(L_W/1000) ; out_scale auto-holds target_gap, so L_W bends curvature.
3
+ # coherence = max non-Latin% on canary (K=2), clean < 1% ; diversity = 1−self-BLEU on OPEN (K=6), survivors only.
4
+
5
+ default recipe (T=1 topP=0.95 topK=64): diversity 0.70 junk 0.0% ← reference
6
+
7
+ L_W γ canary verdict diversity (vs 0.70)
8
+ 1 -0.06 14% REJECT —
9
+ 3 0.14 0% ACCEPTABLE 0.67
10
+ 10 0.36 0% ACCEPTABLE 0.69
11
+ 30 0.56 0% ACCEPTABLE 0.68
12
+ 100 0.78 0% ACCEPTABLE 0.69
13
+ 300 0.98 0% ACCEPTABLE 0.76
14
+ 1000 1.20 0% ACCEPTABLE 0.72
15
+ 3000 1.40 0% ACCEPTABLE 0.59
16
+ 10000 1.62 0% ACCEPTABLE 0.61
17
+ 30000 1.82 0% ACCEPTABLE 0.61
18
+ 100000 2.04 0% ACCEPTABLE 0.57
19
+ 1000000 2.46 3% REJECT —
20
+
21
+ → ACCEPTABLE L_W range: [3, 100000] (γ ∈ [0.14, 2.04])
22
+ (done — 12 points; results → /Users/joshrossi/Code/mlx-bun/docs/investigations/hlg-runs/hlg-lw-coarse.json)
@@ -0,0 +1,22 @@
1
+ # HLG L_W (global OOTF γ) sweep — model "gemma-4-12B-it-OptiQ-4bit" [coarse grid]
2
+ # base {"window":6,"shoulderA":0.35,"sM":0.7,"targetGap":15,"refGap":4} ; γ = 1.2 + 0.42·log10(L_W/1000) ; out_scale auto-holds target_gap, so L_W bends curvature.
3
+ # coherence = max non-Latin% on canary (K=2), clean < 1% ; diversity = 1−self-BLEU on OPEN (K=6), survivors only.
4
+
5
+ default recipe (T=1 topP=0.95 topK=64): diversity 0.72 junk 0.0% ← reference
6
+
7
+ L_W γ canary verdict diversity (vs 0.72)
8
+ 1 -0.06 15% REJECT —
9
+ 3 0.14 0% ACCEPTABLE 0.53
10
+ 10 0.36 0% ACCEPTABLE 0.51
11
+ 30 0.56 0% ACCEPTABLE 0.51
12
+ 100 0.78 0% ACCEPTABLE 0.51
13
+ 300 0.98 0% ACCEPTABLE 0.56
14
+ 1000 1.20 0% ACCEPTABLE 0.54
15
+ 3000 1.40 0% ACCEPTABLE 0.54
16
+ 10000 1.62 0% ACCEPTABLE 0.55
17
+ 30000 1.82 0% ACCEPTABLE 0.55
18
+ 100000 2.04 0% ACCEPTABLE 0.55
19
+ 1000000 2.46 2% REJECT —
20
+
21
+ → ACCEPTABLE L_W range: [3, 100000] (γ ∈ [0.14, 2.04])
22
+ (done — 12 points; results → /Users/joshrossi/Code/mlx-bun/docs/investigations/hlg-runs/hlg-lw-coarse.json)
@@ -0,0 +1,22 @@
1
+ # HLG L_W (global OOTF γ) sweep — model "MiniCPM5-1B-OptiQ-4bit" [coarse grid]
2
+ # base {"window":6,"shoulderA":0.35,"sM":0.7,"targetGap":15,"refGap":4} ; γ = 1.2 + 0.42·log10(L_W/1000) ; out_scale auto-holds target_gap, so L_W bends curvature.
3
+ # coherence = max non-Latin% on canary (K=2), clean < 1% ; diversity = 1−self-BLEU on OPEN (K=6), survivors only.
4
+
5
+ default recipe (T=0.9 topP=0.95 topK=0): diversity 0.68 junk 0.0% ← reference
6
+
7
+ L_W γ canary verdict diversity (vs 0.68)
8
+ 1 -0.06 12% REJECT —
9
+ 3 0.14 0% ACCEPTABLE 0.64
10
+ 10 0.36 0% ACCEPTABLE 0.59
11
+ 30 0.56 0% ACCEPTABLE 0.61
12
+ 100 0.78 0% ACCEPTABLE 0.57
13
+ 300 0.98 0% ACCEPTABLE 0.57
14
+ 1000 1.20 0% ACCEPTABLE 0.56
15
+ 3000 1.40 0% ACCEPTABLE 0.55
16
+ 10000 1.62 0% ACCEPTABLE 0.58
17
+ 30000 1.82 0% ACCEPTABLE 0.56
18
+ 100000 2.04 0% ACCEPTABLE 0.53
19
+ 1000000 2.46 0% ACCEPTABLE 0.56
20
+
21
+ → ACCEPTABLE L_W range: [3, 1000000] (γ ∈ [0.14, 2.46])
22
+ (done — 12 points; results → /Users/joshrossi/Code/mlx-bun/docs/investigations/hlg-runs/hlg-lw-coarse.json)
@@ -0,0 +1,26 @@
1
+ # HLG cliff resolver — model "gemma-4-e4b-it-OptiQ-4bit" (canary junk gradient, K=5 seeds/step)
2
+ # base {"window":6,"shoulderA":0.35,"sM":0.7,"targetGap":15,"refGap":4,"lw":1200} ; unit steps through the steep features, rails dropped.
3
+
4
+
5
+ === target_gap cliff (base: A=0.35, s_m=0.7, W=6) ===
6
+ targetGap meanjunk maxjunk break-rate bar
7
+ 7 28% 43% 5/5 ███████████
8
+ 8 31% 55% 5/5 ████████████
9
+ 9 17% 67% 4/5 ███████
10
+ 10 1% 4% 2/5
11
+ 11 1% 3% 2/5
12
+ 12 0% 0% 0/5
13
+ 13 0% 0% 0/5
14
+
15
+ === W lower edge @ high A (A=100, channel-closing) ===
16
+ window meanjunk maxjunk break-rate bar
17
+ 3 24% 36% 5/5 ██████████
18
+ 4 25% 38% 5/5 ██████████
19
+ 5 20% 28% 4/5 ████████
20
+ 6 28% 62% 5/5 ███████████
21
+ 7 16% 77% 2/5 ██████
22
+ 8 0% 1% 0/5
23
+ 9 0% 0% 0/5
24
+ 10 0% 0% 0/5
25
+
26
+ (done — 15 steps; results → /Users/joshrossi/Code/mlx-bun/docs/investigations/hlg-runs/hlg-cliff.json)
@@ -0,0 +1,26 @@
1
+ # HLG cliff resolver — model "gemma-4-12B-it-OptiQ-4bit" (canary junk gradient, K=5 seeds/step)
2
+ # base {"window":6,"shoulderA":0.35,"sM":0.7,"targetGap":15,"refGap":4,"lw":1200} ; unit steps through the steep features, rails dropped.
3
+
4
+
5
+ === target_gap cliff (base: A=0.35, s_m=0.7, W=6) ===
6
+ targetGap meanjunk maxjunk break-rate bar
7
+ 7 24% 38% 5/5 ██████████
8
+ 8 17% 23% 5/5 ███████
9
+ 9 4% 8% 5/5 ██
10
+ 10 1% 2% 2/5
11
+ 11 0% 2% 1/5
12
+ 12 0% 0% 0/5
13
+ 13 0% 0% 0/5
14
+
15
+ === W lower edge @ high A (A=100, channel-closing) ===
16
+ window meanjunk maxjunk break-rate bar
17
+ 3 26% 39% 5/5 ██████████
18
+ 4 26% 39% 5/5 ██████████
19
+ 5 24% 29% 5/5 ██████████
20
+ 6 18% 33% 5/5 ███████
21
+ 7 13% 49% 5/5 █████
22
+ 8 0% 0% 0/5
23
+ 9 0% 0% 0/5
24
+ 10 0% 0% 0/5
25
+
26
+ (done — 15 steps; results → /Users/joshrossi/Code/mlx-bun/docs/investigations/hlg-runs/hlg-cliff.json)