hizrianraz commited on
Commit
1993625
·
verified ·
1 Parent(s): 57aa785

docs(public): professional cards, PII-clean measured surface, exclusive research/prompts off HF

Browse files
Files changed (46) hide show
  1. LAUNCH_AUG3.md +23 -25
  2. NOTICE +3 -3
  3. README.md +246 -118
  4. SHA256SUMS +5 -20
  5. SPARK.md +10 -8
  6. docs/BUILD_SPARK.md +9 -4
  7. docs/REPRODUCE.md +20 -5
  8. docs/WEIGHTS_LOCAL.md +2 -2
  9. docs/rename_Agentic_20260729T135518_wib.json +1 -1
  10. eval/agent_smoke/README.md +1 -1
  11. eval/agent_smoke/cases.json +2 -2
  12. eval/agent_smoke/run_smoke.py +1 -1
  13. eval/hermes_agent_smoke/README.md +69 -19
  14. eval/hermes_agent_smoke/run_hermes_smoke.py +4 -4
  15. eval/smoke_viewer.html +137 -0
  16. hermes/README.md +56 -9
  17. hermes/config.example.yaml +50 -0
  18. prompts/_mirror/README-SPARK-HIZRIANRAZ.md +0 -11
  19. prompts/chatgpt-analyze-laguna-s-2026-07-29.md +0 -122
  20. prompts/chatgptwork-laguna-s-plus-xs-2026-07-28.md +0 -84
  21. prompts/claude-analyze-laguna-s-2026-07-29.md +0 -148
  22. prompts/claudecowork-laguna-s-plus-xs-2026-07-28.md +0 -86
  23. research/Laguna-XS-2.1-Mac-Agentic-fit-2026-07-28.md +0 -110
  24. research/agentic-quant-hermes-hf-trending-2026-07-28.md +0 -234
  25. research/device-quant-matrix-aug3.md +0 -118
  26. research/laguna-xs-2.1-mac-fit-2026-07-28.md +0 -110
  27. research/phone-bonsai-ios-android-2026-07-28.md +0 -284
  28. research/post-freeze-smaller-device-path.md +0 -74
  29. research/quant-comparison-scoreboard-2026-07-28.md +0 -112
  30. research/roadmap-dual-s-and-xs-2026-07-28.md +0 -106
  31. results/LAST_GREEN_PIN.md +2 -2
  32. results/MEASURED.md +3 -3
  33. results/agent_smoke.json +2 -2
  34. results/freeze_gate_model_card_lock_set_2026-07-29.json +23 -19
  35. results/freeze_notes_2026-07-29.md +15 -7
  36. results/freeze_readiness_2026-07-29_accel.json +2 -2
  37. results/hermes_agent_smoke.json +1 -1
  38. results/hf_publish.json +37 -20
  39. results/launch_lock.json +5 -5
  40. results/measured.json +3 -3
  41. results/sku_unsloth-ud-iq3-s/README.md +1 -1
  42. results/xs_mac_track_lock.json +10 -10
  43. scripts/_stamp_accel_receipts.py +4 -4
  44. scripts/measure_layer_b_v3.sh +68 -0
  45. scripts/pull_official_gguf.sh +1 -1
  46. scripts/serve_spark.sh +1 -1
LAUNCH_AUG3.md CHANGED
@@ -1,19 +1,18 @@
1
  # Laguna Spark HF launch lock — 2026-08-03
2
 
3
  Status: **LOCKED** · measure tip + model card + lock set filled `2026-07-29T14:43:26+07:00`
4
- Owner: personal (hizrianraz)
5
  Repo: https://huggingface.co/hizrianraz/Laguna-S-2.1-Spark-Agentic
6
- Timezone: Asia/Jakarta (WIB)
7
 
8
  ## Freeze window
9
 
10
  | When | Action |
11
  |------|--------|
12
- | Now → Aug 2 18:00 WIB | Build + measure only |
13
- | Aug 2 18:00 WIB | Content freeze (no new claims without re-measure) |
14
- | Aug 3 09:00 WIB | Preflight |
15
- | Aug 3 12:00 WIB | **GO LIVE** (card + announce ready state) |
16
- | Aug 3 18:00 WIB | Post-launch verify + brief |
17
 
18
  ## Launch definition of done (all required)
19
 
@@ -24,27 +23,26 @@ Timezone: Asia/Jakarta (WIB)
24
  5. Measured artifacts on HF (not only local): `results/measured.json`, `server_bench.json`, `agent_smoke.json` (+ receipt)
25
  6. agent_smoke headline honest:
26
  - Min ship: **≥38/40 (95%)**
27
- - **Current measured: 40/40 (100%)** · **84.86s** live tip 2026-07-29 13:22 WIB · pack `bf82eab`
28
- 7. Gen throughput quote: **~21.47 tok/s** @ 128 completion (multi suite; pre-smoke gen128 22.50)
29
- 8. Clear disclaimer: personal · not first quant · not Poolside/Nous affiliate
30
  9. No DIY GGUF unless it beats a scoreboard cell (default: **bind official only**)
31
  10. Launch receipt JSON written + card updated same day
32
- 11. **Freeze gate filled:** model card + lock set (`results/freeze_gate_model_card_lock_set_2026-07-29.json`)
33
 
34
  ## Live tip (binding until weights/runners change)
35
 
36
  | Field | Value |
37
  |-------|--------|
38
- | Pack git | `bf82eab5fd6c1fb04e863f0c4b05b5658dec4aee` |
39
  | Engine | poolsideai/llama.cpp `04b2b72` |
40
  | Quant | official Q4_K_M · sha256 `a8b55c75714ea73fd90ec85de5defdc0b8d88ca0ad2108343cdd8fc22f7583e4` |
41
  | agent_smoke | **40/40** · 84.86s · runner `3bb81080…` |
42
  | hermes v2 | **27/27** · 100.1s · runner `20c1e52a…` |
43
- | gen128 quote | **21.47 t/s** |
44
  | Artifacts | `results/measured.json` · `MEASURED.md` · smokes |
45
 
46
  Re-smoke only if weights, runners, or serve flags change. Fresh same-harness green may refresh elapsed without claim change.
47
-
48
  ## Non-goals (hard)
49
 
50
  - Org / company product branding on this surface
@@ -52,17 +50,17 @@ Re-smoke only if weights, runners, or serve flags change. Fresh same-harness gre
52
  - Side-quest models under this tag
53
  - Fake 100% smoke or unverified tok/s
54
  - X/public brand push beyond HF card before launch
55
- - Local S weights on founder Mac32G
56
  - XS inside S freeze artifact
57
 
58
- ## Daily clock (WIB)
59
 
60
  | Day | Date | Theme | Exit gate |
61
  |-----|------|-------|-----------|
62
  | T-6 | Jul 28 | Lock + HF gap close | measured JSON on HF, launch file live |
63
  | T-5 | Jul 29 | Smoke harden + freeze-gate fill | **DONE** — 40/40 · 27/27 · card+locks filled |
64
  | T-4 | Jul 30 | DFlash / serve sweep | **DONE early 2026-07-29** — DFlash **DO_NOT_PROMOTE** (15.286 vs ~21.5); baseline re-health HEALTH_OK; stranger dry PASS; scoreboard row live |
65
- | T-3 | Jul 31 | Card polish | stranger dry already PASS; optional card polish only |
66
  | T-2 | Aug 1 | Buffer / second measure | optional Unsloth abort/keep only if free |
67
  | T-1 | Aug 2 | Freeze 18:00 | final push; no claim changes after freeze |
68
  | T-0 | Aug 3 | Launch 12:00 | go-live receipt; 18:00 verify brief |
@@ -72,17 +70,16 @@ Re-smoke only if weights, runners, or serve flags change. Fresh same-harness gre
72
  Smoke gate clear: **40/40 measured** on tip `bf82eab`. Hold that bar through freeze; if a later re-run slips, ship last green with named fails (never invent).
73
 
74
  If Spark down at launch: freeze last green MEASURED row; do not invent numbers.
75
- If HF token dies: restore the personal Hugging Face write token from the local secret store only; never paste token in chat.
76
 
77
  ## Announce text (draft — edits OK)
78
 
79
- > Personal DGX Spark agent-runtime pack for Poolside Laguna-S-2.1: measured OpenAI-compatible serve, fixed agent smoke **40/40**, Hermes-class **27/27**, ~21.5 t/s @128, official Q4_K_M digests (no bare re-upload).
80
  > https://huggingface.co/hizrianraz/Laguna-S-2.1-Spark-Agentic
81
 
82
  ## Authority
83
 
84
- Personal founder surface only. Docs/results may be pushed to this HF repo.
85
- No company vault binding for this pack.
86
 
87
  ## Quant compare + smaller-device path (Aug 3 accelerated)
88
 
@@ -92,8 +89,8 @@ No company vault binding for this pack.
92
  - Pull helper: `scripts/pull_sku.sh <sku_id>`
93
  - Headline remains Spark **official Q4_K_M** measured row
94
  - Smaller SKUs ship as **pointers + optional same-harness delta** — promote to scoreboard only at ≥ official−2
95
- - Founder Mac32G: **client → Spark only** for full S; XS = parallel unmeasured track
96
- - No bulk third-party LFS rehost; no public promo before Aug 3 12:00 WIB
97
 
98
  ## Hermes-class smoke v2
99
 
@@ -101,7 +98,8 @@ No company vault binding for this pack.
101
  - Does **not** replace launch bar `agent_smoke` 40/40
102
  - **Measured tip 2026-07-29: 27/27** in 100.1s · artifact `results/hermes_agent_smoke.json`
103
  - Card lists **27/27 hermes_agent_smoke** alongside **40/40 agent_smoke**
104
- - **Public promo** (X / social / “top trending” push): still wait until **2026-08-03 12:00 WIB**
 
105
 
106
  ## Promo timing (lock)
107
 
@@ -109,4 +107,4 @@ No company vault binding for this pack.
109
  |---------|------|
110
  | HF pack docs + measured artifacts | now → freeze (keep honest) |
111
  | Soft profile link (GH bio / HF details) | optional now, factual only |
112
- | Public launch / announce / trending push | **Aug 3 12:00 WIB**, not before |
 
1
  # Laguna Spark HF launch lock — 2026-08-03
2
 
3
  Status: **LOCKED** · measure tip + model card + lock set filled `2026-07-29T14:43:26+07:00`
 
4
  Repo: https://huggingface.co/hizrianraz/Laguna-S-2.1-Spark-Agentic
5
+ Timezone: local (UTC+7)
6
 
7
  ## Freeze window
8
 
9
  | When | Action |
10
  |------|--------|
11
+ | Now → Aug 2 18:00 local | Build + measure only |
12
+ | Aug 2 18:00 local | Content freeze (no new claims without re-measure) |
13
+ | Aug 3 09:00 local | Preflight |
14
+ | Aug 3 12:00 local | **GO LIVE** (card + announce ready state) |
15
+ | Aug 3 18:00 local | Post-launch verify + brief |
16
 
17
  ## Launch definition of done (all required)
18
 
 
23
  5. Measured artifacts on HF (not only local): `results/measured.json`, `server_bench.json`, `agent_smoke.json` (+ receipt)
24
  6. agent_smoke headline honest:
25
  - Min ship: **≥38/40 (95%)**
26
+ - **Current measured: 40/40 (100%)** · **84.86s** live tip 2026-07-29 13:22 local · pack `bf82eab`
27
+ 7. Gen throughput quote (sole headline): **~21.47 tok/s** @ 128 completion from multi suite in `results/measured.json`
28
+ 8. Clear disclaimer: independent · not first quant · not Poolside/Nous affiliate
29
  9. No DIY GGUF unless it beats a scoreboard cell (default: **bind official only**)
30
  10. Launch receipt JSON written + card updated same day
31
+ 11. **Freeze gate filled:** model card + **S-only** locks (`results/freeze_gate_model_card_lock_set_2026-07-29.json`) — XS lock is parallel research, not S freeze set
32
 
33
  ## Live tip (binding until weights/runners change)
34
 
35
  | Field | Value |
36
  |-------|--------|
37
+ | Measure tip (provenance) | `bf82eab5fd6c1fb04e863f0c4b05b5658dec4aee` — docs tip may advance after |
38
  | Engine | poolsideai/llama.cpp `04b2b72` |
39
  | Quant | official Q4_K_M · sha256 `a8b55c75714ea73fd90ec85de5defdc0b8d88ca0ad2108343cdd8fc22f7583e4` |
40
  | agent_smoke | **40/40** · 84.86s · runner `3bb81080…` |
41
  | hermes v2 | **27/27** · 100.1s · runner `20c1e52a…` |
42
+ | gen128 quote | **21.47 t/s** (do not headline short single-shot or pre-smoke spikes) |
43
  | Artifacts | `results/measured.json` · `MEASURED.md` · smokes |
44
 
45
  Re-smoke only if weights, runners, or serve flags change. Fresh same-harness green may refresh elapsed without claim change.
 
46
  ## Non-goals (hard)
47
 
48
  - Org / company product branding on this surface
 
50
  - Side-quest models under this tag
51
  - Fake 100% smoke or unverified tok/s
52
  - X/public brand push beyond HF card before launch
53
+ - Local S weights on Apple Silicon32 GB class
54
  - XS inside S freeze artifact
55
 
56
+ ## Daily clock (local)
57
 
58
  | Day | Date | Theme | Exit gate |
59
  |-----|------|-------|-----------|
60
  | T-6 | Jul 28 | Lock + HF gap close | measured JSON on HF, launch file live |
61
  | T-5 | Jul 29 | Smoke harden + freeze-gate fill | **DONE** — 40/40 · 27/27 · card+locks filled |
62
  | T-4 | Jul 30 | DFlash / serve sweep | **DONE early 2026-07-29** — DFlash **DO_NOT_PROMOTE** (15.286 vs ~21.5); baseline re-health HEALTH_OK; stranger dry PASS; scoreboard row live |
63
+ | T-3 | Jul 31 | Card polish | **DONE early 2026-07-29** — Layer B live **35/35** research receipt; stale “no live claim” wording cleared; freeze bars untouched |
64
  | T-2 | Aug 1 | Buffer / second measure | optional Unsloth abort/keep only if free |
65
  | T-1 | Aug 2 | Freeze 18:00 | final push; no claim changes after freeze |
66
  | T-0 | Aug 3 | Launch 12:00 | go-live receipt; 18:00 verify brief |
 
70
  Smoke gate clear: **40/40 measured** on tip `bf82eab`. Hold that bar through freeze; if a later re-run slips, ship last green with named fails (never invent).
71
 
72
  If Spark down at launch: freeze last green MEASURED row; do not invent numbers.
73
+ If HF token dies: restore HF write token from local secret store only; never paste token in chat.
74
 
75
  ## Announce text (draft — edits OK)
76
 
77
+ > Independent DGX Spark agent-runtime pack for Poolside Laguna-S-2.1: measured OpenAI-compatible serve, fixed agent smoke **40/40**, Hermes-class **27/27**, ~21.5 t/s @128, official Q4_K_M digests (no bare re-upload).
78
  > https://huggingface.co/hizrianraz/Laguna-S-2.1-Spark-Agentic
79
 
80
  ## Authority
81
 
82
+ Independent pack surface. Docs/results may be pushed to this HF repo.
 
83
 
84
  ## Quant compare + smaller-device path (Aug 3 accelerated)
85
 
 
89
  - Pull helper: `scripts/pull_sku.sh <sku_id>`
90
  - Headline remains Spark **official Q4_K_M** measured row
91
  - Smaller SKUs ship as **pointers + optional same-harness delta** — promote to scoreboard only at ≥ official−2
92
+ - Apple Silicon32 GB: **client → Spark only** for full S; XS = parallel unmeasured track
93
+ - No bulk third-party LFS rehost; no public promo before Aug 3 12:00 local
94
 
95
  ## Hermes-class smoke v2
96
 
 
98
  - Does **not** replace launch bar `agent_smoke` 40/40
99
  - **Measured tip 2026-07-29: 27/27** in 100.1s · artifact `results/hermes_agent_smoke.json`
100
  - Card lists **27/27 hermes_agent_smoke** alongside **40/40 agent_smoke**
101
+ - Layer B research (**35** = 27+8): live **35/35** · 137.56s · 2026-07-29 · receipt `eval/hermes_agent_smoke/layer_b_v3_live_receipt.json` — **not** a freeze-bar field
102
+ - **Public promo** (X / social / “top trending” push): still wait until **2026-08-03 12:00 local**
103
 
104
  ## Promo timing (lock)
105
 
 
107
  |---------|------|
108
  | HF pack docs + measured artifacts | now → freeze (keep honest) |
109
  | Soft profile link (GH bio / HF details) | optional now, factual only |
110
+ | Public launch / announce / trending push | **Aug 3 12:00 local**, not before |
NOTICE CHANGED
@@ -1,6 +1,6 @@
1
  NOTICE
2
 
3
- This pack documents personal Spark runtime notes for poolside/Laguna-S-2.1
4
  under OpenMDW-1.1. See LICENSE.md (upstream model repo copy) and
5
  LICENSE.openmdw-1.1.txt.
6
 
@@ -8,8 +8,8 @@ Upstream model: poolside/Laguna-S-2.1
8
  Upstream GGUF: poolside/Laguna-S-2.1-GGUF
9
 
10
  Original materials in this repository (SPARK.md measurement scaffolding,
11
- agent_smoke cases/runner, hermes sample client, scripts): personal work by
12
- hizrianraz for reproducibility. Independent personal project.
13
 
14
  Weight binaries are not re-hosted here unless a measured Spark-unique delta
15
  exists (policy S5). Prefer official GGUF download + sha256 verify via SHA256SUMS.
 
1
  NOTICE
2
 
3
+ This pack documents independent Spark runtime measurements for poolside/Laguna-S-2.1
4
  under OpenMDW-1.1. See LICENSE.md (upstream model repo copy) and
5
  LICENSE.openmdw-1.1.txt.
6
 
 
8
  Upstream GGUF: poolside/Laguna-S-2.1-GGUF
9
 
10
  Original materials in this repository (SPARK.md measurement scaffolding,
11
+ agent_smoke cases/runner, hermes sample client, scripts): independent work by
12
+ hizrianraz for reproducibility.
13
 
14
  Weight binaries are not re-hosted here unless a measured Spark-unique delta
15
  exists (policy S5). Prefer official GGUF download + sha256 verify via SHA256SUMS.
README.md CHANGED
@@ -5,57 +5,169 @@ base_model_relation: quantized
5
  tags:
6
  - laguna-s-2.1
7
  - moe
 
 
8
  - agentic-coding
 
 
 
 
 
 
9
  - dgx-spark
 
10
  - llama.cpp
11
- - hermes-class
12
  - openai-compatible
 
13
  - measured
 
14
  library_name: gguf
15
  pipeline_tag: text-generation
16
  ---
17
 
18
- # Laguna-S-2.1-Spark-Agentic (personal)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
 
20
- **Launch target: 2026-08-03 12:00 WIB** — see [`LAUNCH_AUG3.md`](./LAUNCH_AUG3.md)
 
21
 
22
- Personal DGX Spark agent-runtime pack for [poolside/Laguna-S-2.1](https://huggingface.co/poolside/Laguna-S-2.1) (118B-A8B MoE, agentic coding).
 
 
 
23
 
24
- Solo personal HF surface by **hizrianraz**. Independent measurements on one DGX Spark. Not affiliated with Poolside or Nous Research.
25
 
26
- ## What this is
27
 
28
- Credibility pack for Hermes-class / tool-agent runtimes:
29
 
30
- 1. **Measured Spark serve** (GB10 / CUDA 13 / llama.cpp Laguna fork)
31
- 2. **Fixed agent smoke suite** (tool JSON, multi-step, error repair, no invented tools)
32
- 3. **OpenAI-compatible sample client** oriented at Hermes-class agents
33
- 4. **Pointers + digests** to official weights — **not** a bare GGUF re-upload
34
 
35
- DIY quants ship **only** if they beat official Poolside/Unsloth GGUF on measured Spark agent metrics. Otherwise we bind the official artifact and publish the Spark delta.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
 
37
  ## License
38
 
39
- Base model and derivatives under **OpenMDW-1.1** (Poolside).
40
- Read the full text: [`LICENSE`](./LICENSE) and upstream
41
- https://huggingface.co/poolside/Laguna-S-2.1/blob/main/LICENSE
 
42
 
43
- You must retain notices, and if you ship Modified Materials with custom code under §3.3 you need a notice file. This pack's original scripts/eval are separate files with clear provenance notes.
 
 
44
 
45
  ## Base identity (pinned)
46
 
47
  | Field | Value |
48
  |-------|--------|
49
- | Base | `poolside/Laguna-S-2.1` |
50
- | Base revision (card freeze) | `00af5a51782109b587a3b3bbf11875e566036fa7` |
51
- | Shape | 118B total · ~8B active/token · MoE |
52
- | Official GGUF repo | `poolside/Laguna-S-2.1-GGUF` @ `fc4e481289523cf7d0df668da6d1d391616141ca` |
53
- | Stand-behind quant (default) | **official** `laguna-s-2.1-Q4_K_M.gguf` (~68–96 GB on-disk LFS) |
 
54
  | Optional denser | official `laguna-s-2.1-Q8_0.gguf` |
55
- | Optional smaller third-party | Unsloth `UD-Q4_K_XL` (~40 GB) third-party, not first-party claim |
56
- | llama.cpp fork | `poolsideai/llama.cpp` branch `laguna` (DFlash + Laguna). Upstream PR trail: ggml-org/llama.cpp#25165 |
57
 
58
- ### Official GGUF sha256 (from HF LFS metadata)
59
 
60
  | File | sha256 |
61
  |------|--------|
@@ -65,133 +177,149 @@ You must retain notices, and if you ship Modified Materials with custom code und
65
  | `laguna-s-2.1-DFlash-BF16.gguf` | `2ee8aa30338d6599bc7a8ce008cc57c56f2c2b2fdc21f6db9ecda203c751bfd4` |
66
  | `laguna-s-2.1.imatrix` | `4a4f480f57a3251e3acfb1d35ffba64720662536135e4ca4f4d05b0732539be2` |
67
 
68
- Verify after download:
69
 
70
  ```bash
71
- sha256sum -c SHA256SUMS
 
 
72
  ```
73
 
74
- ## Quant guide (what to pull)
 
 
75
 
76
  | Goal | Artifact | Notes |
77
  |------|----------|-------|
78
- | Default agent serve on **S / Spark** (~121G) | Poolside **S Q4_K_M** | **Stand-behind** · measured agent_smoke 40/40 · hermes 27/27 · ~21.47 t/s |
79
- | **Founder MacBook / Mac Studio (≤32G) · full S** | **no local S weights** | **Laguna Mac = client → Spark** `http://<spark>:8000/v1` · S IQ3 ~48G alone > 32G RAM |
80
- | Higher fidelity, more RAM (Spark) | Poolside **S Q8_0** | Routed experts Q8, signal BF16 |
81
- | Community 64–96G box (pointer, not founder Mac) | Unsloth **UD-IQ4_XS** (~58 GB) or Bartowski **IQ4_XS** (~63 GB) | Third-party; strangers re-run smoke; see device matrix |
82
- | Community 48–64G tight (Spark pointer) | Unsloth **UD-IQ3_S** (~48 GB) | Spark **38/40 on older runner** (no sanitize) · not headline · **not** a MacBook claim · not Q4 runner-identical |
83
- | Aggressive experiment | Unsloth **UD-Q2_K_XL** (~40 GB) | Research only until measured |
84
- | Speculative decode | + Poolside **DFlash-BF16** | Needs poolside `laguna` fork (`--spec-type draft-dflash`) |
85
- | iPhone / Android phone or tablet | **non-fit** for full Laguna-S | ~40GB+ even at IQ3; mobile NPU/RAM is 4–12G class — need SLM/distill, not this MoE |
86
-
87
- **XS is parallel, not an S quant.** Founder Mac ≤32G XS disk candidate = Poolside `Laguna-XS-2.1-Q4_K_M.gguf` (~18.9G) · separate 33B-A3B · **0 Mac smoke** · see [`research/Laguna-XS-2.1-Mac-Agentic-fit-2026-07-28.md`](./research/Laguna-XS-2.1-Mac-Agentic-fit-2026-07-28.md) + dual roadmap.
88
 
89
- Pull by SKU id:
 
90
 
91
  ```bash
92
  ./scripts/pull_sku.sh official-q4km
93
- ./scripts/pull_sku.sh unsloth-ud-iq4-xs # ~58 GB third-party
94
- ./scripts/pull_sku.sh unsloth-ud-iq3-s # ~48 GB third-party
95
  ```
96
 
97
- Device ladder [`research/device-quant-matrix-aug3.md`](./research/device-quant-matrix-aug3.md)
98
 
99
- **Do not** claim “first quant”. FP8 / NVFP4 / INT4 / GGUF already exist upstream and community.
100
- **Do not** print third-party numbers as Spark measured without same-harness JSON under `results/sku_*`.
101
 
102
- ## One-evening stranger path (S1)
103
 
104
- ```bash
105
- # 1) engine (poolside laguna fork)
106
- git clone --branch laguna https://github.com/poolsideai/llama.cpp
107
- cd llama.cpp
108
- cmake -B build -G "Unix Makefiles" \
109
- -DCMAKE_BUILD_TYPE=Release \
110
- -DGGML_CUDA=ON \
111
- -DCMAKE_CUDA_ARCHITECTURES=121 \
112
- -DLLAMA_CURL=ON
113
- cmake --build build -j --target llama-server llama-cli llama-bench
114
 
115
- # 2) weights (official do not re-host unless you have a measured delta)
116
- huggingface-cli download poolside/Laguna-S-2.1-GGUF \
117
- laguna-s-2.1-Q4_K_M.gguf \
118
- --local-dir ~/models/laguna-s-2.1
119
 
120
- # 3) serve OpenAI-compatible (flags match last-green pin)
121
- ./build/bin/llama-server \
122
- -m ~/models/laguna-s-2.1/laguna-s-2.1-Q4_K_M.gguf \
123
- --host 127.0.0.1 --port 8000 \
124
- --ctx-size 8192 -ngl -1 --jinja \
125
- -fa on --alias local-laguna
126
 
127
- # 4) smoke (launch bar)
128
- cd /path/to/this/pack
129
- python eval/agent_smoke/run_smoke.py --base-url http://127.0.0.1:8000/v1 --model laguna-q4
 
 
 
 
 
 
130
 
131
- # 5) optional Hermes-class suite (v2; does not replace the 40-case bar)
 
 
 
132
  python eval/hermes_agent_smoke/run_hermes_smoke.py \
133
- --base-url http://127.0.0.1:8000/v1 --model laguna-q4 \
134
  --out results/hermes_agent_smoke.json
135
  ```
136
 
137
- Full Spark notes → [`SPARK.md`](./SPARK.md)
138
- Hermes-class client → [`hermes/`](./hermes/)
139
- Smoke suite (launch bar) [`eval/agent_smoke/`](./eval/agent_smoke/)
140
- Hermes-class smoke v2[`eval/hermes_agent_smoke/`](./eval/hermes_agent_smoke/)
141
- Measured run [`results/MEASURED.md`](./results/MEASURED.md)
 
142
 
143
- ## Scoreboard (Spark · freezes Aug 2 18:00 WIB)
 
144
 
145
- | Host | Quant | Ctx | Gen tok/s | Smoke | Hermes v2 | Notes |
146
- |------|-------|-----|-----------|-------|-----------|-------|
147
- | DGX Spark GB10 | official Q4_K_M | 8192 | **~21.47** | **40/40 (100%)** | **27/27** | **Headline** · engine `04b2b72` · pack tip `bf82eab` · 2026-07-29 13:22 WIB |
148
- | DGX Spark GB10 | Unsloth UD-IQ3_S | 8192 | short-gen ~41 t/s (tiny) | **38/40 (95%)** | — | **Not headline** · older-runner SKU (no sanitize/any_of_tools) · ship ≥38 met · **not** Q4 runner-identical · [`results/sku_unsloth-ud-iq3-s/`](./results/sku_unsloth-ud-iq3-s/) |
149
 
150
- Snapshot JSONs: [`results/measured.json`](./results/measured.json) · [`results/server_bench.json`](./results/server_bench.json) · [`results/agent_smoke.json`](./results/agent_smoke.json) · [`results/hermes_agent_smoke.json`](./results/hermes_agent_smoke.json) · [`results/sku_unsloth-ud-iq3-s/`](./results/sku_unsloth-ud-iq3-s/)
151
- Hermes-class suite live: **27/27** on Q4 — [`eval/hermes_agent_smoke/`](./eval/hermes_agent_smoke/)
 
 
 
152
 
153
- ### Measured detail (live tip · 2026-07-29 13:22 WIB)
154
 
155
- | Metric | Value |
156
- |--------|--------|
157
- | Quant (headline) | official `Q4_K_M` · sha256 `a8b55c75714ea73fd90ec85de5defdc0b8d88ca0ad2108343cdd8fc22f7583e4` |
158
- | Engine | poolside llama.cpp `04b2b72` + Spark CUDA serve |
159
- | Pack git tip | `bf82eab5fd6c1fb04e863f0c4b05b5658dec4aee` |
160
- | Gen throughput | **~21.47 tok/s** @ 128 completion · ctx 8192 · `-ngl -1 -fa on` (multi suite) |
161
- | Prefill OK | server_bench 2k 1.597s / 8k 4.78s |
162
- | agent_smoke | **40/40 · 100%** · **84.86 s** · temp **0.0** · runner `3bb81080…` |
163
- | hermes_agent_smoke v2 | **27/27 · 100%** · **100.1 s** · temp **0.0** · one-response · runner `20c1e52a…` |
164
- | Closed fails | harness: `repair_04` sanitize prior tool-args; `long_06` `any_of_tools` judge (not weights) |
165
- | DFlash | measured 2026-07-29 · gen128 **15.286 t/s** · **DO_NOT_PROMOTE** (baseline ~21.5 wins) · `results/dflash_2026-07-29/` |
166
- | Multi-device SKU (IQ3_S) | Unsloth UD-IQ3_S · **38/40 · 71s** on Spark · older runner — **not** claim as Q4 regression · phone/tablet **non-fit** |
167
- | Locks | diy_gguf **false** · weight_host **Spark-only** · founder Mac **client-only** · public promo only after **2026-08-03 12:00 WIB** · XS not in S freeze |
168
-
169
- ## What is **not** in this pack
170
-
171
- - No bare GGUF re-upload when the official file is the stand-behind artifact
172
- - No affiliate / org / company product claims
173
- - No fake benches only fixed `agent_smoke` + `llama-bench` / server timings you can re-run
174
- - No off-Spark (rented cloud) numbers relabeled as Spark
175
- - No local S weights on founder Mac (≤32G) — Mac is client to Spark only
176
-
177
- ## Reproducible method
178
-
179
- See [`docs/REPRODUCE.md`](./docs/REPRODUCE.md) for exact clone SHAs, cmake flags (GB10/`121a`), download, measure, and smoke commands.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
180
 
181
  ## Attribution
182
 
183
- - Model: Poolside Laguna S 2.1 © Poolside, OpenMDW-1.1
184
- - GGUF: Poolside official conversions
185
- - Engine: poolsideai/llama.cpp `laguna` (+ upstream llama.cpp)
186
- - Pack, Spark measurements, agent_smoke, Hermes-oriented notes: personal work by **hizrianraz**
 
 
187
 
188
  ## Disclaimer
189
 
190
- Independent personal measurements on one DGX Spark. Not affiliated with, endorsed by, or representing Poolside or Nous Research. “Hermes-class” means OpenAI-compatible tool-calling agent runtime shape only — **not** a Nous endorsement.
191
-
192
- ## Quant comparison (same-family)
193
 
194
- - Live scoreboard: [`research/quant-comparison-scoreboard-2026-07-28.md`](research/quant-comparison-scoreboard-2026-07-28.md)
195
- - Stand-behind: official Poolside **Q4_K_M** (headline) — IQ3_S is a measured smaller **pointer row**, not a default swap.
196
- - Mac mini / MacBook / PC: ladder in [`research/device-quant-matrix-aug3.md`](research/device-quant-matrix-aug3.md); IQ3_S ship-min met on Spark.
197
- - iPhone / Android: **explicit non-fit** for full Laguna — distill/SLM only.
 
5
  tags:
6
  - laguna-s-2.1
7
  - moe
8
+ - gguf
9
+ - quantized
10
  - agentic-coding
11
+ - coding
12
+ - code
13
+ - tool-use
14
+ - function-calling
15
+ - agents
16
+ - agentic
17
  - dgx-spark
18
+ - nvidia
19
  - llama.cpp
 
20
  - openai-compatible
21
+ - hermes-class
22
  - measured
23
+ - cuda
24
  library_name: gguf
25
  pipeline_tag: text-generation
26
  ---
27
 
28
+ # Laguna-S-2.1-Spark-Agentic
29
+
30
+ Measured **DGX Spark** runtime pack for
31
+ [poolside/Laguna-S-2.1](https://huggingface.co/poolside/Laguna-S-2.1)
32
+ (118B total · ~8B active/token · MoE · agentic coding).
33
+
34
+ | | |
35
+ |--|--|
36
+ | **Default quant** | Official Poolside `Q4_K_M` |
37
+ | **Weight host** | NVIDIA DGX Spark (GB10) |
38
+ | **Launch** | 2026-08-03 12:00 local |
39
+ | **Content freeze** | 2026-08-02 18:00 local |
40
+ | **Affiliation** | Independent · not Poolside · not Nous Research |
41
+
42
+ This pack publishes **serve pins, digests, and agent smoke results**.
43
+ It does **not** re-host GGUF weights by default — pull official files from Poolside.
44
+
45
+ Sibling research pack (separate model, not an S quant):
46
+ [`Laguna-XS-2.1-Mac-Agentic`](https://huggingface.co/hizrianraz/Laguna-XS-2.1-Mac-Agentic)
47
+
48
+ Launch calendar: [`LAUNCH_AUG3.md`](./LAUNCH_AUG3.md)
49
+
50
+ ---
51
+
52
+ ## Why this pack
53
 
54
+ Most GGUF pages ship weights only.
55
+ This pack ships the **agent path**:
56
 
57
+ 1. Pinned Spark serve settings that actually clear tool-use smoke
58
+ 2. Fixed harnesses you can re-run (no vibes)
59
+ 3. Official digests for fail-closed verify
60
+ 4. OpenAI-compatible client notes for Hermes-class / tool-agent stacks
61
 
62
+ Headline power on this surface means **agent fitness on a fixed harness**, not boutique re-quant names.
63
 
64
+ **Strongest signal on this surface:** official Q4_K_M + pinned poolside `llama.cpp` laguna branch + **40/40 agent_smoke** and **27/27 hermes_agent_smoke** on DGX Spark — not an unmeasured boutique quant rename.
65
 
66
+ ---
67
 
68
+ ## Highlights (measured tip)
 
 
 
69
 
70
+ | Metric | Result |
71
+ |--------|--------|
72
+ | Host | NVIDIA DGX Spark (GB10) |
73
+ | Quant | Official `laguna-s-2.1-Q4_K_M.gguf` |
74
+ | Engine | `poolsideai/llama.cpp` @ `04b2b72` (branch `laguna`) |
75
+ | Context | 8192 |
76
+ | agent_smoke | **40/40** · 84.86 s · temp 0.0 |
77
+ | hermes_agent_smoke v2 | **27/27** · 100.1 s · temp 0.0 |
78
+ | Generation throughput | **~21.47 tok/s** @ 128 completion (sole headline) |
79
+ | Measure tip | pack `bf82eab` · 2026-07-29 13:22 local |
80
+
81
+ Artifacts:
82
+ [`results/MEASURED.md`](./results/MEASURED.md) ·
83
+ [`results/measured.json`](./results/measured.json) ·
84
+ [`results/agent_smoke.json`](./results/agent_smoke.json) ·
85
+ [`results/hermes_agent_smoke.json`](./results/hermes_agent_smoke.json)
86
+
87
+ Optional research expansion (does **not** replace freeze bars):
88
+ Hermes-class Layer B v3 **35/35** · 137.56 s ·
89
+ [`eval/hermes_agent_smoke/layer_b_v3_live_receipt.json`](./eval/hermes_agent_smoke/layer_b_v3_live_receipt.json)
90
+
91
+ ---
92
+
93
+ ## Quick start
94
+
95
+ ```bash
96
+ # 1) Engine — pin the measured commit
97
+ git clone https://github.com/poolsideai/llama.cpp
98
+ cd llama.cpp
99
+ git checkout 04b2b72cb54048ead292884adbe11f284e3ec950
100
+ # Spark/GNU may need the isfinite patch in docs/BUILD_SPARK.md
101
+ cmake -B build -G "Unix Makefiles" \
102
+ -DCMAKE_BUILD_TYPE=Release \
103
+ -DGGML_CUDA=ON \
104
+ -DCMAKE_CUDA_ARCHITECTURES=121a \
105
+ -DLLAMA_CURL=ON
106
+ cmake --build build -j --target llama-server llama-cli llama-bench
107
+
108
+ # 2) Weights — official Q4 + fail-closed digest check
109
+ huggingface-cli download poolside/Laguna-S-2.1-GGUF \
110
+ laguna-s-2.1-Q4_K_M.gguf \
111
+ --revision fc4e481289523cf7d0df668da6d1d391616141ca \
112
+ --local-dir ~/models/laguna-s-2.1
113
+ cp /path/to/this/pack/SHA256SUMS ~/models/laguna-s-2.1/
114
+ (cd ~/models/laguna-s-2.1 && sha256sum -c SHA256SUMS)
115
+
116
+ # 3) Serve (flags match last-green pin)
117
+ ./build/bin/llama-server \
118
+ -m ~/models/laguna-s-2.1/laguna-s-2.1-Q4_K_M.gguf \
119
+ --host 127.0.0.1 --port 8000 \
120
+ --ctx-size 8192 -ngl -1 --jinja \
121
+ -fa on --alias local-laguna
122
+
123
+ # 4) Launch-bar smoke — model id must match --alias
124
+ cd /path/to/this/pack
125
+ python eval/agent_smoke/run_smoke.py \
126
+ --base-url http://127.0.0.1:8000/v1 \
127
+ --model local-laguna
128
+
129
+ # 5) Optional hermes-class suite (does not replace step 4)
130
+ python eval/hermes_agent_smoke/run_hermes_smoke.py \
131
+ --base-url http://127.0.0.1:8000/v1 \
132
+ --model local-laguna \
133
+ --out results/hermes_agent_smoke.json
134
+ ```
135
+
136
+ | Guide | Path |
137
+ |-------|------|
138
+ | Spark notes | [`SPARK.md`](./SPARK.md) |
139
+ | Reproduce | [`docs/REPRODUCE.md`](./docs/REPRODUCE.md) |
140
+ | Build | [`docs/BUILD_SPARK.md`](./docs/BUILD_SPARK.md) |
141
+ | Last-green pin | [`results/LAST_GREEN_PIN.md`](./results/LAST_GREEN_PIN.md) |
142
+ | Sample client | [`hermes/`](./hermes/) |
143
+
144
+ ---
145
 
146
  ## License
147
 
148
+ Base model and derivatives: **OpenMDW-1.1** (Poolside).
149
+
150
+ - Pack copy: [`LICENSE`](./LICENSE)
151
+ - Upstream: https://huggingface.co/poolside/Laguna-S-2.1/blob/main/LICENSE
152
 
153
+ Retain notices. Pack scripts and eval harnesses are separate files with clear provenance.
154
+
155
+ ---
156
 
157
  ## Base identity (pinned)
158
 
159
  | Field | Value |
160
  |-------|--------|
161
+ | Base model | `poolside/Laguna-S-2.1` |
162
+ | Base revision | `00af5a51782109b587a3b3bbf11875e566036fa7` |
163
+ | Architecture | 118B total · ~8B active/token · MoE |
164
+ | Official GGUF repo | `poolside/Laguna-S-2.1-GGUF` |
165
+ | GGUF revision | `fc4e481289523cf7d0df668da6d1d391616141ca` |
166
+ | Stand-behind quant | **official** `laguna-s-2.1-Q4_K_M.gguf` |
167
  | Optional denser | official `laguna-s-2.1-Q8_0.gguf` |
168
+ | Engine | `poolsideai/llama.cpp` · branch `laguna` · [PR #25165](https://github.com/ggml-org/llama.cpp/pull/25165) |
 
169
 
170
+ ### Official GGUF digests (HF LFS metadata)
171
 
172
  | File | sha256 |
173
  |------|--------|
 
177
  | `laguna-s-2.1-DFlash-BF16.gguf` | `2ee8aa30338d6599bc7a8ce008cc57c56f2c2b2fdc21f6db9ecda203c751bfd4` |
178
  | `laguna-s-2.1.imatrix` | `4a4f480f57a3251e3acfb1d35ffba64720662536135e4ca4f4d05b0732539be2` |
179
 
180
+ Pack verify file (GNU 2-column, Q4 default): [`SHA256SUMS`](./SHA256SUMS)
181
 
182
  ```bash
183
+ cp /path/to/this/pack/SHA256SUMS ~/models/laguna-s-2.1/
184
+ (cd ~/models/laguna-s-2.1 && sha256sum -c SHA256SUMS)
185
+ # or: ./scripts/pull_official_gguf.sh
186
  ```
187
 
188
+ ---
189
+
190
+ ## Which quant to pull
191
 
192
  | Goal | Artifact | Notes |
193
  |------|----------|-------|
194
+ | **Default agent serve (Spark)** | Poolside **S Q4_K_M** | Headline · 40/40 · 27/27 · ~21.47 t/s |
195
+ | Higher fidelity (Spark) | Poolside **S Q8_0** | More RAM |
196
+ | Tighter Spark pointer | Unsloth **UD-IQ3_S** (~48 GB) | Spark **38/40** on older runner · **not** headline |
197
+ | Smaller community box | Unsloth UD-IQ4_XS / Bartowski IQ4_XS | Third-party · re-run smoke |
198
+ | Speculative decode experiment | + Poolside **DFlash-BF16** | Measured slower · **DO_NOT_PROMOTE** |
199
+ | Full **S** on Mac with ≤32 GB RAM | **No local S weights** | Use Mac as **client Spark** only |
200
+ | Phone / tablet | **Non-fit** | Need SLM/distill, not this MoE |
 
 
 
201
 
202
+ **XS is a separate model**, not an S quant.
203
+ Mac-class XS notes: sibling pack + [`research/`](./research/).
204
 
205
  ```bash
206
  ./scripts/pull_sku.sh official-q4km
207
+ ./scripts/pull_sku.sh unsloth-ud-iq3-s # pointer only
 
208
  ```
209
 
210
+ Device ladder: [`research/device-quant-matrix-aug3.md`](./research/device-quant-matrix-aug3.md)
211
 
212
+ Do **not** claim “first quant”.
213
+ Do **not** label third-party numbers as Spark-measured without same-harness JSON under `results/sku_*`.
214
 
215
+ ### Why official Q4_K_M for agents
216
 
217
+ 1. Poolside protects the **signal path** on official Q4 (imatrix + first-party chat template).
218
+ 2. Same digest anyone can **reproduce** without trusting a third-party binary.
219
+ 3. Headline is **40/40 agent_smoke + 27/27 hermes-class** on that exact file.
220
+ 4. DIY / third-party only lands if it **beats** official on the **same** smoke runners, with method disclosure. Today: `diy_gguf: false`.
 
 
 
 
 
 
221
 
222
+ Looking unique on HF alone is not a reason to re-quant.
 
 
 
223
 
224
+ ---
 
 
 
 
 
225
 
226
+ ## Hermes-class / tool-agent wiring
227
+
228
+ “Hermes-class” = OpenAI `chat.completions` + `tools` / `tool_calls` shape.
229
+ **Not** a Nous Research product claim or endorsement.
230
+
231
+ ```bash
232
+ export OPENAI_BASE_URL=http://127.0.0.1:8000/v1 # /v1 required
233
+ export OPENAI_API_KEY=sk-local
234
+ export OPENAI_MODEL=local-laguna
235
 
236
+ python hermes/sample_client.py
237
+
238
+ python eval/agent_smoke/run_smoke.py \
239
+ --base-url "$OPENAI_BASE_URL" --model local-laguna
240
  python eval/hermes_agent_smoke/run_hermes_smoke.py \
241
+ --base-url "$OPENAI_BASE_URL" --model local-laguna \
242
  --out results/hermes_agent_smoke.json
243
  ```
244
 
245
+ Agent loop contract:
246
+
247
+ 1. POST messages + tool schemas
248
+ 2. If `tool_calls`execute **only** offered names → append `role=tool`
249
+ 3. Repeat until final `content`
250
+ 4. Sanitize invalid prior `function.arguments` JSON before re-send
251
 
252
+ Config snippet: [`hermes/config.example.yaml`](./hermes/config.example.yaml)
253
+ Full notes: [`hermes/README.md`](./hermes/README.md)
254
 
255
+ Mac client pointing at Spark:
 
 
 
256
 
257
+ ```bash
258
+ export OPENAI_BASE_URL=http://<spark-host>:8000/v1
259
+ export OPENAI_API_KEY=sk-local
260
+ export OPENAI_MODEL=local-laguna
261
+ ```
262
 
263
+ ---
264
 
265
+ ## Scoreboard
266
+
267
+ Freeze clock: **2026-08-02 18:00 local** no new claims after freeze without re-measure.
268
+
269
+ | Host | Quant | Ctx | Gen tok/s | agent_smoke | hermes v2 | Role |
270
+ |------|-------|-----|-----------|-------------|-----------|------|
271
+ | DGX Spark GB10 | official Q4_K_M | 8192 | **~21.47** | **40/40** | **27/27** | **Headline** · engine `04b2b72` · tip `bf82eab` |
272
+ | DGX Spark GB10 | Unsloth UD-IQ3_S | 8192 | short-gen only | **38/40** | — | Pointer · older runner · not default |
273
+
274
+ ### Measured detail (2026-07-29 13:22 local)
275
+
276
+ | Field | Value |
277
+ |-------|--------|
278
+ | Q4 sha256 | `a8b55c75714ea73fd90ec85de5defdc0b8d88ca0ad2108343cdd8fc22f7583e4` |
279
+ | Serve flags | `-c 8192 -ngl -1 --jinja -fa on --alias local-laguna` |
280
+ | Gen headline | **~21.47 tok/s** @ 128 completion · multi suite in `results/measured.json` |
281
+ | Prefill (server_bench) | 2k · 1.597 s · OK · / · 8k · 4.78 s · OK |
282
+ | agent_smoke runner | `3bb81080…` |
283
+ | hermes v2 runner | `20c1e52a…` |
284
+ | Closed harness fails (not weights) | `repair_04` sanitize · `long_06` `any_of_tools` judge |
285
+ | DFlash | gen128 **15.286 t/s** · **DO_NOT_PROMOTE** · [`results/dflash_2026-07-29/`](./results/dflash_2026-07-29/) |
286
+ | Locks | diy_gguf **false** · weights **Spark-only** · Mac full-S **client-only** · public promo after **2026-08-03 12:00 local** · XS **not** in S freeze |
287
+
288
+ Ship minimum smoke: **≥38/40**. Current measured: **40/40**.
289
+
290
+ ---
291
+
292
+ ## Scope
293
+
294
+ **In scope**
295
+
296
+ - Measured Spark runtime pack
297
+ - Official weight pointers + digests
298
+ - Reproducible agent evaluation harness
299
+
300
+ **Out of scope**
301
+
302
+ - Bare GGUF re-upload when official is the stand-behind artifact
303
+ - Org / company product branding on this surface
304
+ - Fake or off-host benches labeled as Spark
305
+ - Local full-S weights on Mac hosts with ≤32 GB RAM
306
+ - Public announce / trending push before **2026-08-03 12:00 local**
307
+ - XS rows inside the S freeze lock set
308
+
309
+ ---
310
 
311
  ## Attribution
312
 
313
+ | Component | Credit |
314
+ |-----------|--------|
315
+ | Model | Poolside Laguna S 2.1 © Poolside · OpenMDW-1.1 |
316
+ | GGUF | Poolside official conversions |
317
+ | Engine | poolsideai/llama.cpp `laguna` (+ upstream llama.cpp) |
318
+ | Pack, measurements, smokes | Independent work by [hizrianraz](https://huggingface.co/hizrianraz) |
319
 
320
  ## Disclaimer
321
 
322
+ Independent measurements on one DGX Spark.
323
+ Not affiliated with, endorsed by, or representing Poolside or Nous Research.
 
324
 
325
+ “Hermes-class” describes an OpenAI-compatible tool-calling runtime shape only — **not** a Nous endorsement.
 
 
 
SHA256SUMS CHANGED
@@ -1,20 +1,5 @@
1
- # Official Poolside Laguna-S-2.1-GGUF (LFS oid = sha256)
2
- # repo: poolside/Laguna-S-2.1-GGUF
3
- # tree_sha: fc4e481289523cf7d0df668da6d1d391616141ca
4
- # base model: poolside/Laguna-S-2.1 @ 00af5a51782109b587a3b3bbf11875e566036fa7
5
- # format: sha256 byte_size filename
6
- #
7
- # Stand-behind quant for this pack: Q4_K_M only (official).
8
- # Q8_0 / F16 listed for reference — not required to pull.
9
- # DFlash-BF16 is a draft model companion, not a full quant.
10
- # No DIY requant in this pack (no delta vs official).
11
-
12
- a8b55c75714ea73fd90ec85de5defdc0b8d88ca0ad2108343cdd8fc22f7583e4 96031829760 laguna-s-2.1-Q4_K_M.gguf
13
- d946b221d69f2c5f87a986952bcd3cfb75831e5a6a2184e626e361663e1bfe2b 128750823168 laguna-s-2.1-Q8_0.gguf
14
- 2036c9dcf70f59738d480d1da2a2a59c0a3a3c5bd4ab8c43a61d77fba031e1f8 235202258240 laguna-s-2.1-F16.gguf
15
- 2ee8aa30338d6599bc7a8ce008cc57c56f2c2b2fdc21f6db9ecda203c751bfd4 2233764224 laguna-s-2.1-DFlash-BF16.gguf
16
- 4a4f480f57a3251e3acfb1d35ffba64720662536135e4ca4f4d05b0732539be2 351195360 laguna-s-2.1.imatrix
17
-
18
- # Non-LFS supporting files (git blob oid, not sha256 of content blob via LFS)
19
- # chat_template.jinja blob b193b1bdcba33acb935dd59567ad827b1821cbc8 size 4028
20
- # README.md blob 1f2199a10409dab6987a11be4bc9d03c2d441437 size 2802
 
1
+ # Official Poolside GGUF digests — Laguna-S-2.1-Spark-Agentic pack
2
+ # Format: GNU sha256sum (2-column) so `sha256sum -c SHA256SUMS` works from the
3
+ # directory that holds the weight file(s). Byte sizes are comments only.
4
+ # Q4_K_M · ~89.4 GiB · 95993903904 bytes
5
+ a8b55c75714ea73fd90ec85de5defdc0b8d88ca0ad2108343cdd8fc22f7583e4 laguna-s-2.1-Q4_K_M.gguf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SPARK.md CHANGED
@@ -34,7 +34,9 @@ export PATH=/usr/local/cuda/bin:$PATH
34
  export CUDA_HOME=/usr/local/cuda
35
  export CC=/usr/bin/gcc CXX=/usr/bin/g++ CUDAHOSTCXX=/usr/bin/g++
36
 
37
- git clone --branch laguna https://github.com/poolsideai/llama.cpp llama.cpp-laguna
 
 
38
  cd llama.cpp-laguna
39
  # pin when publishing numbers:
40
  # git rev-parse HEAD
@@ -176,17 +178,17 @@ Serve proven: `-c 8192 -ngl -1 --parallel 1 --alias local-laguna --jinja -fa on`
176
 
177
  | Setting | prefill latency | tg tok/s | server RSS | notes |
178
  |---------|-----------------|----------|------------|-------|
179
- | ctx 8k, ngl -1, fa on | 836 prompt → 1.83 s; 3236 prompt → 4.73 s | **~21.1** @ 128 gen | ~2–3.4 Gi process RSS | unified mem holds weights; quote **21 tok/s** gen |
180
- | gen8 short | — | ~7.8 | same | tiny completion noise floor |
181
- | ctx 8k + DFlash (`draft-dflash`) | 2k 2.253s · 8k 5.556s | **15.286** @ 128 gen | higher (draft+target) | **DO_NOT_PROMOTE** vs plain ~21.5 · `results/dflash_2026-07-29/` |
182
 
183
- Agent-shaped (tool round-trips, see smoke):
184
 
185
  | Suite | quant | pass | n | notes |
186
  |-------|-------|------|---|-------|
187
- | agent_smoke v1 (launch bar) | Q4_K_M | **40/40 · 100%** | 40 | **post-restore 97.79 s** WIB ~23:55 · temp 0.0 · prior same-day 97.25 / 88.96 s · harness fixes: sanitize + any_of_tools |
188
- | hermes_agent_smoke v2 | Q4_K_M | **27/27 · 100%** | 27 | **post-restore 104.4 s** WIB ~23:57 · temp 0.0 · prior 102.68 s · one-response protocol · `results/hermes_agent_smoke.json` |
189
-
190
  Raw: `results/MEASURED.md`, `results/measured.json`, `results/agent_smoke.json`, `results/hermes_agent_smoke.json`, `results/server_bench.json`.
191
 
192
  ## Agent-shaped benches
 
34
  export CUDA_HOME=/usr/local/cuda
35
  export CC=/usr/bin/gcc CXX=/usr/bin/g++ CUDAHOSTCXX=/usr/bin/g++
36
 
37
+ git clone https://github.com/poolsideai/llama.cpp llama.cpp-laguna
38
+ cd llama.cpp-laguna
39
+ git checkout 04b2b72cb54048ead292884adbe11f284e3ec950
40
  cd llama.cpp-laguna
41
  # pin when publishing numbers:
42
  # git rev-parse HEAD
 
178
 
179
  | Setting | prefill latency | tg tok/s | server RSS | notes |
180
  |---------|-----------------|----------|------------|-------|
181
+ | ctx 8k, ngl -1, fa on | 836 prompt → 1.597 s; 3236 prompt → 4.78 s | **~21.47** @ 128 gen | ~2–3.4 Gi process RSS | unified mem; **sole headline gen = 21.47** (`results/measured.json`) |
182
+ | gen8 short | — | 10.612 | same | tiny completion noise floor — not a headline |
183
+ | ctx 8k + DFlash (`draft-dflash`) | 2k 2.253s · 8k 5.556s | **15.286** @ 128 gen | higher (draft+target) | trial `-ngl 99` vs baseline `-ngl -1` · **DO_NOT_PROMOTE** still (gen+prefill slower) · `results/dflash_2026-07-29/` |
184
 
185
+ Agent-shaped (tool round-trips, see smoke) — **live tip durations bind**:
186
 
187
  | Suite | quant | pass | n | notes |
188
  |-------|-------|------|---|-------|
189
+ | agent_smoke v1 (launch bar) | Q4_K_M | **40/40 · 100%** | 40 | **84.86 s** ·temp 0.0 · tip 2026-07-29 13:22 local · runner `3bb81080…` · older same-day restores ~88–98 s are historical only |
190
+ | hermes_agent_smoke v2 | Q4_K_M | **27/27 · 100%** | 27 | **100.1 s** · temp 0.0 · same tip · one-response · runner `20c1e52a…` · `results/hermes_agent_smoke.json` |
191
+ | hermes Layer B v3 (research) | Q4_K_M | **35/35 · 100%** | 35 | **137.56 s** · 2026-07-29 · **not freeze bar** · receipt `eval/hermes_agent_smoke/layer_b_v3_live_receipt.json` |
192
  Raw: `results/MEASURED.md`, `results/measured.json`, `results/agent_smoke.json`, `results/hermes_agent_smoke.json`, `results/server_bench.json`.
193
 
194
  ## Agent-shaped benches
docs/BUILD_SPARK.md CHANGED
@@ -10,11 +10,13 @@ cd ~/src/llama.cpp-laguna
10
  git checkout laguna # pin: 04b2b72cb54048ead292884adbe11f284e3ec950
11
  ```
12
 
13
- ## Patch (measured required on this host)
14
 
15
- `common/speculative.cpp` calls `std::isfinite`. On Spark GNU 13.3 that can fail even with `#include <cmath>` present depending on header order / libstdc++.
16
 
17
- Measured fix that builds clean:
 
 
18
 
19
  1. Ensure `#include <cmath>` and `#include <math.h>` near the top system includes.
20
  2. Replace the call site:
@@ -23,10 +25,13 @@ Measured fix that builds clean:
23
  // before
24
  if (!std::isfinite(v)) {
25
 
26
- // after (Spark / GNU 13.3)
27
  if (!::isfinite(static_cast<double>(v))) /* spark-isfinite-fix */ {
28
  ```
29
 
 
 
 
30
  Do **not** treat a failed UI-asset HF fetch during build as fatal — `llama-server` still links; only the optional embedded UI may stay stale.
31
 
32
  ## Configure
 
10
  git checkout laguna # pin: 04b2b72cb54048ead292884adbe11f284e3ec950
11
  ```
12
 
13
+ ## Patch (host-measured · Spark / GNU 13.3)
14
 
15
+ `common/speculative.cpp` calls `std::isfinite`. On **this** Spark host (GNU 13.3) that can fail to compile even with `#include <cmath>` depending on header order / libstdc++.
16
 
17
+ This is a **local host build fix**, not an upstream laguna behavioral change and not part of the public claim surface. Apply only if stock checkout fails to build the same way.
18
+
19
+ Measured fix that builds clean here:
20
 
21
  1. Ensure `#include <cmath>` and `#include <math.h>` near the top system includes.
22
  2. Replace the call site:
 
25
  // before
26
  if (!std::isfinite(v)) {
27
 
28
+ // after (Spark / GNU 13.3 host build)
29
  if (!::isfinite(static_cast<double>(v))) /* spark-isfinite-fix */ {
30
  ```
31
 
32
+ Pin checkout **before** patching: `git checkout 04b2b72cb54048ead292884adbe11f284e3ec950`.
33
+ Record `git rev-parse HEAD` → pack `results/engine_sha.txt`.
34
+
35
  Do **not** treat a failed UI-asset HF fetch during build as fatal — `llama-server` still links; only the optional embedded UI may stay stale.
36
 
37
  ## Configure
docs/REPRODUCE.md CHANGED
@@ -23,11 +23,25 @@ Personal reproducible method.
23
  4. Download official GGUF (not a DIY re-quant unless you will measure a real delta):
24
 
25
  ```bash
 
 
 
 
26
  huggingface-cli download poolside/Laguna-S-2.1-GGUF \
27
  laguna-s-2.1-Q4_K_M.gguf \
28
  --revision fc4e481289523cf7d0df668da6d1d391616141ca \
29
  --local-dir ~/models/laguna-s-2.1
30
- sha256sum -c SHA256SUMS
 
 
 
 
 
 
 
 
 
 
31
  ```
32
 
33
  5. Serve with last-green flags (match `results/LAST_GREEN_PIN.md` / `SPARK.md`):
@@ -40,15 +54,16 @@ sha256sum -c SHA256SUMS
40
  --alias local-laguna --metrics
41
  ```
42
 
43
- Confirm `curl -sf http://127.0.0.1:8000/v1/models` → 200.
 
44
 
45
  6. `llama-bench` @ prompt 2048 and 8192; save stdout to `results/llama_bench_q4km.txt`.
46
  7. `python scripts/bench_server.py --ctx-mark 2k --ctx-mark 8k`.
47
- 8. `python eval/agent_smoke/run_smoke.py --out results/smoke_q4km.json`.
48
- 8b. Optional Hermes-class: `python eval/hermes_agent_smoke/run_hermes_smoke.py --out results/hermes_agent_smoke.json`.
49
  9. Populate the tables in `SPARK.md` from those files only — never invent.
50
  10. Publish pack (docs + results + scripts). **Host GGUF binary only if you have a measured unique artifact**; otherwise ship digests + download commands (S5).
51
- 11. Optional DFlash is **not** default. If tried on Spark, record with honesty — 2026-07-29 measure is **DO_NOT_PROMOTE** (`results/dflash_2026-07-29/`).
52
 
53
  ## Personal HF publish surface
54
 
 
23
  4. Download official GGUF (not a DIY re-quant unless you will measure a real delta):
24
 
25
  ```bash
26
+ # preferred: fail-closed helper (reads pack SHA256SUMS + pinned GGUF rev)
27
+ ./scripts/pull_official_gguf.sh
28
+
29
+ # or manual download + GNU 2-column check from the weight directory:
30
  huggingface-cli download poolside/Laguna-S-2.1-GGUF \
31
  laguna-s-2.1-Q4_K_M.gguf \
32
  --revision fc4e481289523cf7d0df668da6d1d391616141ca \
33
  --local-dir ~/models/laguna-s-2.1
34
+ cp SHA256SUMS ~/models/laguna-s-2.1/
35
+ (cd ~/models/laguna-s-2.1 && sha256sum -c SHA256SUMS)
36
+ ```
37
+
38
+ Engine pin before build (measured commit, not floating branch tip):
39
+
40
+ ```bash
41
+ git clone https://github.com/poolsideai/llama.cpp ~/src/llama.cpp-laguna
42
+ cd ~/src/llama.cpp-laguna
43
+ git checkout 04b2b72cb54048ead292884adbe11f284e3ec950
44
+ # optional host patch: docs/BUILD_SPARK.md (isfinite / GNU 13.3)
45
  ```
46
 
47
  5. Serve with last-green flags (match `results/LAST_GREEN_PIN.md` / `SPARK.md`):
 
54
  --alias local-laguna --metrics
55
  ```
56
 
57
+ Confirm `curl -sf http://127.0.0.1:8000/v1/models` → 200.
58
+ Smoke / bench **`--model` must equal `--alias`** → `local-laguna`.
59
 
60
  6. `llama-bench` @ prompt 2048 and 8192; save stdout to `results/llama_bench_q4km.txt`.
61
  7. `python scripts/bench_server.py --ctx-mark 2k --ctx-mark 8k`.
62
+ 8. `python eval/agent_smoke/run_smoke.py --model local-laguna --out results/agent_smoke.json`.
63
+ 8b. Optional Hermes-class: `python eval/hermes_agent_smoke/run_hermes_smoke.py --model local-laguna --out results/hermes_agent_smoke.json`.
64
  9. Populate the tables in `SPARK.md` from those files only — never invent.
65
  10. Publish pack (docs + results + scripts). **Host GGUF binary only if you have a measured unique artifact**; otherwise ship digests + download commands (S5).
66
+ 11. Optional DFlash is **not** default. If tried on Spark, record with honesty — 2026-07-29 measure is **DO_NOT_PROMOTE** (`results/dflash_2026-07-29/`). Note: that trial used `-ngl 99` while baseline pin is `-ngl -1`; reject still holds (gen + prefill both slower).
67
 
68
  ## Personal HF publish surface
69
 
docs/WEIGHTS_LOCAL.md CHANGED
@@ -12,9 +12,9 @@ Official: `poolside/Laguna-S-2.1-GGUF` · sha256 `a8b55c75714ea73fd90ec85de5defd
12
 
13
  Canonical serve path may stay `~/models/laguna-s-2.1/` with a symlink into this pack.
14
 
15
- ## Mac ≤32G
16
 
17
- Full S weights: **do not** land on founder Mac. Client → Spark `:8000` only.
18
 
19
  ## XS
20
 
 
12
 
13
  Canonical serve path may stay `~/models/laguna-s-2.1/` with a symlink into this pack.
14
 
15
+ ## Mac ≤32 GB class
16
 
17
+ Full S weights: **do not** land on ≤32 GB unified-memory Macs. Client → Spark `:8000` only.
18
 
19
  ## XS
20
 
docs/rename_Agentic_20260729T135518_wib.json CHANGED
@@ -1,7 +1,7 @@
1
  {
2
  "event": "pack_full_rename_to_Agentic_TitleCase",
3
  "at_wib": "2026-07-29T13:55:18+07:00",
4
- "host": "HizrianacStudio.localdomain",
5
  "targets": {
6
  "S": {
7
  "display": "Laguna-S-2.1-Spark-Agentic",
 
1
  {
2
  "event": "pack_full_rename_to_Agentic_TitleCase",
3
  "at_wib": "2026-07-29T13:55:18+07:00",
4
+ "host": "local",
5
  "targets": {
6
  "S": {
7
  "display": "Laguna-S-2.1-Spark-Agentic",
eval/agent_smoke/README.md CHANGED
@@ -15,7 +15,7 @@ Personal fixed tool-agent smoke for Laguna OpenAI-compatible serve on **Spark**.
15
  | Elapsed | **97.79 s** |
16
  | Model | `local-laguna` |
17
  | Temp | **0.0** |
18
- | When | 2026-07-28 ~23:55 WIB |
19
  | Artifact | [`results/agent_smoke.json`](../../results/agent_smoke.json) |
20
 
21
  See also [`MEASURED.md`](../../results/MEASURED.md). Receipts include a `run_manifest` block (host, runner SHA, cases SHA, pack git HEAD).
 
15
  | Elapsed | **97.79 s** |
16
  | Model | `local-laguna` |
17
  | Temp | **0.0** |
18
+ | When | 2026-07-28 ~23:55 local |
19
  | Artifact | [`results/agent_smoke.json`](../../results/agent_smoke.json) |
20
 
21
  See also [`MEASURED.md`](../../results/MEASURED.md). Receipts include a `run_manifest` block (host, runner SHA, cases SHA, pack git HEAD).
eval/agent_smoke/cases.json CHANGED
@@ -1799,11 +1799,11 @@
1799
  "messages": [
1800
  {
1801
  "role": "system",
1802
- "content": "You are a careful tool-using coding agent. Only call tools from the provided schema. Never invent tool names. When a tool is needed, emit proper tool calls. Prefer concise answers. You must not invent org or product branding. Keep the pack label personal spark pack only."
1803
  },
1804
  {
1805
  "role": "user",
1806
- "content": "Write sandbox/brand.txt content 'personal spark pack' via write_file."
1807
  }
1808
  ],
1809
  "tools": [
 
1799
  "messages": [
1800
  {
1801
  "role": "system",
1802
+ "content": "You are a careful tool-using coding agent. Only call tools from the provided schema. Never invent tool names. When a tool is needed, emit proper tool calls. Prefer concise answers. You must not invent org or product branding. Keep the pack label independent spark pack only."
1803
  },
1804
  {
1805
  "role": "user",
1806
+ "content": "Write sandbox/brand.txt content 'independent spark pack' via write_file."
1807
  }
1808
  ],
1809
  "tools": [
eval/agent_smoke/run_smoke.py CHANGED
@@ -2,7 +2,7 @@
2
  """Fixed agent_smoke runner for Laguna OpenAI-compatible servers.
3
 
4
  Pass/fail only against the pinned cases.json — no free-form grading.
5
- personal fixed smoke runner
6
  """
7
 
8
  from __future__ import annotations
 
2
  """Fixed agent_smoke runner for Laguna OpenAI-compatible servers.
3
 
4
  Pass/fail only against the pinned cases.json — no free-form grading.
5
+ Fixed smoke runner
6
  """
7
 
8
  from __future__ import annotations
eval/hermes_agent_smoke/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # hermes_agent_smoke v2
2
 
3
  Hermes-**class** agent tool smoke for Laguna OpenAI-compatible serve.
4
 
@@ -6,50 +6,100 @@ Hermes-**class** agent tool smoke for Laguna OpenAI-compatible serve.
6
  - Name = tool-agent runtime shape (OpenAI `tools` / multi-turn repair).
7
  - Reuses judges + prior-arg sanitization from `eval/agent_smoke/`.
8
 
9
- ## Suite
10
 
11
- | Field | Value |
12
- |-------|--------|
13
- | Cases | **27** |
14
- | Version | 2 |
15
- | Ship min | **24/27** (~89%) |
16
- | Stretch | **27/27** |
17
- | Headline ship bar for launch lock | still **agent_smoke 40/40** (v1) |
 
18
 
19
- Categories: terminal · files · web · multi_tool · multi_turn · error_repair · no_invented · browser · memory_cron · args_strict · safety
20
 
21
- ## Measured (live Spark)
 
 
 
 
 
 
 
22
 
23
  | Field | Value |
24
  |-------|--------|
25
- | Result | **27/27 (100%)** |
26
- | Elapsed | **104.4 s** (post-restore); prior same-day 102.68 s |
27
  | Model id | `local-laguna` |
28
  | Base | Spark OpenAI-compatible `:8000` |
29
  | Temp | **0.0** |
30
  | Artifact | `results/hermes_agent_smoke.json` |
31
- | When | 2026-07-28 ~23:57 WIB (post-restore lock) |
32
 
33
- Meets ship_min and stretch. Does **not** replace agent_smoke 40/40 launch bar.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
  ## Run
36
 
37
  ```bash
38
- # assumed local Spark serve with --jinja
39
  python eval/hermes_agent_smoke/run_hermes_smoke.py \
40
  --base-url http://127.0.0.1:8000/v1 \
41
  --model local-laguna \
 
42
  --out results/hermes_agent_smoke.json
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  ```
44
 
45
- Optional: `--limit N`, `--ids term_01,files_01`, `--temperature 0`.
 
 
46
 
47
  ## Protocol honesty
48
 
49
  **one-response protocol** — tool JSON shape / multi-turn repair are **validated**, tools are **not executed**.
50
  Smoke temperature for claim runs: **0.0** (never 0.7 card/default for tools).
51
 
 
 
52
  ## Claims rule
53
 
54
- Pass fraction on the card only with `results/hermes_agent_smoke.json` from a real run.
55
- Headline launch bar remains agent_smoke **40/40**.
 
 
 
 
 
 
 
 
1
+ # hermes_agent_smoke
2
 
3
  Hermes-**class** agent tool smoke for Laguna OpenAI-compatible serve.
4
 
 
6
  - Name = tool-agent runtime shape (OpenAI `tools` / multi-turn repair).
7
  - Reuses judges + prior-arg sanitization from `eval/agent_smoke/`.
8
 
9
+ ## Suites
10
 
11
+ | Suite | File | Cases | Ship min | Stretch | Freeze claim? |
12
+ |-------|------|------:|---------:|--------:|:-------------|
13
+ | **v2 (freeze)** | `cases.json` | **27** | **24/27** | **27/27** | **Yes** — launch lock artifact |
14
+ | **v3 Layer B** | `cases_layer_b_v3.json` | **35** (=27+8) | **30/35** | **35/35** | **No** until live measured |
15
+
16
+ Headline ship bar for launch lock: still **agent_smoke 40/40** (v1).
17
+
18
+ v2 categories: terminal · files · web · multi_tool · multi_turn · error_repair · no_invented · browser · memory_cron · args_strict · safety
19
 
20
+ v3 adds **long_horizon** (+ denser multi_turn / error_repair): tool→obs→next-tool chains after 1–2 prior hops.
21
 
22
+ ### Layer B new case ids (v3 only)
23
+
24
+ - `long_01` … `long_05` — multi-hop continue (search→read→run, terminal→calc, write→read, empty-search recover, gather→memory)
25
+ - `repair_03` — invalid prior JSON args repair
26
+ - `turn_05` — prose guess then force tool
27
+ - `turn_06` — finish second half of multi-goal after first tool obs
28
+
29
+ ## Measured (live Spark) — freeze bar
30
 
31
  | Field | Value |
32
  |-------|--------|
33
+ | Result | **27/27 (100%)** on **v2** |
34
+ | Elapsed | **~100–104 s** |
35
  | Model id | `local-laguna` |
36
  | Base | Spark OpenAI-compatible `:8000` |
37
  | Temp | **0.0** |
38
  | Artifact | `results/hermes_agent_smoke.json` |
39
+ | When | 2026-07-28/29 (see `results/launch_lock.json`) |
40
 
41
+ ## Measured (live Spark) Layer B v3 research only
42
+
43
+ | Field | Value |
44
+ |-------|--------|
45
+ | Result | **35/35 (100%)** on **v3** (=27+8) |
46
+ | Elapsed | **137.56 s** |
47
+ | Model id | `local-laguna` |
48
+ | Weight | official `laguna-s-2.1-Q4_K_M.gguf` |
49
+ | Path | Spark serve `127.0.0.1:8000` → SSH tunnel Mac `:18000` |
50
+ | Temp | **0.0** |
51
+ | Artifact (local, gitignored) | `results/hermes_agent_smoke_layer_b_v3.json` |
52
+ | Receipt (tracked) | `layer_b_v3_live_receipt.json` |
53
+ | When | 2026-07-29 ~18:49 local |
54
+
55
+ **Not a freeze-bar move.** Do not rewrite `launch_lock.json` hermes fields from v3.
56
 
57
  ## Run
58
 
59
  ```bash
60
+ # Freeze / claim path v2 only
61
  python eval/hermes_agent_smoke/run_hermes_smoke.py \
62
  --base-url http://127.0.0.1:8000/v1 \
63
  --model local-laguna \
64
+ --cases eval/hermes_agent_smoke/cases.json \
65
  --out results/hermes_agent_smoke.json
66
+
67
+ # Layer B expansion (research / post-measure) — does not move freeze bar
68
+ python eval/hermes_agent_smoke/run_hermes_smoke.py \
69
+ --base-url http://127.0.0.1:8000/v1 \
70
+ --model local-laguna \
71
+ --cases eval/hermes_agent_smoke/cases_layer_b_v3.json \
72
+ --out results/hermes_agent_smoke_layer_b_v3.json
73
+ ```
74
+
75
+ Optional: `--limit N`, `--ids term_01,long_01`, `--temperature 0`.
76
+
77
+ One-shot helper (fail-closed if serve down; does not start GPU):
78
+
79
+ ```bash
80
+ ./scripts/measure_layer_b_v3.sh
81
+ # OPENAI_BASE_URL=http://<spark>:8000/v1 ./scripts/measure_layer_b_v3.sh
82
  ```
83
 
84
+ Offline judge dry-run (no server): load `agent_smoke.judge` against synthetic tool_calls (see receipt).
85
+
86
+ Static result browser (local file drop): [`../smoke_viewer.html`](../smoke_viewer.html).
87
 
88
  ## Protocol honesty
89
 
90
  **one-response protocol** — tool JSON shape / multi-turn repair are **validated**, tools are **not executed**.
91
  Smoke temperature for claim runs: **0.0** (never 0.7 card/default for tools).
92
 
93
+ Judges already support: `tool_call`, `any_of_tools`, `any_ok_tools`, `no_extra_tools`, `content_contains` + `sanitize_messages_for_server` for broken prior args.
94
+
95
  ## Claims rule
96
 
97
+ - Freeze / launch lock quotes **only** v2 `results/hermes_agent_smoke.json`.
98
+ - Do not rewrite `launch_lock.json` hermes fields from a v3 run.
99
+ - Headline launch bar remains agent_smoke **40/40**.
100
+ - Pass fraction on the card only with a real run artifact.
101
+
102
+ ## Layer B intent
103
+
104
+ Expand harness toward Hermes multi-turn / long-horizon dominance **without** touching weights or Aug 3 freeze claim surface.
105
+ Retrain / full agentic SFT stays **parked** (separate post-freeze decision).
eval/hermes_agent_smoke/run_hermes_smoke.py CHANGED
@@ -1,9 +1,9 @@
1
  #!/usr/bin/env python3
2
- """Hermes-class agent_smoke v2 runner for Laguna OpenAI-compatible servers.
3
 
4
- Reuses agent_smoke judges + prior-tool-arg sanitization.
5
- Suite is named hermes_agent_smoke branding is tool-agent family shape only,
6
- not a Nous Research endorsement.
7
  """
8
 
9
  from __future__ import annotations
 
1
  #!/usr/bin/env python3
2
+ """Hermes-class agent_smoke runner for Laguna OpenAI-compatible servers.
3
 
4
+ Default cases.json = freeze v2 (27). Pass --cases cases_layer_b_v3.json for
5
+ Layer B long-horizon expansion (35). Reuses agent_smoke judges + prior-tool-arg
6
+ sanitization. Branding is tool-agent family shape only — not a Nous endorsement.
7
  """
8
 
9
  from __future__ import annotations
eval/smoke_viewer.html ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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>Laguna agent smoke viewer (static)</title>
7
+ <style>
8
+ :root { color-scheme: dark; --bg:#0d1117; --card:#161b22; --fg:#e6edf3; --mut:#8b949e; --ok:#3fb950; --bad:#f85149; --line:#30363d; }
9
+ body { margin:0; font:14px/1.45 ui-sans-serif,system-ui,sans-serif; background:var(--bg); color:var(--fg); }
10
+ header { padding:16px 20px; border-bottom:1px solid var(--line); }
11
+ h1 { margin:0 0 6px; font-size:18px; }
12
+ .mut { color:var(--mut); }
13
+ main { padding:16px 20px 40px; max-width:1100px; }
14
+ .row { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:10px 0 16px; }
15
+ input[type=file], button, select { background:var(--card); color:var(--fg); border:1px solid var(--line); border-radius:8px; padding:8px 10px; }
16
+ button { cursor:pointer; }
17
+ .stat { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:10px 12px; min-width:110px; }
18
+ .stat b { display:block; font-size:18px; }
19
+ table { width:100%; border-collapse:collapse; }
20
+ th, td { text-align:left; padding:8px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
21
+ th { color:var(--mut); font-weight:600; }
22
+ tr.pass td.id { color:var(--ok); }
23
+ tr.fail td.id { color:var(--bad); }
24
+ code { font:12px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
25
+ pre { white-space:pre-wrap; background:#0a0e14; border:1px solid var(--line); border-radius:8px; padding:10px; max-height:220px; overflow:auto; }
26
+ .disc { margin-top:18px; font-size:12px; color:var(--mut); }
27
+ </style>
28
+ </head>
29
+ <body>
30
+ <header>
31
+ <h1>Laguna agent / hermes-class smoke viewer</h1>
32
+ <div class="mut">Static local viewer · drop a measured JSON · no network · not a Nous endorsement</div>
33
+ </header>
34
+ <main>
35
+ <div class="row">
36
+ <input id="file" type="file" accept="application/json,.json" />
37
+ <select id="filter">
38
+ <option value="all">all</option>
39
+ <option value="fail">fails only</option>
40
+ <option value="pass">passes only</option>
41
+ </select>
42
+ <button id="clear" type="button">clear</button>
43
+ </div>
44
+ <div class="row" id="stats"></div>
45
+ <div id="meta" class="mut"></div>
46
+ <table>
47
+ <thead><tr><th>id</th><th>ok</th><th>judge / note</th><th>detail</th></tr></thead>
48
+ <tbody id="tbody"></tbody>
49
+ </table>
50
+ <p class="disc">
51
+ Personal measurement helper for pack artifacts under <code>results/</code>
52
+ (<code>agent_smoke.json</code>, <code>hermes_agent_smoke.json</code>, Layer B v3 when live).
53
+ Freeze claims remain whatever <code>launch_lock.json</code> records — this page never invents scores.
54
+ </p>
55
+ </main>
56
+ <script>
57
+ const $ = (id) => document.getElementById(id);
58
+ let DATA = null;
59
+
60
+ function casesFrom(doc) {
61
+ if (!doc) return [];
62
+ if (Array.isArray(doc.cases)) return doc.cases;
63
+ if (Array.isArray(doc.results)) return doc.results;
64
+ if (Array.isArray(doc.items)) return doc.items;
65
+ return [];
66
+ }
67
+
68
+ function isPass(c) {
69
+ if (typeof c.pass === 'boolean') return c.pass;
70
+ if (typeof c.ok === 'boolean') return c.ok;
71
+ if (typeof c.passed === 'boolean') return c.passed;
72
+ if (c.status) return String(c.status).toLowerCase() === 'pass';
73
+ return false;
74
+ }
75
+
76
+ function render() {
77
+ const tbody = $('tbody');
78
+ const stats = $('stats');
79
+ const meta = $('meta');
80
+ tbody.innerHTML = '';
81
+ stats.innerHTML = '';
82
+ meta.textContent = '';
83
+ if (!DATA) return;
84
+ const all = casesFrom(DATA);
85
+ const mode = $('filter').value;
86
+ const rows = all.filter(c => {
87
+ const p = isPass(c);
88
+ if (mode === 'fail') return !p;
89
+ if (mode === 'pass') return p;
90
+ return true;
91
+ });
92
+ const nPass = all.filter(isPass).length;
93
+ const nFail = all.length - nPass;
94
+ const mk = (label, val) => {
95
+ const d = document.createElement('div');
96
+ d.className = 'stat';
97
+ d.innerHTML = `<b>${val}</b><span class="mut">${label}</span>`;
98
+ return d;
99
+ };
100
+ stats.append(
101
+ mk('total', all.length),
102
+ mk('pass', nPass),
103
+ mk('fail', nFail),
104
+ mk('rate', all.length ? `${(100*nPass/all.length).toFixed(1)}%` : '—')
105
+ );
106
+ const bits = [];
107
+ for (const k of ['suite','model','base_url','temperature','elapsed_s','created_at','when','runner_sha']) {
108
+ if (DATA[k] != null) bits.push(`${k}=${DATA[k]}`);
109
+ }
110
+ meta.textContent = bits.join(' · ');
111
+ for (const c of rows) {
112
+ const tr = document.createElement('tr');
113
+ const ok = isPass(c);
114
+ tr.className = ok ? 'pass' : 'fail';
115
+ const id = c.id || c.case_id || c.name || '—';
116
+ const note = c.judge || c.reason || c.message || c.error || '';
117
+ const detail = c.detail || c.tool_calls || c.response || c.raw || c;
118
+ tr.innerHTML = `<td class="id"><code>${id}</code></td>
119
+ <td>${ok ? 'pass' : 'FAIL'}</td>
120
+ <td>${String(note).slice(0,240)}</td>
121
+ <td><pre></pre></td>`;
122
+ tr.querySelector('pre').textContent = typeof detail === 'string' ? detail : JSON.stringify(detail, null, 2).slice(0, 4000);
123
+ tbody.appendChild(tr);
124
+ }
125
+ }
126
+
127
+ $('file').addEventListener('change', async (e) => {
128
+ const f = e.target.files && e.target.files[0];
129
+ if (!f) return;
130
+ DATA = JSON.parse(await f.text());
131
+ render();
132
+ });
133
+ $('filter').addEventListener('change', render);
134
+ $('clear').addEventListener('click', () => { DATA=null; $('file').value=''; render(); });
135
+ </script>
136
+ </body>
137
+ </html>
hermes/README.md CHANGED
@@ -1,7 +1,5 @@
1
  # Hermes-class sample client
2
 
3
- Personal sample client for local Spark serve.
4
-
5
  OpenAI-compatible client notes for **Hermes-class / tool-agent** runtimes against
6
  local `llama-server` serving Laguna-S-2.1 on DGX Spark.
7
 
@@ -18,7 +16,7 @@ local `llama-server` serving Laguna-S-2.1 on DGX Spark.
18
  ```text
19
  base_url = http://127.0.0.1:8000/v1
20
  api_key = sk-local # llama-server ignores; keep placeholder
21
- model = local-laguna # any label; server may echo file stem
22
  ```
23
 
24
  ```bash
@@ -28,6 +26,16 @@ export OPENAI_MODEL=local-laguna
28
  python hermes/sample_client.py
29
  ```
30
 
 
 
 
 
 
 
 
 
 
 
31
  ## Tool schema contract
32
 
33
  Send tools as OpenAI function tools:
@@ -59,22 +67,37 @@ Agent loop:
59
  3. Repeat until final `content`
60
  4. **Never** execute a name absent from the offered schema
61
 
 
 
 
 
 
 
62
  ## Jinja / chat template
63
 
64
  Serve with `--jinja` on poolside `laguna` llama.cpp so tool call formatting
65
  matches the Laguna chat template. If tool_calls parse soft-fail, check server
66
  log for template warnings before blaming the model.
67
 
68
- ## Escapes
 
 
 
 
 
 
69
 
70
  | Symptom | Check |
71
  |---------|--------|
72
  | empty tool_calls, prose only | temp→0, strengthen system “use tools”, confirm `--jinja` |
73
  | invented tool names | smoke case `no_invented_tools`; tighten system prompt |
74
- | JSON args invalid | repair turn in agent_smoke `error_repair` |
75
- | 404 /v1/... | base_url must include `/v1` |
 
 
 
76
 
77
- ## Hermes-class smoke v2
78
 
79
  ```bash
80
  python eval/hermes_agent_smoke/run_hermes_smoke.py \
@@ -84,6 +107,30 @@ python eval/hermes_agent_smoke/run_hermes_smoke.py \
84
  --out results/hermes_agent_smoke.json
85
  ```
86
 
87
- 27 fixed cases (terminal/files/web multi-turn + repair). See `eval/hermes_agent_smoke/README.md`.
88
- **one-response protocol** — tools validated, not executed. Claim temp **0.0**.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
  Not a Nous endorsement.
 
1
  # Hermes-class sample client
2
 
 
 
3
  OpenAI-compatible client notes for **Hermes-class / tool-agent** runtimes against
4
  local `llama-server` serving Laguna-S-2.1 on DGX Spark.
5
 
 
16
  ```text
17
  base_url = http://127.0.0.1:8000/v1
18
  api_key = sk-local # llama-server ignores; keep placeholder
19
+ model = local-laguna # must match llama-server --alias
20
  ```
21
 
22
  ```bash
 
26
  python hermes/sample_client.py
27
  ```
28
 
29
+ Remote client → Spark (no local full-S weights on ≤32 GB class machines):
30
+
31
+ ```bash
32
+ export OPENAI_BASE_URL=http://<spark-host>:8000/v1
33
+ export OPENAI_API_KEY=sk-local
34
+ export OPENAI_MODEL=local-laguna
35
+ ```
36
+
37
+ Stack-agnostic YAML sketch: [`config.example.yaml`](./config.example.yaml)
38
+
39
  ## Tool schema contract
40
 
41
  Send tools as OpenAI function tools:
 
67
  3. Repeat until final `content`
68
  4. **Never** execute a name absent from the offered schema
69
 
70
+ Multi-turn repair (invalid prior args):
71
+
72
+ 1. If a historical `function.arguments` string is not valid JSON, **do not** re-POST it raw
73
+ 2. Replace with a sanitized object holding `_invalid_json_arguments` + `_raw` (see `eval/agent_smoke/run_smoke.py`)
74
+ 3. Or drop/rebuild the broken turn and ask the model to re-issue the tool call
75
+
76
  ## Jinja / chat template
77
 
78
  Serve with `--jinja` on poolside `laguna` llama.cpp so tool call formatting
79
  matches the Laguna chat template. If tool_calls parse soft-fail, check server
80
  log for template warnings before blaming the model.
81
 
82
+ Captain serve flags (must match last-green):
83
+
84
+ ```text
85
+ -c 8192 -ngl -1 --jinja -fa on --alias local-laguna --parallel 1
86
+ ```
87
+
88
+ ## Failure → fix matrix
89
 
90
  | Symptom | Check |
91
  |---------|--------|
92
  | empty tool_calls, prose only | temp→0, strengthen system “use tools”, confirm `--jinja` |
93
  | invented tool names | smoke case `no_invented_tools`; tighten system prompt |
94
+ | JSON args invalid | repair turn in agent_smoke `error_repair`; sanitize priors |
95
+ | HTTP 500 on follow-up turn | prior tool args not valid JSON — sanitize before re-send |
96
+ | 404 /v1/... | `OPENAI_BASE_URL` must include `/v1` |
97
+ | model id mismatch | request model must match `--alias` (`local-laguna`) |
98
+ | slow / OOM agent loops | ctx 8192 agent day-to-day; do not jump to 256k without FSM |
99
 
100
+ ## Hermes-class smoke v2 (freeze bar companion)
101
 
102
  ```bash
103
  python eval/hermes_agent_smoke/run_hermes_smoke.py \
 
107
  --out results/hermes_agent_smoke.json
108
  ```
109
 
110
+ 27 fixed cases (terminal/files/web multi-turn + repair).
111
+ See `eval/hermes_agent_smoke/README.md`.
112
+ **One-response protocol** on most cases — tools validated, not executed.
113
+ Claim temp **0.0**. Measured tip: **27/27**.
114
+
115
+ Does **not** replace the launch-bar **agent_smoke 40/40**.
116
+
117
+ ## Layer B research suite (optional)
118
+
119
+ ```bash
120
+ python eval/hermes_agent_smoke/run_hermes_smoke.py \
121
+ --base-url http://127.0.0.1:8000/v1 \
122
+ --model local-laguna \
123
+ --cases eval/hermes_agent_smoke/cases_layer_b_v3.json \
124
+ --out results/hermes_agent_smoke_layer_b_v3.json
125
+ ```
126
+
127
+ 35 cases (= v2 27 + 8 long-horizon / denser repair).
128
+ Live research measure **2026-07-29:** **35/35** in **137.56s** on official Q4 (temp 0).
129
+ Local artifact: `results/hermes_agent_smoke_layer_b_v3.json` (gitignored).
130
+ Tracked receipt: `eval/hermes_agent_smoke/layer_b_v3_live_receipt.json`.
131
+ DOES **not** move freeze lock numbers (v2 stays **27/27**).
132
+
133
+ One-shot helper: `./scripts/measure_layer_b_v3.sh`
134
+ (If Spark serves loopback-only, tunnel: `ssh -L 18000:127.0.0.1:8000 spark`.)
135
+
136
  Not a Nous endorsement.
hermes/config.example.yaml ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Example OpenAI-compatible provider snippet for Hermes-class / tool-agent runtimes
2
+ # against local Laguna-S-2.1 on DGX Spark.
3
+ #
4
+ # Language:
5
+ # - "Hermes-class" = OpenAI chat.completions + tools/tool_calls shape only
6
+ # - NOT a Nous Research endorsement or Hermes Agent product config
7
+ # - Map keys to your agent stack's real schema (names differ by product)
8
+
9
+ provider:
10
+ kind: openai_compatible
11
+ # MUST include /v1 — bare :8000 returns 404 on /chat/completions paths
12
+ base_url: "http://127.0.0.1:8000/v1"
13
+ # If Spark binds 0.0.0.0: Tailscale "http://100.98.213.2:8000/v1"
14
+ # If Spark binds 127.0.0.1 only: ssh -L 18000:127.0.0.1:8000 spark → "http://127.0.0.1:18000/v1"
15
+ api_key: "sk-local" # llama-server ignores auth; keep a placeholder
16
+ model: "local-laguna" # must match llama-server --alias
17
+ timeout_s: 300
18
+ headers:
19
+ User-Agent: "laguna-spark-hermes-sample/0.1"
20
+
21
+ serve_pin:
22
+ # Captain flags from results/LAST_GREEN_PIN.md / MEASURED.md
23
+ engine: "poolsideai/llama.cpp@04b2b72 (branch laguna)"
24
+ quant: "poolside/Laguna-S-2.1-GGUF:laguna-s-2.1-Q4_K_M.gguf"
25
+ q4_sha256: "a8b55c75714ea73fd90ec85de5defdc0b8d88ca0ad2108343cdd8fc22f7583e4"
26
+ flags:
27
+ - "--ctx-size 8192"
28
+ - "-ngl -1"
29
+ - "--jinja" # required for Laguna tool/chat template
30
+ - "-fa on"
31
+ - "--alias local-laguna"
32
+ - "--parallel 1"
33
+
34
+ sampling_agent:
35
+ # Agent smoke lock uses temp 0.0
36
+ temperature: 0.0
37
+ top_p: 1.0
38
+ max_tokens: 512
39
+ tool_choice: auto
40
+
41
+ client_rules:
42
+ - "Never execute a tool name absent from the offered schema"
43
+ - "function.arguments must be a JSON object string; repair/sanitize before re-send"
44
+ - "Append role=tool results, then continue the same multi-turn thread"
45
+ - "Prefer short final content after tools resolve"
46
+
47
+ smoke:
48
+ agent_bar: "eval/agent_smoke/run_smoke.py # 40 cases · launch bar"
49
+ hermes_v2: "eval/hermes_agent_smoke/run_hermes_smoke.py # 27 cases · measured tip"
50
+ hermes_layer_b_v3: "scripts/measure_layer_b_v3.sh # research 35/35 live tip; not freeze bar"
prompts/_mirror/README-SPARK-HIZRIANRAZ.md DELETED
@@ -1,11 +0,0 @@
1
- # Spark dual-repo analysis redouts
2
-
3
- Live copies for external tools live on Spark:
4
-
5
- ```
6
- ~/hizrianraz/prompts/ ← paste these
7
- ~/hizrianraz/Laguna-S-2.1-Spark-Agentic
8
- ~/hizrianraz/Laguna-XS-2.1-Mac-Agentic
9
- ```
10
-
11
- Analyze **both** trees. Never merge product stories.
 
 
 
 
 
 
 
 
 
 
 
 
prompts/chatgpt-analyze-laguna-s-2026-07-29.md DELETED
@@ -1,122 +0,0 @@
1
- # ChatGPT analysis prompt — Laguna-S-2.1-Spark-Agentic (2026-07-29)
2
-
3
- Copy everything below the line into ChatGPT (o3 / GPT-5 Thinking preferred).
4
- Paste the listed file bodies as attachments or follow-up messages. Do **not** invent numbers.
5
-
6
- ---
7
-
8
- ## Role
9
-
10
- You are an independent technical auditor for a **personal** Hugging Face model pack:
11
-
12
- `hizrianraz/Laguna-S-2.1-Spark-Agentic`
13
-
14
- Not Ainfera company IP. Spark-only full weights. Founder: Hizrian Raz.
15
-
16
- ## Mission
17
-
18
- Analyze freeze/launch readiness **after** an optional DFlash (draft speculative) experiment that **failed** promotion.
19
-
20
- Return hard judgments, not cheerleading.
21
-
22
- ## Hard facts (only these numbers are authorized)
23
-
24
- | Item | Value |
25
- |------|-------|
26
- | Headline quant | official Poolside `laguna-s-2.1-Q4_K_M.gguf` |
27
- | Q4 sha256 | `a8b55c75714ea73fd90ec85de5defdc0b8d88ca0ad2108343cdd8fc22f7583e4` |
28
- | Host | DGX Spark GB10 |
29
- | Engine | poolsideai/llama.cpp `04b2b72` |
30
- | agent_smoke | **40/40** · 84.86s · temp 0.0 |
31
- | hermes_agent_smoke v2 | **27/27** · 100.1s |
32
- | gen128 | **21.47 tok/s** (quote this) |
33
- | Prefill OK marks | 2k **1.597s** · 8k **4.78s** |
34
- | Measure tip (smoke/weights) | git `bf82eab` — must not be confused with later docs tip |
35
- | DFlash gen128 | **15.286 tok/s** (−28.8% vs 21.47) · **DO_NOT_PROMOTE** |
36
- | DFlash prefill | 2k 2.253s · 8k 5.556s (worse than baseline) |
37
- | IQ3 pointer (not headline) | Unsloth UD-IQ3_S **38/40** |
38
- | Freeze clock | **2026-08-02 18:00 WIB** |
39
- | Public go-live | **2026-08-03 12:00 WIB** |
40
- | Freeze gate | **FILLED** 2026-07-29 (model card + lock set) |
41
- | Live baseline after DFlash teardown | HEALTH_OK + chat content `OK` · fingerprint `b1-04b2b72` |
42
- | diy_gguf | false |
43
- | weight host | Spark-only |
44
- | founder Mac | client-only, no local S weights |
45
- | XS pack | parallel track, **not** inside S freeze |
46
- | branding | personal-only |
47
- | public promo before launch | **false** |
48
-
49
- ## Locks you must not break in recommendations
50
-
51
- 1. No freeze before 2026-08-02 18:00 WIB
52
- 2. No public promo before 2026-08-03 12:00 WIB
53
- 3. No claiming DFlash speedup
54
- 4. No inventing higher tok/s or smoke scores
55
- 5. No full Laguna mobile claims
56
- 6. No mixing XS into S freeze artifact
57
- 7. Docs tip may move; **measure tip stays bf82eab** until weights/smoke re-run
58
-
59
- ## Attachments to analyze (paste contents)
60
-
61
- Primary:
62
-
63
- 1. `README.md` (model card)
64
- 2. `LAUNCH_AUG3.md`
65
- 3. `results/MEASURED.md` + `results/measured.json`
66
- 4. `results/launch_lock.json`
67
- 5. `results/LAST_GREEN_PIN.md`
68
- 6. `results/dflash_2026-07-29/STATUS.md` + `measured.json`
69
- 7. `results/baseline_rehealth_2026-07-29.md`
70
- 8. `results/stranger_path_dry_2026-07-29.md`
71
- 9. `docs/REPRODUCE.md`
72
- 10. `research/quant-comparison-scoreboard-2026-07-28.md`
73
- 11. `results/freeze_notes_2026-07-29.md`
74
- 12. `results/freeze_gate_model_card_lock_set_2026-07-29.json`
75
- 13. `results/three_jury_post_dflash_2026-07-29.json`
76
- 14. `results/hf_publish.json` (last HF docs snapshot)
77
-
78
- ## Questions (answer all)
79
-
80
- ### A. Integrity
81
- 1. Are any two docs contradicting on gen128 / smoke / sha256 / engine?
82
- 2. Is DFlash rejection scientifically fair (same host, weight, engine family)?
83
- 3. Could a reader confuse docs tip with measure tip and allege regression?
84
-
85
- ### B. Ship story
86
- 4. What is the single tightest sentence for the HF card opening after Aug 3?
87
- 5. Which 5 phrases are **banned** (overclaim risk)?
88
- 6. Is stranger-path documentation enough for a non-founder to reproduce headline serve?
89
-
90
- ### C. Risk → freeze
91
- 7. Top 5 residual risks ranked by freeze-day severity.
92
- 8. What must be true on clean pushed HEAD at freeze (checklist).
93
- 9. Anything that looks “done” but is only claimed?
94
-
95
- ### D. Competitive honesty
96
- 10. Versus Poolside/Unsloth/Bartowski GGUFs: what is our real wedge (agent evidence + Spark digest bind) vs vanity (likes/dl)?
97
- 11. Should IQ3 appear above or below the fold?
98
-
99
- ### E. Decision
100
- 12. Verdict: **SHIP_AS_PLANNED** / **SHIP_WITH_NITS** / **SLIP_FREEZE** — pick one.
101
- 13. If NITS: max 5 bullets with exact file paths to fix before 08-02.
102
- 14. If SLIP: what evidence failed and minimum fix.
103
-
104
- ## Output format (strict)
105
-
106
- ```
107
- VERDICT: ...
108
- ONE_LINE_STORY: ...
109
- BANNED_PHRASES:
110
- - ...
111
- CONTRADICTIONS:
112
- - ... or NONE
113
- RISKS_TOP5:
114
- 1. ...
115
- FREEZE_CHECKLIST:
116
- - [ ] ...
117
- NITS:
118
- - path: ...
119
- CONFIDENCE: high|med|low + why
120
- ```
121
-
122
- No marketing. No new benchmarks. Cite paths.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
prompts/chatgptwork-laguna-s-plus-xs-2026-07-28.md DELETED
@@ -1,84 +0,0 @@
1
- # ChatGPT Work — Laguna S pack + XS Mac path (analysis only)
2
-
3
- ## Role
4
- You are an external technical analyst. Advisory only.
5
-
6
- ## Hard denials
7
- - No GPU, no deploy, no HF publish, no company-gate vault write, no git commit for the founder
8
- - Do not treat this output as ship clearance
9
- - Do not invent measured numbers
10
- - Do not treat sha-verified disk presence as agent_smoke
11
-
12
- ## Two tracks (never merge)
13
-
14
- ### Track A — Laguna-S-2.1-Spark-Agentic pack (stand-behind)
15
- - Personal pack HF: https://huggingface.co/hizrianraz/Laguna-S-2.1-Spark-Agentic
16
- - Local: `~/code/hizrianraz/Laguna-S-2.1-Spark-Agentic`
17
- - Mirrors: Synology `/Volumes/home/hizrianraz/Laguna-S-2.1-Spark-Agentic` · Spark `~/hizrianraz/Laguna-S-2.1-Spark-Agentic`
18
- - Base: poolside/Laguna-S-2.1 (118B-A8B MoE)
19
- - Weight host lock: **DGX Spark only**
20
- - Founder Mac ≤32G: **client only** for full S — no local full-S weights
21
- - Headline quant: official Q4_K_M
22
- sha256 `a8b55c75714ea73fd90ec85de5defdc0b8d88ca0ad2108343cdd8fc22f7583e4`
23
- - Spark models placement (gitignored symlink into pack): verified same sha
24
- - Measured (Spark, 2026-07-28): agent_smoke **40/40**, hermes-class v2 **27/27**, ~**21 t/s**
25
- - IQ3_S third-party pointer on Spark: **38/40** — not headline; restore Q4 after alt
26
- - Launch: **2026-08-03 12:00 WIB** · freeze **2026-08-02 18:00**
27
- - Branding: personal-only · no public promo before launch
28
- - DIY GGUF: false unless measured win
29
- - Three-jury post-placement: **all_go** for analysis continue only
30
-
31
- ### Track B — Laguna-XS-2.1-Mac-Agentic ≤32G candidate (parallel, unmeasured)
32
- - Separate pack: `~/code/hizrianraz/Laguna-XS-2.1-Mac-Agentic` (+ Synology/Spark trees)
33
- - Base: https://huggingface.co/poolside/Laguna-XS-2.1
34
- sha `205dc65dd4bda946c50da6b7522b215734fa107b`
35
- - Shape: **33B total · 3B active** MoE (NOT a quant of S)
36
- - Official GGUF: https://huggingface.co/poolside/Laguna-XS-2.1-GGUF
37
- - Q4_K_M ≈ **18.882 GiB** — **on Synology pack models/** sha verified
38
- `1ac7079101fca5a6df8c5a7523a3c30ea7d1c0e4b1258090e7d6d4039287f6cb`
39
- - BF16 ≈ **62.334 GiB** — non-fit founder Mac
40
- - Poolside “Mac with 36 GB” vs founder Studio **exactly 32G** — tight, unproven
41
- - Engine risk: llama.cpp Laguna path PR ggml-org/llama.cpp#25165 / poolside fork
42
- - **Zero** founder same-harness agent_smoke on Mac for XS
43
- - Forbidden labels: “S on Mac”, “S-lite”, “S-Mac=XS”, averaging S metrics with XS
44
-
45
- ## Inputs to analyze
46
- 1. Repo trees + dual roadmap docs + three_jury + weight_placement JSON
47
- 2. HF card S pack (live) + poolside S/S-GGUF/XS/XS-GGUF
48
- 3. launch_lock.json freeze/launch bars only for Track A
49
- 4. XS measured.json still `unmeasured`
50
-
51
- ## Tasks
52
- 1. **Integrity audit (Track A):** overclaims, host-label blur, missing sha, freeze risks, promo creep
53
- 2. **Roadmap gap list:** what must be true by freeze 2026-08-02 18:00 for S pack honesty only
54
- 3. **XS Mac path (Track B):** realistic 32G load envelope; pull-from-Synology order; engine gates; measurement checklist; what not to claim
55
- 4. **Separation check:** any line that implies full S runs on founder Mac or that disk-sha = smoke
56
- 5. **Green-to-continue definition:** state clearly that external GO = continue honest freeze prep for S + optional XS research prep — not XS ship and not public promo
57
- 6. **Actionable cuts:** max 10 wording-only edits — no scope expansion
58
-
59
- ## Required output format
60
- ### A. Executive
61
- - 5 bullets max
62
-
63
- ### B. Track A (S/Spark) findings
64
- - table: finding | severity | evidence | fix
65
-
66
- ### C. Track B (XS/Mac) findings
67
- - table: finding | severity | evidence | next measure step
68
- - explicit: proven vs candidate
69
-
70
- ### D. Must-not list
71
- - bullets founder should keep locked
72
-
73
- ### E. Open questions
74
- - ≤8, ranked
75
-
76
- ### F. Measurement checklist for XS Mac
77
- - ordered, copy-pasteable
78
-
79
- ### G. Verdict
80
- - S roadmap green to continue freeze work: yes|no + why
81
- - XS measure clearance: **no** unless evidence changes
82
- - Safe for founder to paste external output back without authority laundering: yes|no
83
-
84
- Stop after analysis. No ship decision language.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
prompts/claude-analyze-laguna-s-2026-07-29.md DELETED
@@ -1,148 +0,0 @@
1
- # Claude analysis prompt — Laguna-S-2.1-Spark-Agentic (2026-07-29)
2
-
3
- Copy everything below the line into Claude (Opus 4.x / Sonnet Thinking preferred).
4
- Project-knowledge or paste the listed files. **Refuse any number not in the fact table or attached files.**
5
-
6
- ---
7
-
8
- ## System stance
9
-
10
- You are **Claude as adversarial launch reviewer** for a personal HF pack, not a co-author.
11
-
12
- Pack: `hizrianraz/Laguna-S-2.1-Spark-Agentic`
13
- Persona: blunt, path-cited, ADHD-scannable. Short lines. Tables OK.
14
-
15
- ## Context in one breath
16
-
17
- Founder measured official Laguna-S 2.1 Q4_K_M on DGX Spark with poolside llama.cpp `04b2b72`:
18
-
19
- - agent_smoke **40/40**
20
- - hermes v2 **27/27**
21
- - gen128 **21.47 t/s**
22
-
23
- Optional DFlash draft path measured **15.286 t/s** gen128 → **DO_NOT_PROMOTE**.
24
- Baseline serve restored live (HEALTH_OK + chat OK).
25
- Freeze gate already **FILLED**. Clocks locked: freeze **2026-08-02 18:00 WIB**, go-live **2026-08-03 12:00 WIB**.
26
- No public promo early. Spark-only weights. Personal brand. XS is a separate parallel track.
27
-
28
- ## Authorized fact table
29
-
30
- | Field | Authorized value |
31
- |-------|------------------|
32
- | Weight | `laguna-s-2.1-Q4_K_M.gguf` official Poolside |
33
- | sha256 | `a8b55c75714ea73fd90ec85de5defdc0b8d88ca0ad2108343cdd8fc22f7583e4` |
34
- | Engine | `04b2b72` |
35
- | Measure git tip | `bf82eab` |
36
- | agent_smoke | 40/40 · 84.86s |
37
- | hermes | 27/27 · 100.1s |
38
- | gen128 | 21.47 t/s |
39
- | prefill 2k/8k | 1.597s / 4.78s |
40
- | DFlash gen128 | 15.286 t/s (−28.8%) |
41
- | DFlash 2k/8k | 2.253s / 5.556s |
42
- | IQ3_S pointer | 38/40 not headline |
43
- | Live after restore | HEALTH_OK · reply `OK` · fp `b1-04b2b72` |
44
-
45
- ## What to read
46
-
47
- 1. Model card `README.md`
48
- 2. `LAUNCH_AUG3.md`
49
- 3. `docs/REPRODUCE.md` + `SPARK.md`
50
- 4. `results/MEASURED.md`, `measured.json`, `launch_lock.json`
51
- 5. `results/LAST_GREEN_PIN.md`
52
- 6. Entire `results/dflash_2026-07-29/` summary files
53
- 7. `results/baseline_rehealth_2026-07-29.md`
54
- 8. `results/stranger_path_dry_2026-07-29.md`
55
- 9. `results/freeze_notes_2026-07-29.md` + freeze gate JSON
56
- 10. `results/three_jury_post_dflash_2026-07-29.json`
57
- 11. Scoreboard `research/quant-comparison-scoreboard-2026-07-28.md`
58
- 12. `results/hf_publish.json`
59
-
60
- ## Analysis jobs (do in order)
61
-
62
- ### 1) Contradiction hunt
63
- Diff headlines across card / MEASURED / lock / pin / scoreboard.
64
- List every mismatch (even stylistic number rounding like 21.016 vs 21.47 — explain which is authoritative and why).
65
-
66
- ### 2) DFlash post mortem
67
- Explain failure mode likely causes *from evidence only* (draft overhead, prefill tax, settings).
68
- Confirm DO_NOT_PROMOTE is mandatory.
69
- List 3 false narratives a hype reader might invent; kill each with a citation.
70
-
71
- ### 3) Stranger reproduce test
72
- With only public docs, outline exact terminal steps.
73
- Flag any missing flag, path, or alias.
74
- Pass/fail “15-minute competent stranger.”
75
-
76
- ### 4) Freeze-path PERT
77
- Build a day-by-day from now → 08-02 freeze → 08-03 launch.
78
- Mark critical path vs optional polish.
79
- Call out work that is **docs-tip only** vs **measure-tip**.
80
-
81
- ### 5) Claim surface
82
- Draft:
83
-
84
- - 1 footer-safe claim line
85
- - 1 bold title-safe claim line
86
- - 1 tweetsafe line
87
-
88
- Each ≤140 chars, zero banned collocations (no “fastest”, no “only”, no DFlash win, no mobile full Laguna).
89
-
90
- ### 6) Final verdict
91
-
92
- `PASS` | `PASS_WITH_NITS` | `HOLD`
93
-
94
- Rules:
95
-
96
- - HOLD only if a lock is broken or a number is false
97
- - PASS_WITH_NITS if story holds but files need cleanup
98
- - Include **disconfirming view**: strongest reason this launch could still embarrass on Aug 3
99
-
100
- ## Output skeleton (mandatory)
101
-
102
- ```
103
- ## Verdict
104
- ...
105
-
106
- ## Authoritative numbers
107
- (table)
108
-
109
- ## Contradictions
110
- - ...
111
-
112
- ## DFlash
113
- decision: DO_NOT_PROMOTE
114
- reasons:
115
- false_narratives_killed:
116
- - ...
117
-
118
- ## Stranger path
119
- result: PASS|FAIL
120
- gaps:
121
- - ...
122
-
123
- ## Freeze schedule
124
- | Day | Must | Optional |
125
- ...
126
-
127
- ## Claims
128
- footer: "..."
129
- title: "..."
130
- tweet: "..."
131
-
132
- ## Nits (max 7)
133
- 1. file — change
134
-
135
- ## Disconfirming view
136
- ...
137
-
138
- ## Founder decision needed
139
- NONE or single sentence
140
- ```
141
-
142
- ## Explicit refusals
143
-
144
- - Do not suggest DIY quant as launch path
145
- - Do not suggest hosting weights off Spark as headline
146
- - Do not recently invent evals
147
- - Do not merge XS into this freeze
148
- - Do not move clocks earlier
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
prompts/claudecowork-laguna-s-plus-xs-2026-07-28.md DELETED
@@ -1,86 +0,0 @@
1
- # Claude Cowork — Laguna S pack + XS Mac path (analysis only)
2
-
3
- ## System posture
4
- You are a skeptical founding-engineer peer. Pressure-test claims. Prefer “not proven” over polish.
5
-
6
- ## Absolute constraints
7
- - Advisory analysis only
8
- - No deploy, no GPU spin instructions as if already run, no HF upload, no vault/company-gate writes
9
- - Never mint fake agent_smoke / tok/s
10
- - Never collapse Laguna-**S** and Laguna-**XS** into one product story
11
- - Never treat weight **sha** as runtime measure
12
-
13
- ## Locked facts (ground truth unless live probe disproves)
14
-
15
- ### Track A — S / Spark pack
16
- - Local: `~/code/hizrianraz/Laguna-S-2.1-Spark-Agentic`
17
- - Mirrors: Synology `/Volumes/home/hizrianraz/Laguna-S-2.1-Spark-Agentic` · Spark `~/hizrianraz/Laguna-S-2.1-Spark-Agentic`
18
- - HF: `hizrianraz/Laguna-S-2.1-Spark-Agentic`
19
- - Full S weights host: **Spark only** (`weight_host=dgx-spark-only`)
20
- - Founder Mac ≤32G: full S = **client → Spark :8000**, not local GGUF
21
- - Default GGUF: `poolside/Laguna-S-2.1-GGUF` `laguna-s-2.1-Q4_K_M.gguf`
22
- - sha256 `a8b55c75714ea73fd90ec85de5defdc0b8d88ca0ad2108343cdd8fc22f7583e4`
23
- - Spark pack placement: `~/hizrianraz/Laguna-S-2.1-Spark-Agentic/models/laguna-s-2.1-Q4_K_M.gguf` → symlink to `~/models/laguna-s-2.1/…` (sha verified)
24
- - Measured Spark 2026-07-28: agent_smoke **40/40** · hermes_agent_smoke **27/27** · ~**21 t/s**
25
- - IQ3_S Unsloth pointer on Spark: **38/40** · not default · restore Q4 after alt
26
- - Freeze **2026-08-02 18:00 WIB** · Launch **2026-08-03 12:00 WIB**
27
- - Three-jury (Lórien + Manwë appellate post-placement): **all_go** for analysis continue — see `results/three_jury_post_placement_2026-07-28.json`
28
-
29
- ### Track B — XS / Mac candidate (separate 33B-A3B)
30
- - Separate pack: `~/code/hizrianraz/Laguna-XS-2.1-Mac-Agentic` (+ Synology + Spark tree mirrors)
31
- - Upstream: `poolside/Laguna-XS-2.1` @ `205dc65dd4bda946c50da6b7522b215734fa107b`
32
- - Official GGUF Q4_K_M **18.882 GiB** on **Synology pack**
33
- `…/Laguna-XS-2.1-Mac-Agentic/models/Laguna-XS-2.1-Q4_K_M.gguf`
34
- sha256 `1ac7079101fca5a6df8c5a7523a3c30ea7d1c0e4b1258090e7d6d4039287f6cb` **verified**
35
- - BF16 ~62.334 GiB = Mac non-fit
36
- - Poolside card “36 GB Mac” vs founder **32G** Studio → tight candidate only
37
- - **No** founder same-harness agent_smoke / t/s yet (`results/measured.json` = unmeasured)
38
- - Engine may need poolside llama.cpp `laguna` / PR #25165
39
- - Weights gitignored (`models/`, `*.gguf`)
40
-
41
- ## Work the full surface
42
- Cross-check:
43
- - README.md matrix language (both packs)
44
- - results/MEASURED.md, launch_lock.json, agent_smoke / hermes headers, weight_placement_2026-07-28.json
45
- - results/three_jury_post_placement_2026-07-28.json + prior lorien three_jury JSON
46
- - research/* device matrix, xs mac fit, post-freeze path, dual roadmap
47
- - Live HF: S pack + poolside S + S-GGUF + XS + XS-GGUF file lists
48
-
49
- ## Critique angles
50
- 1. Any sentence still readable as “our Mac runs full Laguna-S”?
51
- 2. Does scoreboard blur IQ3_S / community rows into founder-Mac claims?
52
- 3. Does XS disk-on-Synology create freeze dilution risk for S?
53
- 4. Smallest honest XS measurement ladder on 32G before any public sentence?
54
- 5. Counter-case: when drop Mac-local XS and stay client-only forever?
55
- 6. Is “repo + roadmap green to continue” correctly **not** the same as XS CLEAR?
56
-
57
- ## Output schema
58
- ```
59
- ## Verdict strip
60
- - S pack honesty: GREEN | YELLOW | RED
61
- - XS separation: GREEN | YELLOW | RED
62
- - Placement honesty (weights gitignored / host labels): GREEN | YELLOW | RED
63
- - Ready for external paste without edit: yes|no
64
- - Roadmap green to continue freeze work (S only): yes|no
65
- - XS measure clearance: no (fixed unless new smoke JSON)
66
-
67
- ## Counter-case (what founder is not seeing)
68
- - 3 bullets
69
-
70
- ## Track A (S) patch list
71
- 1. file:line-or-section — change — why
72
-
73
- ## Track B (XS) measure plan
74
- - preconditions
75
- - commands outline (no claim execution happened)
76
- - pass/fail gates
77
- - when to write results
78
-
79
- ## Kill criteria
80
- - abort XS track conditions
81
-
82
- ## Questions only founder can answer
83
- - max 5
84
- ```
85
-
86
- End. No cheering. Disconfirm first.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
research/Laguna-XS-2.1-Mac-Agentic-fit-2026-07-28.md DELETED
@@ -1,110 +0,0 @@
1
- # Laguna-XS-2.1 · founder Mac ≤32G fit track
2
-
3
- Status: **prepared research** (2026-07-28).
4
- Awaiting three-jury on prepared pack, then founder gates.
5
- **Not** the Aug 3 S pack headline. **Not** a measured ship claim.
6
-
7
- Personal founder track only. Dual roadmap → [`roadmap-dual-s-and-xs-2026-07-28.md`](./roadmap-dual-s-and-xs-2026-07-28.md)
8
-
9
- ## Bottom line
10
-
11
- | Track | Model | Host | Status |
12
- |-------|--------|------|--------|
13
- | **A · stand-behind** | Laguna-**S**-2.1 ~118B MoE Q4_K_M | **DGX Spark only** | measured 40/40 + hermes 27/27 |
14
- | **B · Mac local candidate** | Laguna-**XS**-2.1 33B-A3B Q4_K_M | founder Mac ≤32G | **disk candidate** · **0 local smoke** |
15
-
16
- Full **S** stays Spark-only. Mac is **not** “S via XS”.
17
-
18
- ## Live HF probe (2026-07-28)
19
-
20
- ### Base
21
- - `poolside/Laguna-XS-2.1`
22
- - sha: `205dc65dd4bda946c50da6b7522b215734fa107b`
23
- - Shape (card): **33B total · 3B active/token · MoE**
24
- - Poolside claim: “compact enough to run on a Mac with **36 GB** of RAM”
25
- - Founder Studio coin: **32G** exactly (`hw.memsize` 34359738368) → **tighter than vendor 36G**
26
-
27
- ### Official GGUF
28
- - `poolside/Laguna-XS-2.1-GGUF` sha `1a37c0a5fb8c7a18e6106decb6be6327d1b63fa6`
29
-
30
- | File | Bytes | GiB | sha256 | Founder Mac ≤32G |
31
- |------|------:|----:|--------|------------------|
32
- | `Laguna-XS-2.1-Q4_K_M.gguf` | 20274300032 | **18.882** | `1ac7079101fca5a6df8c5a7523a3c30ea7d1c0e4b1258090e7d6d4039287f6cb` | **disk candidate** (runtime unproven) |
33
- | `Laguna-XS-2.1-BF16.gguf` | 66930226304 | **62.334** | `d1d99abe30c37749ec1b1ae2681cec74caa550ac6243d2ea70b61b1ff9d187ca` | **non-fit** |
34
-
35
- Upstream recommended default: **Q4_K_M**.
36
-
37
- Safetensors base ~14 shards ≈ **~67G** class — non-fit on ≤32G.
38
-
39
- ### Engine dependency
40
- - llama.cpp Laguna support: PR `ggml-org/llama.cpp#25165`
41
- - Prefer `poolsideai/llama.cpp` branch `laguna` on Mac Metal — **do not assume stock brew llama runs XS**
42
- - Ollama (`ollama pull laguna-xs-2.1`) = alt route until smoke
43
-
44
- ## Founder Mac envelope (Studio live)
45
-
46
- | Fact | Value |
47
- |------|-------|
48
- | Model | Mac14,13 · M2 Max |
49
- | RAM | **32G** exactly |
50
- | System Data free (prep) | ~40 Gi · 91% used — **prefer WD_BLACK for pull** |
51
- | WD_BLACK free | ~1.7 Ti |
52
- | Full S Q4 | ~96G · **non-fit** |
53
- | Full S IQ3_S pointer | ~48G · **non-fit** as local weight |
54
- | XS Q4_K_M | ~18.9G disk · **candidate** |
55
-
56
- Runtime RAM ≫ disk. Leave OS + browser + Hermes + KV headroom.
57
- **Disk-fit ≠ load-fit ≠ agent-smoke-fit.**
58
-
59
- ## Prep lock
60
-
61
- `results/xs_mac_track_lock.json` — status `prepared_research`
62
-
63
- ## Honesty rules
64
-
65
- **Say**
66
- - “XS Q4_K_M is the official ~19G Mac-class GGUF for Laguna-**XS**-2.1”
67
- - “Founder Mac client still talks to Spark for full **S**”
68
- - “XS is a **separate** 33B-A3B model, not a quant of S”
69
-
70
- **Do not say**
71
- - “Laguna runs on Mac” without naming **XS**
72
- - “S on Mac via XS”, “S-lite”, “S-Mac”
73
- - Any t/s, agent_smoke, or Hermes pass for XS until same-harness JSON
74
- - Poolside SWE-bench / Terminal-Bench as founder measured bar
75
- - BF16 / safetensors base as Mac-local
76
-
77
- ## Measurement gate (before any claim)
78
-
79
- 1. Working engine on founder Mac · record commit
80
- 2. `sha256` matches lock after download
81
- 3. Load proof: RSS + free RAM after load · ctx used
82
- 4. Same `eval/agent_smoke` 40 (or named subset + disclaimer)
83
- 5. Optional hermes-class 27
84
- 6. Host labeled **Mac Studio 32G** (never as Spark)
85
- 7. Fail list + separate delta table (not diluted into S headline)
86
- 8. Founder go before any public/pack claim move
87
-
88
- Results dir when measured: `results/sku_xs-official-q4km/`
89
-
90
- ## Suggested first pull (NOT run — needs founder go)
91
-
92
- ```bash
93
- # ~19G → external SSD preferred
94
- huggingface-cli download poolside/Laguna-XS-2.1-GGUF \
95
- Laguna-XS-2.1-Q4_K_M.gguf \
96
- --local-dir "/Volumes/HFR WD_BLACK SN850X/models/laguna-xs-2.1"
97
- shasum -a 256 "/Volumes/HFR WD_BLACK SN850X/models/laguna-xs-2.1/Laguna-XS-2.1-Q4_K_M.gguf"
98
- # expect 1ac7079101fca5a6df8c5a7523a3c30ea7d1c0e4b1258090e7d6d4039287f6cb
99
- ```
100
-
101
- Do **not** pull BF16 on this Mac.
102
-
103
- ## Relation to Aug 3 S pack
104
-
105
- | Item | Owner |
106
- |------|--------|
107
- | `hizrianraz/Laguna-S-2.1-Spark-Agentic` freeze/launch | **Roadmap A only** |
108
- | XS Mac notes | this file + `xs_mac_track_lock.json` |
109
- | multi_device_track | S community pointers; XS is **extra parallel** |
110
- | XS may delay S freeze | **no** |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
research/agentic-quant-hermes-hf-trending-2026-07-28.md DELETED
@@ -1,234 +0,0 @@
1
- # Deep research — agentic quant + Hermes fit + HF trending
2
-
3
- Date: 2026-07-28 18:47 WIB
4
- Scope: personal `hizrianraz/Laguna-S-2.1-Spark-Agentic` pack only
5
- Locks: launch_lock `diy_gguf=false`, official Q4_K_M only, min smoke 38/40, freeze 2026-08-02 18:00 WIB, launch 2026-08-03 12:00 WIB
6
-
7
- ## Bottom line
8
-
9
- 1. **Power for agents is not “a wilder GGUF.”** On Laguna-S-2.1 the competitive edge that survives scrutiny is: **official Poolside Q4_K_M (signal path protected) + fixed Hermes-shaped smoke + Spark-measured serve recipe.** DIY re-quants lose the launch lock unless they beat official by ≥10% on smoke or tok/s with full method disclosure.
10
- 2. **To be the most useful *agentic* Laguna pack for Hermes-class runtimes:** harden tool-call JSON validity, multi-turn repair, long-horizon multi-tool loops, and publish a Hermes local wiring playbook. That beats shipping another who-cares Q4.
11
- 3. **HF “top 10 trending” globally is not a realistic target for a personal digests-only spark pack.** Base `poolside/Laguna-S-2.1` is already on live trending. Realistic win: **#1 personal Spark + Hermes-class Laguna pack**, and rank inside the **Laguna-S-2.1 GGUF/quant search cluster** (today Unsloth leads third-party GGUF at 222 likes / 130k dl). Absolute global top-10 needs mass org reach or a novel binary people pull (not our S5 surface).
12
-
13
- ## Live field (measured 2026-07-28)
14
-
15
- ### Our surface
16
- | Asset | State |
17
- |-------|--------|
18
- | HF `hizrianraz/Laguna-S-2.1-Spark-Agentic` | **0 likes, 0 downloads**, public, created today |
19
- | Stand-behind weight | official `laguna-s-2.1-Q4_K_M.gguf` sha `a8b55c75…` |
20
- | agent_smoke v1 | **40/40 (100%)** · 97.25s (2026-07-28 19:00 WIB); prior 38/40 was harness not weights |
21
- | Claim style | personal measurements · digests · no bare GGUF re-upload |
22
-
23
- ### Laguna cluster (likes-ranked sample)
24
- | Likes | DL | Id | Role |
25
- |------:|---:|----|------|
26
- | 777 | 67k | poolside/Laguna-S-2.1 | base (trending) |
27
- | 222 | 130k | unsloth/Laguna-S-2.1-GGUF | Dynamic third-party GGUF leader |
28
- | 157 | 90k | poolside/Laguna-S-2.1-GGUF | **official GGUF (our pin)** |
29
- | 150 | 181k | poolside/Laguna-S-2.1-NVFP4 | official NVFP4 |
30
- | 18 | 1.8k | jcbtc/…StrixKVSpine-V4-GGUF | AMD agentic spine + HermesAgent-20 claim |
31
- | 13–12 | ~1–28k | CRACK / APEX / IQ4 community | mix lore / entropy / IQ |
32
-
33
- ### Global trending reality check
34
- Live trending head includes org giants (Kimi-K3 ~7.4k likes, Unlimited-OCR, GLM-5.2, Inkling…). A personal pack does **not** enter that headroom via card polish alone.
35
-
36
- ## What “most powerful for agentic / Hermes” actually means
37
-
38
- ### Layer A — Weight / quant (mostly already decided)
39
- Official Poolside Q4_K_M recipe (from their GGUF card):
40
- - Routed experts: **Q4_K with imatrix**
41
- - Signal path (attention, shared experts, embeddings): kept **Q8_0** (not smashed)
42
- - Ships `laguna-s-2.1.imatrix` + recommended **llama-server --jinja**
43
- - Optional DFlash draft for speculative decoding
44
- - Context: GGUF metadata 256K recommended; 1M YaRN override available with quality caveats
45
-
46
- Unsloth Dynamic 2.0 preaching:
47
- - Selective layer precision; strong on Aider Polyglot / KL / MMLU-style anchors
48
- - Actively patches **tool-calling chat templates** on newer models
49
- - Wins downloads by **shipping many sizes** + brand distribution — not by Hermes-specific agent loops
50
-
51
- Community agentic spine (Chadrock ROCmFP4 example):
52
- - **Tensor protection** of expert-down “spine” + attention Q/O paths
53
- - Claims on retained benches: Tool-Eval disputed-19 **70.18% vs 54.39%** baseline; **HermesAgent-20 77/100 vs 71**
54
- - Hardware-specific (Strix Halo / ROCm). Not our Spark default; useful as **bench framing competitor**, not as standing weight.
55
-
56
- Paper wake (agent inference, not GGUF fashion):
57
- - Agentic loads ≠ chat: long prefixes, multi-turn tool trajectories, structured roles
58
- - Sensitivity axes: temporal recency, modality, semantic role (user / tool / observation / reason)
59
- - Research push is heavily **KV-cache / multi-agent cache pool / 4-bit KV** (TriAxialKV, PolyKV, UltraQuant, PLENA) and small-edge function calling (TinyAgent) — i.e. **serve + cache + schema**, not another random Q3.
60
-
61
- **Implication for us under lock:** do **not** DIY-quant before freeze unless official fails load or loses ≥10% agent_smoke / tg. Power gain before Aug 3 is almost entirely **Layer B+C**.
62
-
63
- ### Layer B — Protocol fitness (Hermes-class)
64
- Hermes Agent is toolset-heavy: terminal, files, web, browser, memory, cron, computer-use, delegation. It speaks OpenAI-compatible `chat.completions` + `tools` / `tool_calls`.
65
-
66
- What kills agent quality under quant/runtime:
67
- 1. **Invalid tool-arg JSON** (our `repair_04` — server HTTP 500 parse error)
68
- 2. **Invented tool names** outside schema
69
- 3. **Dropped multi-tool / long-horizon** planning
70
- 4. Chat-template / `--jinja` mismatch → prose instead of structured calls
71
- 5. Temp/sampling too hot for tool routes
72
- 6. Runner / response-shape fragility (our `long_06` KeyError `'tool'`)
73
-
74
- Own smoke categories already map to Hermes stress:
75
- - `tool_select` / `args` / `multi_tool`
76
- - `error_repair` (schema repair after bad args)
77
- - `no_invented_tools`
78
- - `long_horizon` multi-step
79
- - `refuse` safety on tools
80
-
81
- Gap vs Chadrock claim surface:
82
- - No public **HermesAgent-20** or broader Tool-Eval disputed set in our pack
83
- - No multi-turn tool→observation→tool loop scored end-to-end beyond single-response smoke
84
- - No published tok/s @ agent-typical ctx (8k–32k) with tools attached
85
-
86
- ### Layer C — Runtime / Spark
87
- Documented high-leverage stack:
88
- - Engine: poolside `llama.cpp` branch `laguna` (+ isfinite patch as measured)
89
- - Flags: `--jinja`, sensible ctx (8k agent day-to-day; 256k only when needed)
90
- - Optional: DFlash draft GG UF if VRAM headroom
91
- - Sampling for tools: temp 0–0.2 agent smoke; poolside long-ctx tip temp 0.7 top_p 0.95 only when exploring 1M rope
92
- - Client: OpenAI base_url **must include `/v1`**, User-Agent set, strict tool schema, never execute unknown names
93
-
94
- ### Layer D — Distribution (HF trending mechanics)
95
- Observed patterns that move Laguna quants:
96
- 1. **Binary people can pull** (Unsloth/official GGUF) → raw DL gravity
97
- 2. **Parent model already trending** → child repos ride search / “Tree” clicks
98
- 3. **Specific hardware story** (Strix Halo, Spark, MLX) with **tables + sha + repro**
99
- 4. **Named agent benches** (Tool-Eval, HermesAgent-20, Aider) with deltas
100
- 5. **Active discussions / collections / Spaces / blog cross-posts** within 24–72h of publish
101
- 6. Tags: `gguf`, `text-generation`, `base_model` relation, `license`, concrete hardware tags
102
-
103
- Our S5 constraint: **digests + method, no 90GB re-host.** That lowers DL ceiling. Trending must come from:
104
- - **Utility density of the card** (copy-paste Spark + Hermes path)
105
- - **Cross-link from X / Reddit / Discord / HF discussions on parent + Unsloth threads**
106
- - **Unique measured residue** no one else has (Spark GB10 numbers + Hermes-class smoke JSON)
107
- - Optional later: Space that hits our public endpoint or notebooks that pull official weight via `huggingface_hub` (no repack)
108
-
109
- ## Honest competitive strategy
110
-
111
- ### Win condition A (recommended) — “best Hermes-class Laguna on Spark”
112
- Measurable:
113
- - agent_smoke ≥ **39/40**, stretch **40/40**
114
- - New `hermes_agent_smoke` v2: 20–40 cases shaped like Hermes toolsets (terminal, read_file, web_search stubs, multi-turn repair)
115
- - Card #1 section: **Hermes-class local wiring** (config keys, tool loop, failure matrix)
116
- - Scoreboard row only from `results/*` files
117
- - Secondary row: unlabeled comparison notes vs Unsloth UD-Q4 *if* re-measured on same harness (optional, post-freeze if time)
118
-
119
- ### Win condition B — “cluster top-10 Laguna quants by attention”
120
- After launch fungal growth:
121
- - Be in likes/DL top of *personal* third-party Laguna packs (today Chadrock 18 / CRACK 13 are the bar)
122
- - Collection: “Laguna local agents”
123
- - Reply with evidence on poolside + Unsloth Discussion spikes day-of
124
-
125
- ### Win condition C — global HF trending top-10
126
- **Reject as primary KPI.** Requires org blast radius or weight host. Use only as aspirational side-effect if Poolside wave + a viral Spark clip align.
127
-
128
- ## Quant decision tree (locked)
129
-
130
- ```
131
- Need new GGUF?
132
- ├─ Official Q4 loads on Spark and smoke ≥38/40 → NO. Ship digests + recipe.
133
- ├─ Official fails load or smoke/tg ≥10% worse vs alternative you can prove → YES DIY,
134
- │ only with: method + imatrix commit + full sha256 + both smokes + REPRODUCE.md upgrade
135
- └─ “Looking unique for HF” alone → NO (violates diy_gguf lock + integrity)
136
- ```
137
-
138
- If DIY ever unlocks (post-launch research track):
139
- 1. Start from **official F16 or poolside imatrix**, not reverse Unsloth
140
- 2. Protect signal path ≥ Q8_0 (match first-party philosophy)
141
- 3. Build **agentic imatrix corpus**: tool-call transcripts, JSON schemas, multi-turn tool results, code+shell traces — not only wiki text
142
- 4. Candidate mixtypes: Q5_K_M (quality), IQ4_XS only if Spark memory forced; never hero a boutique name without harness delta
143
- 5. Run same agent_smoke + hermes_agent_smoke before any public claim
144
-
145
- ## Hermes-specific integration map
146
-
147
- | Hermes need | Laguna pack lever |
148
- |-------------|-------------------|
149
- | OpenAI tools | llama-server `--jinja` + OpenAI `/v1` |
150
- | Many tools / tool search | smoke with 8–20 schemas; stress no_invented |
151
- | Terminal + files loop | multi-turn cases with tool role messages |
152
- | Reliability under repair | close `repair_04`; add 2nd-order repair cases |
153
- | Config discoverability | document `OPENAI_BASE_URL`, model id echo, timeouts |
154
- | Skills / long sessions | measure kv/cache behavior @ 8k+; document ctx defaults |
155
- | Honest branding | “Hermes-class / tool-agent compatible” — **not** Nous endorsement |
156
-
157
- Sample client already at `hermes/sample_client.py` + `hermes/README.md`. Expand with:
158
- - multi-turn repair demo
159
- - hermes `config.yaml` snippet pointing at Spark
160
- - failure→fix matrix from MEASURED.md
161
-
162
- ## Trending launch playbook (Aug 2 freeze → Aug 3 12:00 WIB)
163
-
164
- ### Pre-freeze (done or do)
165
- - [x] Public scrub · positive only · personal framing
166
- - [x] Diagnose + fix `repair_04` / `long_06` (harness; not weights)
167
- - [x] Re-run smoke → **40/40**; MEASURED + measured.json from live files only
168
- - [x] Add `research/` brief (this file)
169
- - [ ] short public “Why official Q4 for agents” section on card
170
- - [ ] Hermes wiring page on card (copy-paste)
171
- - [ ] Tags + base_model relation clean
172
- - [ ] SHA pins + engine sha frozen
173
-
174
- ### Launch hour
175
- 1. Meaningful card revisiontimestamp (mod time spike)
176
- 2. Short announcement paths founder owns (not Manwë codename): personal X after rename gate lifts; HF Discussion on **parent** Laguna-S-2.1 and Unsloth GGUF pointing to Spark measurements
177
- 3. Cross-link GitHub mirror ↔ HF
178
- 4. One clear hero metric: **40/40 agent_smoke on DGX Spark · official Q4_K_M · Hermes-class client**
179
- 5. Do **not** claim vs Chadrock HermesAgent-20 until we run the same harness
180
-
181
- ### 48h after
182
- - Answer every HF comment with evidence
183
- - Optional: Space “agent smoke viewer” (JSON render) — low cost engagement
184
- - Watch Unsloth/Poolside threads for template bugs; patch docs same day
185
-
186
- ## Gap closure backlog (priority)
187
-
188
- ### P0 — quality residual
189
- 1. ~~`repair_04`~~ — **closed:** case poison `{not-json` in history → server HTTP 500; Hermes client sanitizes prior tool args (keeps `_raw` for judge)
190
- 2. ~~`long_06`~~ — **closed:** judge accepts `type: tool_call` + `any_of_tools` (no KeyError)
191
- 3. ~~Re-smoke~~ — **40/40 · 97.25s · 2026-07-28 19:00 WIB**; official Q4 only
192
-
193
- ### P1 — Hermes power
194
- 4. `eval/hermes_agent_smoke/` 20 cases (names only inspired by tool categories; no Hermes trademark claim)
195
- 5. Multi-turn tool observation tests
196
- 6. Card section + config snippet for Hermes local provider
197
- 7. Optional: side-measure Unsloth UD-Q4_K_XL on same harness (label third-party)
198
-
199
- ### P2 — attention
200
- 8. Launch-day parent discussions + collection
201
- 9. Spark chalkboard clip / blog (personal)
202
- 10. Space JSON explorer
203
-
204
- ### P3 — post-launch research (not launch blocker)
205
- 11. Agentic imatrix corpus design
206
- 12. Ablate Q5_K_M / spine-protect only if P0 saturation and DIY gate opens
207
- 13. DFlash speculative path on Spark if measured tok/s gain on agent loops
208
-
209
- ## What not to do
210
- - Re-upload 68–96GB GGUF bare (S5 + lock)
211
- - Invent smoke scores or competitor beats
212
- - Claim Nous / Hermes endorsement
213
- - Chase IQ3 “flex” that tanks tool JSON
214
- - Spend freeze window on new quant fashion while 2 fails remain
215
- - Promise global top-10 trending as a committed milestone
216
-
217
- ## Sources (live pulls)
218
- - poolside/Laguna-S-2.1 + Laguna-S-2.1-GGUF model cards (official Q4 recipe, imatrix, DFlash, jinja)
219
- - unsloth/Laguna-S-2.1-GGUF + Unsloth Dynamic 2.0 docs (template fixes, dynamic layer precision)
220
- - jcbtc Chadrock ROCmFP4 card (HermesAgent-20 / Tool-Eval narrative)
221
- - HF trending API + models search likes sort (2026-07-28)
222
- - Local pack: README, SPARK, LAUNCH_AUG3, REPRODUCE, results/MEASURED, agent_smoke.json, launch_lock.json
223
- - arXiv signals: TinyAgent (2409.00608), agent memory walls (2509.09505), TriAxialKV (2605.17170), PolyKV (2604.24971), UltraQuant (2606.20474)
224
-
225
- ## Verdict for founder intent
226
-
227
- | Intent | Verdict |
228
- |--------|---------|
229
- | Most powerful **agentic** quantized Laguna *we* stand behind | **Official Q4_K_M + tighten agent/Hermes harness + Spark recipe** |
230
- | Most powerful **DIY boutique quant** | Blocked by lock; only if measured ≥10% barrier |
231
- | Top-10 **Laguna pack cluster** attention | Achievable with evidence card + launch distribution |
232
- | Top-10 **global HF trending** | Not a primary commit; side-effect only |
233
-
234
- Next single move: **P0 close the two smoke fails and wire Hermes multi-turn sample — not a new quant.**
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
research/device-quant-matrix-aug3.md DELETED
@@ -1,118 +0,0 @@
1
- # Device → quant matrix (Aug 3 accelerated track)
2
-
3
- Status: **pre-launch parallel track** (unlocked 2026-07-28).
4
- Personal pack only. Headline remain **Spark + official Q4_K_M**.
5
-
6
- Promo: pack docs OK now · public trending/social still **2026-08-03 12:00 WIB**.
7
-
8
- ## Bottom line
9
-
10
- Full **Laguna-S-2.1** (~118B MoE) does **not** fit founder Macs.
11
-
12
- **Founder Mac lock (2026-07-28):** MacBook Pro / Mac Studio in this house are **≤32G** (live Studio probe: M2 Max · **32G**).
13
- That means: **no full Laguna weights on Mac**. Mac role = **client to Spark**, not weight host.
14
-
15
- We still publish a community ladder (48–64G+ boxes other people own) as *pointers* — never as “our Mac runs it.”
16
-
17
- | Device class | RAM (usable) | Prefer quant | Source | Total ~disk | Expect | Pack claim by Aug 3 |
18
- |--------------|--------------|--------------|--------|-------------|--------|---------------------|
19
- | DGX Spark GB10 | ~121 Gi | **official Q4_K_M** | poolside | **96.0 GB** | agent bar | **Stand-behind · measured 40/40 · ~21 t/s** |
20
- | **Founder MacBook / Mac Studio (≤32G) · full S** | **≤32G** | **No full S weights** | — | — | OS + app already fill RAM | **Mac = OpenAI client → Spark :8000** · full-S weight non-fit |
21
- | **Founder Mac ≤32G · XS parallel** | **32G** (Studio live) | **XS Q4_K_M** (~18.9 Gi) | `poolside/Laguna-XS-2.1-GGUF` | **18.882 GiB** | disk candidate only | **separate model 33B-A3B** · **0 Mac smoke** · not S · see [`Laguna-XS-2.1-Mac-Agentic-fit-2026-07-28.md`](./Laguna-XS-2.1-Mac-Agentic-fit-2026-07-28.md) |
22
- | Community fat Mac / mini (64–128G) *others* | 64–128G | Unsloth **UD-IQ4_XS** or Bartowski **IQ4_XS** | unsloth / bartowski | **~58 / ~63 GB** | near-Q4 if engine OK | community pointer only · **not founder-measured** |
23
- | Community Mac/PC 48–64G *others* | ~48–64G | Unsloth **UD-IQ3_S** (first) | unsloth | **~48 GB** | quality dip | Spark same-harness IQ3_S **38/40** pointer · not Mac-local |
24
- | PC workstation 64–96G CUDA | 64–96G | Bartowski **Q4_K_S** / **IQ4_XS** / Unsloth **UD-Q4_K_S** | bartowski / unsloth | **~69 / ~63 / ~69 GB** | if VRAM+RAM enough | pointer + CUDA note |
25
- | Laptop 16–32G (any brand) full S | 16–32G | **No full S SKU** | — | — | distill / XS parallel | **full S non-fit** · XS is different product |
26
- | iPhone / iPad / Android phone·tablet | ~4–12G class | **No full Laguna-S SKU** | — | — | MoE weights alone ~40GB+ | **explicit non-fit** — bonsai/SLM only; see [`phone-bonsai-ios-android-2026-07-28.md`](./phone-bonsai-ios-android-2026-07-28.md) |
27
-
28
- Sizes are **sum of GGUF shards** (HF live probe 2026-07-28). Runtime RAM ≫ disk; leave OS + KV headroom.
29
-
30
- ### Founder “Laguna Mac” definition
31
-
32
- | Phrase | Means | Does not mean |
33
- |--------|-------|---------------|
34
- | Laguna Mac (default) | Mac as **Hermes / OpenAI client** talking to Spark **S** | Full **S** weights in Mac unified memory |
35
- | Laguna Spark | Weight host + measured bar for **S** (Q4 40/40) | — |
36
- | Laguna XS on Mac | Separate **33B-A3B** track · Q4 ~19G candidate | A quant of S · measured ship · “S on Mac” |
37
- | Community 64G ladder | Docs for strangers with fat boxes running **S** quants | Founder hardware claim |
38
-
39
- ## Candidate IDs (pull scripts use these)
40
-
41
- | sku_id | repo | path pattern | ~GB | target devices |
42
- |--------|------|--------------|-----|----------------|
43
- | `official-q4km` | `poolside/Laguna-S-2.1-GGUF` | `laguna-s-2.1-Q4_K_M.gguf` | 96.0 | Spark stand-behind |
44
- | `unsloth-ud-q4k-xl` | `unsloth/Laguna-S-2.1-GGUF` | `UD-Q4_K_XL/*` (3 shards) | 73.4 | 96–128G workstation / fat Mac |
45
- | `unsloth-ud-iq4-xs` | `unsloth/Laguna-S-2.1-GGUF` | `UD-IQ4_XS/*` (3 shards) | 57.6 | 64–96G Mac / PC |
46
- | `unsloth-ud-iq3-s` | `unsloth/Laguna-S-2.1-GGUF` | `Laguna-S-2.1-UD-IQ3_S.gguf` | 48.4 | 64G Mac tight / 48–64G |
47
- | `unsloth-ud-q2k-xl` | `unsloth/Laguna-S-2.1-GGUF` | `Laguna-S-2.1-UD-Q2_K_XL.gguf` | 39.7 | 48G class experiment |
48
- | `bartowski-iq4-xs` | `bartowski/Laguna-S-2.1-GGUF` | `Laguna-S-2.1-IQ4_XS/*` | 63.3 | alt IQ4 for Radio / compare |
49
-
50
- ## Promotion gate (unchanged quality bar)
51
-
52
- Promote a smaller SKU onto the **card scoreboard** only if:
53
-
54
- 1. Same `eval/agent_smoke` 40 cases (or named subset with disclaimer)
55
- 2. Same method (temp, max tokens, tools schema)
56
- 3. Host labeled honestly (never print Mac/PC numbers as "Spark")
57
- 4. sha256 + exact HF path
58
- 5. Delta vs Spark official Q4_K_M published
59
- 6. Fail cases listed
60
- 7. agent_smoke ≥ official − 2 (**≥38/40** if official is 40) **or** research footnote only
61
- 8. Founder go for any public claim change after freeze
62
-
63
- Else: keep under `research/` + optional card "community ladder" table with **unmeasured** tag.
64
-
65
- ## Serve notes by OS
66
-
67
- | Host | Engine | Notes |
68
- |------|--------|-------|
69
- | Spark | poolside `llama.cpp` `laguna` + CUDA | default pack path · **only weight host we stand behind** |
70
- | Founder Mac ≤32G | **no local llama-server for full Laguna** | client: `OPENAI_BASE_URL=http://<spark>:8000/v1` · Tailscale OK |
71
- | Community fat Mac Metal (64G+) | llama.cpp Metal **or** MLX if available | stranger path only; may need laguna fork — test load first |
72
- | PC CUDA | laguna fork or upstream ≥ Laguna support | ngl defendable on 24GB+ VRAM only for *active* path; MoE still RAM-heavy |
73
- | PC ROCm / laptop iGPU | experimental | do not claim ship |
74
-
75
- ## Phone / mobile (locked non-fit)
76
-
77
- **Quant success on Mac mini / MacBook / PC does not imply iPhone or Android.**
78
-
79
- - Full Laguna-S-2.1 is ~118B MoE. Smallest honest GGUF class we measured still **~45 Gi on disk** (UD-IQ3_S).
80
- - Mobile NPU/RAM envelopes are roughly **4–12 GB**, with OS + UI overhead.
81
- - No App Store / Play path claims for full weights.
82
- - Path if founder wants mobile later: **distill / SLM / on-device small model** — separate product, not this pack's quant ladder.
83
- - Do not market “quantized to phone” from desktop IQ3/IQ4 wins.
84
-
85
- ## What we will not say by Aug 3
86
-
87
- - "Runs on MacBook Pro / Mac Studio" without saying **≤32G = client only**
88
- - "Our Mac runs full Laguna" / any founder-Mac weight claim
89
- - "Runs on any MacBook" / 16–32G laptop full Laguna weights
90
- - "Runs on iPhone / Android" for full Laguna (even quantized)
91
- - Replacing official Q4 as default without measure win
92
- - Bulk multi-quant LFS rehost of Unsloth tree into our HF model
93
- - Global HF top-10 from device count alone
94
- - Mac/PC numbers labeled as Spark
95
- - IQ3_S / IQ4_XS as "Laguna Mac" headline (those are **community ≥48G**, not founder Mac)
96
-
97
- ## Aug 3 pack shape
98
-
99
- 1. **Headline**: Spark official Q4_K_M measured row
100
- 2. **Laguna Mac story**: Hermes/OpenAI **client → Spark** (copy-paste) · weight non-fit ≤32G in one line
101
- 3. **Community ladder**: 48–64G+ pointers only · no founder-Mac measure row
102
- 4. **Scripts**: `scripts/pull_sku.sh <sku_id>` (Spark / fat-box strangers)
103
- 5. **Measured smaller row(s)**: only if same-harness JSON under `results/sku_<id>/` (Spark today)
104
- 6. **Hermes-class suite**: live **27/27** on Q4 · `results/hermes_agent_smoke.json`
105
-
106
- ## Schedule (accelerated)
107
-
108
- | When | Work |
109
- |------|------|
110
- | Jul 28–29 | Matrix + pull scripts + docs; Hermes v2 live on Q4; IQ3_S pointer done |
111
- | Jul 30 | Card: Mac ≤32G client path + non-fit; stranger REPRODUCE |
112
- | Jul 31–Aug 1 | Buffer · no Mac weight chase |
113
- | Aug 2 18:00 | Freeze claims |
114
- | Aug 3 12:00 | Promo go-live |
115
-
116
- ## Authority
117
-
118
- Personal founder pack. Third-party quants remain Unsloth/Bartowski IP — we **point + measure**, default **do not rehost**.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
research/laguna-xs-2.1-mac-fit-2026-07-28.md DELETED
@@ -1,110 +0,0 @@
1
- # Laguna-XS-2.1 · founder Mac ≤32G fit track
2
-
3
- Status: **prepared research** (2026-07-28).
4
- Awaiting three-jury on prepared pack, then founder gates.
5
- **Not** the Aug 3 S pack headline. **Not** a measured ship claim.
6
-
7
- Personal founder track only. Dual roadmap → [`roadmap-dual-s-and-xs-2026-07-28.md`](./roadmap-dual-s-and-xs-2026-07-28.md)
8
-
9
- ## Bottom line
10
-
11
- | Track | Model | Host | Status |
12
- |-------|--------|------|--------|
13
- | **A · stand-behind** | Laguna-**S**-2.1 ~118B MoE Q4_K_M | **DGX Spark only** | measured 40/40 + hermes 27/27 |
14
- | **B · Mac local candidate** | Laguna-**XS**-2.1 33B-A3B Q4_K_M | founder Mac ≤32G | **disk candidate** · **0 local smoke** |
15
-
16
- Full **S** stays Spark-only. Mac is **not** “S via XS”.
17
-
18
- ## Live HF probe (2026-07-28)
19
-
20
- ### Base
21
- - `poolside/Laguna-XS-2.1`
22
- - sha: `205dc65dd4bda946c50da6b7522b215734fa107b`
23
- - Shape (card): **33B total · 3B active/token · MoE**
24
- - Poolside claim: “compact enough to run on a Mac with **36 GB** of RAM”
25
- - Founder Studio coin: **32G** exactly (`hw.memsize` 34359738368) → **tighter than vendor 36G**
26
-
27
- ### Official GGUF
28
- - `poolside/Laguna-XS-2.1-GGUF` sha `1a37c0a5fb8c7a18e6106decb6be6327d1b63fa6`
29
-
30
- | File | Bytes | GiB | sha256 | Founder Mac ≤32G |
31
- |------|------:|----:|--------|------------------|
32
- | `Laguna-XS-2.1-Q4_K_M.gguf` | 20274300032 | **18.882** | `1ac7079101fca5a6df8c5a7523a3c30ea7d1c0e4b1258090e7d6d4039287f6cb` | **disk candidate** (runtime unproven) |
33
- | `Laguna-XS-2.1-BF16.gguf` | 66930226304 | **62.334** | `d1d99abe30c37749ec1b1ae2681cec74caa550ac6243d2ea70b61b1ff9d187ca` | **non-fit** |
34
-
35
- Upstream recommended default: **Q4_K_M**.
36
-
37
- Safetensors base ~14 shards ≈ **~67G** class — non-fit on ≤32G.
38
-
39
- ### Engine dependency
40
- - llama.cpp Laguna support: PR `ggml-org/llama.cpp#25165`
41
- - Prefer `poolsideai/llama.cpp` branch `laguna` on Mac Metal — **do not assume stock brew llama runs XS**
42
- - Ollama (`ollama pull laguna-xs-2.1`) = alt route until smoke
43
-
44
- ## Founder Mac envelope (Studio live)
45
-
46
- | Fact | Value |
47
- |------|-------|
48
- | Model | Mac14,13 · M2 Max |
49
- | RAM | **32G** exactly |
50
- | System Data free (prep) | ~40 Gi · 91% used — **prefer WD_BLACK for pull** |
51
- | WD_BLACK free | ~1.7 Ti |
52
- | Full S Q4 | ~96G · **non-fit** |
53
- | Full S IQ3_S pointer | ~48G · **non-fit** as local weight |
54
- | XS Q4_K_M | ~18.9G disk · **candidate** |
55
-
56
- Runtime RAM ≫ disk. Leave OS + browser + Hermes + KV headroom.
57
- **Disk-fit ≠ load-fit ≠ agent-smoke-fit.**
58
-
59
- ## Prep lock
60
-
61
- `results/xs_mac_track_lock.json` — status `prepared_research`
62
-
63
- ## Honesty rules
64
-
65
- **Say**
66
- - “XS Q4_K_M is the official ~19G Mac-class GGUF for Laguna-**XS**-2.1”
67
- - “Founder Mac client still talks to Spark for full **S**”
68
- - “XS is a **separate** 33B-A3B model, not a quant of S”
69
-
70
- **Do not say**
71
- - “Laguna runs on Mac” without naming **XS**
72
- - “S on Mac via XS”, “S-lite”, “S-Mac”
73
- - Any t/s, agent_smoke, or Hermes pass for XS until same-harness JSON
74
- - Poolside SWE-bench / Terminal-Bench as founder measured bar
75
- - BF16 / safetensors base as Mac-local
76
-
77
- ## Measurement gate (before any claim)
78
-
79
- 1. Working engine on founder Mac · record commit
80
- 2. `sha256` matches lock after download
81
- 3. Load proof: RSS + free RAM after load · ctx used
82
- 4. Same `eval/agent_smoke` 40 (or named subset + disclaimer)
83
- 5. Optional hermes-class 27
84
- 6. Host labeled **Mac Studio 32G** (never as Spark)
85
- 7. Fail list + separate delta table (not diluted into S headline)
86
- 8. Founder go before any public/pack claim move
87
-
88
- Results dir when measured: `results/sku_xs-official-q4km/`
89
-
90
- ## Suggested first pull (NOT run — needs founder go)
91
-
92
- ```bash
93
- # ~19G → external SSD preferred
94
- huggingface-cli download poolside/Laguna-XS-2.1-GGUF \
95
- Laguna-XS-2.1-Q4_K_M.gguf \
96
- --local-dir "/Volumes/HFR WD_BLACK SN850X/models/laguna-xs-2.1"
97
- shasum -a 256 "/Volumes/HFR WD_BLACK SN850X/models/laguna-xs-2.1/Laguna-XS-2.1-Q4_K_M.gguf"
98
- # expect 1ac7079101fca5a6df8c5a7523a3c30ea7d1c0e4b1258090e7d6d4039287f6cb
99
- ```
100
-
101
- Do **not** pull BF16 on this Mac.
102
-
103
- ## Relation to Aug 3 S pack
104
-
105
- | Item | Owner |
106
- |------|--------|
107
- | `hizrianraz/laguna-s-2.1-spark` freeze/launch | **Roadmap A only** |
108
- | XS Mac notes | this file + `xs_mac_track_lock.json` |
109
- | multi_device_track | S community pointers; XS is **extra parallel** |
110
- | XS may delay S freeze | **no** |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
research/phone-bonsai-ios-android-2026-07-28.md DELETED
@@ -1,284 +0,0 @@
1
- # Phone bonsai — fit Laguna agent identity to iOS / Android
2
-
3
- Status: research (2026-07-28). Personal. Not a scoreboard claim.
4
-
5
- Premise lock: **full Laguna-S-2.1 (even IQ3_S ~ half-size of Q4) does not fit phone RAM**.
6
- Mac mini / MacBook / PC quant success does **not** carry to iPhone or Android.
7
- Phone path = **bonsai** (distill / SLM / stack split), not another GGUF of the same MoE.
8
-
9
- Stand-behind headline unchanged: Spark official Q4_K_M 40/40.
10
-
11
- ---
12
-
13
- ## Bottom line
14
-
15
- | Claim | Verdict |
16
- |-------|---------|
17
- | Quant full Laguna onto iPhone/Android | **No** |
18
- | Same 40/40 agent_smoke bar on-device | **No** (bar too big; model too big) |
19
- | Ship a **Laguna-shaped small agent** on phone | **Yes**, separate SKU family |
20
- | Best shape | **Bonsai student 0.5B–2B** + tool router + optional cloud teacher |
21
- | Best runtimes | iOS: MLC-LLM / llama.cpp Metal · Android: MLC / llama.cpp + ExecuTorch where PyTorch path |
22
- | Identity | New card prefix e.g. `laguna-bonsai-*` — never rebrand full Laguna |
23
-
24
- ---
25
-
26
- ## Why full Laguna cannot phone-fit
27
-
28
- ### RAM envelope (order of magnitude)
29
-
30
- Weights only (no KV), approximate GB:
31
-
32
- | params | Q4_K_M | Q3 / IQ3 | BitNet~1.58 |
33
- |--------|--------|----------|-------------|
34
- | 0.5B | 0.28 | 0.20–0.23 | ~0.12 |
35
- | 1B | 0.57 | 0.40–0.45 | ~0.25 |
36
- | 2B | 1.1 | 0.8–0.9 | ~0.50 |
37
- | 3B | 1.7 | 1.2–1.4 | ~0.75 |
38
- | 7–8B dense | 4–5 | 3–3.6 | ~1.8–2.0 |
39
- | **Laguna-S-2.1 MoE Q4** | **~90–96G** | IQ3 still tens of GB | n/a |
40
-
41
- Practical app budget after OS (soft):
42
-
43
- | device class | device RAM | usable app ~ | safe model+KV |
44
- |--------------|------------|--------------|---------------|
45
- | iPhone 15/16 class | 8G | ~3–3.5G | **≤ ~2.5–2.7G** |
46
- | iPhone Pro class | 12G | ~5–5.5G | **≤ ~4.5G** |
47
- | Android 8G | 8G | ~3–3.5G | **≤ ~2.5G** |
48
- | Android flagship 12G | 12G | ~5–5.5G | **≤ ~4.5G** |
49
-
50
- Add KV @ 4k–8k, tokenizer, UI, OS jetsam headroom → **phone hard ceiling is ~1–3B @ 4-bit**, not 100B-class sparse MoE on disk.
51
-
52
- Sparse MoE still **stores all experts**. Activation sparsity ≠ download/RAM sparsity unless you **prune experts / nest** (FlexMoE-class) and re-export a tiny subnetwork — still a new model, not “quant the GGUF harder.”
53
-
54
- ### iOS-specific
55
-
56
- - Jetsam kills apps that grow past device class budget; no swap like desktop.
57
- - Background freeze; long agent loops are foreground or push-driven.
58
- - Store path: ANE / Metal preferred for App Store polish; C++ via MLC or llama.cpp is proven for indie / TestFlight.
59
- - Core ML conversion helps ANE for supported ops; exotic MoE kernels often **fail conversion** → keep phone student dense/simple.
60
-
61
- ### Android-specific
62
-
63
- - Huge RAM skew (6G–16G+). Must ship **tiered assets** or download-on-first-run by RAM class.
64
- - NNAPI / Vulkan / OpenCL backends vary by OEM; MLC + llama.cpp are the portable bets.
65
- - ExecuTorch (Meta) is the PyTorch-native production path (Meta on-device apps); great if student stays in ET-known archs.
66
- - Thermal + big.LITTLE: sustained tokens crack after tens of seconds; design short tool turns, not 2k-token monologues.
67
-
68
- ---
69
-
70
- ## What “bonsai” means here
71
-
72
- Bonsai ≠ max Q-drop on the same tree.
73
-
74
- Bonsai = **genetic reduction + shape prune + water small pot**:
75
-
76
- 1. **Smaller genome** — student 0.5B / 1B / 2B dense (or BitNet 2B).
77
- 2. **Shape for the pot** — deep-thin MobileLLM-style, GQA, shared embed, short default context (2k–4k on device).
78
- 3. **Teach from Laguna** — distillation / imitation on **agent traces**, not only chat Wikipedia-MJ.
79
- 4. **Split the organism** — on-device planner / tool-caller; heavy reasoning optional cloud teacher (Laguna Spark) with privacy gate.
80
- 5. **Never claim the tree is the forest** — separate HF / scoreboard row; humble discipline on agent bar.
81
-
82
- ---
83
-
84
- ## Research stack that matters (2024–2026)
85
-
86
- ### Architecture for sub-billion / ~1B on-device
87
-
88
- | work | id | takeaway for us |
89
- |------|----|-----------------|
90
- | MobileLLM | 2402.14905 | Deep-thin + embed share + GQA beats naive wide-small. Architecture > just “more tokens” under 1B. |
91
- | MobileLLM-Pro ~1B | 2511.06719 | SOTA-class ~1B, 128k via positional distillation, merges, minor 4-bit hit. Template for phone **general** LM. |
92
- | MobileLLM-R1 | 2509.24945 | Sub-B **reasoning** with open recipes; CoT can emerge well below “big model only.” |
93
- | MobileLLM-Flash | 2603.15954 | **Latency-guided** NAS / prune from backbone; ExecuTorch-friendly; attention skipping for long ctx. Industry deploy shape. |
94
- | MiniCPM 1.2B/2.4B | 2404.06395 | SLM can match older 7–13B class on many tasks with good recipe. |
95
- | MiniCPM-V | 2408.01800 | Multimodal **on phone** exists — but dual-modality budget fights pure agent tools; later track. |
96
- | TinyLLM | 2412.15304 | 30–120M **task-curated** can beat larger generalists on narrow tasks — backs ultra-narrow phone specialists. |
97
-
98
- ### Extreme compression
99
-
100
- | work | id | takeaway |
101
- |------|----|----------|
102
- | BitNet b1.58 2B4T | 2504.12285 | Native ~1.58-bit 2B open weights; real memory/energy wins if runtime is bitnet.cpp-class. |
103
- | bitnet.cpp | 2410.16144 | Fast lossless ternary on CPU/ARM — relevant Android / iOS CPU fallback. |
104
- | FBI-LLM | 2407.07093 | Fully binary via autoregressive distillation — research edge, hardware story still maturing. |
105
- | EdgeRazor | 2605.04062 | Mixed-precision QAD; sub-2-bit MobileLLM/Qwen6e-1 students — if we push below 4-bit quality. |
106
-
107
- ### MoE → smaller (only if we ever bonsai *from* Laguna MoE body)
108
-
109
- | work | id | takeaway |
110
- |------|----|----------|
111
- | FlexMoE | 2606.27866 | One train → **nested** deployable subnets across budgets. Closest “prune Laguna into device ladder” research. |
112
- | MoE++ | 2410.07348 | Zero-compute experts — arch idea, not a free phone port of poolside MoE. |
113
-
114
- Do **not** expect expert-pruning alone to bring Laguna-S-2.1 to 2G without catastrophic agent regression. Treat MoE prune as research; default phone path = **dense student**.
115
-
116
- ### Tools / agents with small models
117
-
118
- | work | id | takeaway |
119
- |------|----|----------|
120
- | Small LLMs Are Weak Tool Learners | 2401.07324 | Single small LM fails full agent stack; **split** planner / caller / summarizer across small specialists. **Core bonsai pattern.** |
121
-
122
- So for phone agent:
123
-
124
- - Student-A: intent + plan (short JSON)
125
- - Student-B: tool call format only
126
- - Student-C: summarize / speak to user
127
- - Optional: cloud Laguna for hard multi-step
128
-
129
- This is how you keep Hermes-*shaped* behavior without 90G on device.
130
-
131
- ### Speculative / test-time
132
-
133
- - Speculative decoding with **tiny draft on-device** verifying against mid student helps tok/s; draft can be 100–300M.
134
- - Latent recurrent depth (2502.05171) = spend compute not tokens — interesting if thermal allows loop depth, research-only for Aug track.
135
-
136
- ---
137
-
138
- ## Runtime map (ship-relevant)
139
-
140
- | stack | iOS | Android | notes |
141
- |-------|-----|---------|-------|
142
- | **MLC-LLM** | Metal A-series | OpenCL Adreno/Mali | Universal compile; OpenAI-compat engine; indie-friendly. |
143
- | **llama.cpp** | Metal | Android NDK / Vulkan | GGUF path; matches our desktop harvest methodology. |
144
- | **ExecuTorch** | yes | yes | PyTorch-native; Meta prod; LLM examples for Llama-class. Prefer if we train/export in PT. |
145
- | **MediaPipe Tasks** | yes | yes | Strong for vision/audio tasks; LLM story secondary to MLC/ET. |
146
- | **Core ML** | ANE | n/a | Convert when ops allow; fail-closed for exotic MoE. |
147
- | **bitnet.cpp** | CPU | CPU/ARM | Only for BitNet students. |
148
- | **MLX** | — | — | Mac; not phone. |
149
-
150
- Recommendation:
151
-
152
- - **Prototype path:** Q4/Q5 GGUF of dense student → llama.cpp iOS/Android samples (same smoke harness flavor, reduced bar).
153
- - **Product path:** MLC or ExecuTorch once architecture freezes.
154
- - **Do not** start phone path by converting Laguna MoE GGUF.
155
-
156
- ---
157
-
158
- ## Honest capability ladder (agent)
159
-
160
- Desktop Laguna Spark: **40/40** agent_smoke + 27/27 Hermes-class (measured).
161
-
162
- Phone expectations if we bonsai correctly:
163
-
164
- | SKU class | size | likely role | ~/40-style agent bar |
165
- |-----------|------|-------------|----------------------|
166
- | bonsai-nano | 0.5B Q4 | classify, rewrite, single tool | **ship_min phone bar** (new suite ~12–20 cases), not 40/40 |
167
- | bonsai-mini | 1B Q4 | plan + 1–2 tools | partial multi-step |
168
- | bonsai-edge | 2B Q4 / BitNet2B | on-device default agent | better multi-step; still << Laguna |
169
- | hybrid | student + Laguna cloud | full agent when online | cloud holds 40/40; device holds offline floor |
170
-
171
- Define a **phone_agent_smoke** (separate harness): shorter tools schema, stricter latency, thermal budget, offline/online modes. Never scoreboard-merge with Spark 40/40.
172
-
173
- ---
174
-
175
- ## Distillation recipe (actionable)
176
-
177
- ### Data (the real moat)
178
-
179
- Mine from Laguna teacher (Spark):
180
-
181
- 1. Agent trajectories that **passed** harness (tool JSON, multi-step, error repair).
182
- 2. Hard negatives: invented tools, broken JSON, overlong.
183
- 3. Synthetic repairs: corrupt → Laguna fix pairs.
184
- 4. Privacy scrub before any leave-box export.
185
-
186
- Avoid: generic UltraChat-only SFT — tools won’t stick (see 2401.07324).
187
-
188
- ### Loss stack
189
-
190
- 1. **SFT** on clean tool traces (strict schema).
191
- 2. **On-policy distill** where student acts, teacher grades / relabels (best agent transfer).
192
- 3. Optional **token KD** (KL to teacher) on non-tool chat for fluency.
193
- 4. Optional preference (DPO/odds-ratio) on “good tool vs bad tool” pairs.
194
-
195
- ### Train budget (order)
196
-
197
- - Student init: Qwen2.5-0.5B/1.5B-Instruct or MobileLLM-Pro / Gemma-3-1B class — pick one ecosystem and stay.
198
- - LoRA first (days), full FT if LoRA plateaus.
199
- - Quant-aware or post-train Q4_K_M/IQ4_XS export via llama.cpp / MLC convert.
200
- - Always restore desktop teacher for eval of **teacher** quality; student has own card.
201
-
202
- Gates (align Scientium-style joy when personal track hardens):
203
-
204
- - Gate P0: student builds + loads iOS sim **or** Android emulator with < budget RAM.
205
- - Gate P1: phone_agent_smoke ship_min.
206
- - Gate P2: human 20-turn soak + thermal (surface temps / throttle).
207
- - No “Laguna on iPhone” public line. Ever. Name it bonsai.
208
-
209
- ---
210
-
211
- ## Hybrid privacy pattern (recommended product)
212
-
213
- ```
214
- [User on phone]
215
- → local bonsai (default)
216
- → simple tools (calendar, notes, local files perimeter)
217
- → hard / long / coding / multi-tool
218
- → optional escalate to Spark Laguna (TLS, founder network only)
219
- → return summary only to device
220
- ```
221
-
222
- Privacy principle lock: sensitive founder inference stays on-box / sovereign; phone bonsai is personal endpoint class, not fleet A2A dump.
223
-
224
- ---
225
-
226
- ## Non-goals (phone)
227
-
228
- - Scoreboard promote any phone number as Laguna-S-2.1
229
- - Claim IQ3 Mac success ⇒ iPhone
230
- - App Store “100B on phone” vibes
231
- - Full 8k–128k context default on 8G phones
232
- - Unsloth multi-quant rehost of Laguna for mobile
233
-
234
- ---
235
-
236
- ## Aug 3 vs later
237
-
238
- ### By 2026-08-03 12:00 WIB (docs + honesty only)
239
-
240
- - Device matrix already: phone = **non-fit full model**
241
- - This note linked from post-freeze path + matrix
242
- - Optional: one **bare** public line on HF card: “Mobile: distill/SLM track only; full weights not phone-fit.”
243
- - No phone weight publish required for Aug 3 clock
244
-
245
- ### Post-freeze build order (if founder greenlights compute)
246
-
247
- 1. Freeze phone_agent_smoke v0 (12–20 cases) + ship_min.
248
- 2. Choose student base (default lean: **Qwen2.5-1.5B-Instruct** or **MobileLLM-Pro-class 1B**).
249
- 3. Harvest Laguna tool traces on Spark (offline JSONL).
250
- 4. SFT + schema constrain → GGUF Q4 → MacBook smoke first (faster loop).
251
- 5. MLC or llama.cpp iOS sim + Android emulator RAM probe.
252
- 6. Only then TestFlight / internal APK.
253
- 7. Hybrid escalate toggle last.
254
-
255
- ---
256
-
257
- ## Decision packet (one decision)
258
-
259
- **D1 — Phone track posture after Aug 3**
260
-
261
- - A) **Docs-only** through promo clock (recommended default): non-fit declared; bonsai plan parked.
262
- - B) **Open bonsai spike** post-freeze: trace harvest + 0.5–1.5B SFT week, no public claim.
263
- - C) **Hybrid product spike**: bonsai offline floor + Laguna cloud escalate design (needs privacy review).
264
-
265
- Default if silence: A until founder opens B/C.
266
-
267
- ---
268
-
269
- ## Sources (anchors)
270
-
271
- - MobileLLM 2402.14905 · MobileLLM-Pro 2511.06719 · MobileLLM-R1 2509.24945 · MobileLLM-Flash 2603.15954
272
- - MiniCPM 2404.06395 · MiniCPM-V 2408.01800
273
- - BitNet b1.58 2B4T 2504.12285 · bitnet.cpp 2410.16144 · FBI-LLM 2407.07093 · EdgeRazor 2605.04062
274
- - FlexMoE 2606.27866 · TinyLLM 2412.15304
275
- - Small LLMs weak tool learners 2401.07324
276
- - ExecuTorch 2605.08195 · MLC-LLM (llm.mlc.ai)
277
- - Pack priors: `device-quant-matrix-aug3.md`, `post-freeze-smaller-device-path.md`
278
- - Measured IQ3_S agent_smoke 38/40 on Spark does **not** change phone non-fit
279
-
280
- ---
281
-
282
- ## One-line canon
283
-
284
- **Phone gets a bonsai student taught by Laguna — never Laguna shoehorned into a phone.**
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
research/post-freeze-smaller-device-path.md DELETED
@@ -1,74 +0,0 @@
1
- # Smaller-device path — Mac mini / MacBook / PC / laptop
2
-
3
- Status: **UNLOCKED for Aug 3 parallel track** (2026-07-28).
4
- Still personal surface. Public promo clock unchanged: **2026-08-03 12:00 WIB**.
5
-
6
- Canonical matrix → [`device-quant-matrix-aug3.md`](./device-quant-matrix-aug3.md)
7
- Pull helper → `scripts/pull_sku.sh`
8
-
9
- ## Bottom line
10
-
11
- **Two roadmaps:** [`roadmap-dual-s-and-xs-2026-07-28.md`](./roadmap-dual-s-and-xs-2026-07-28.md)
12
-
13
- **Founder Macs = MacBook Pro / Mac Studio ≤32G** (live Studio: M2 Max 32G).
14
- Full **S** weights **do not load** there. Default “Laguna Mac” = **client to Spark S**.
15
- **XS** is a **separate** 33B-A3B track for possible local Mac weights (Q4 ~19G) — prep only, unmeasured.
16
-
17
- By Aug 3 (Roadmap A): Spark measured S bar + honest Mac client path + community fat-box S pointers.
18
- Roadmap B (XS) must **not** dilute or delay that freeze.
19
-
20
- Do **not** swap the Spark official S Q4_K_M headline.
21
- Do **not** chase 64G Mac hardware we do not own.
22
- Do **not** call XS “S on Mac”.
23
-
24
- ## Order of work (accelerated)
25
-
26
- 1. Hold Spark official **S** Q4_K_M (40/40 + ~21 tok/s + digests).
27
- 2. Pack stranger reproduce path (Spark-weighted S).
28
- 3. Document **founder Mac ≤32G non-fit for full S weights** + OpenAI client → Spark.
29
- 4. Keep IQ3_S / IQ4 as **community S** pointers (Spark-measured SKU only).
30
- 5. Promote a **S** SKU to the scoreboard only if ≤ −2/40 vs official **and** host labeled.
31
- 6. **XS prep** (parallel): lock + matrix + dual roadmap — pull/smoke only after founder go; prefer WD_BLACK.
32
-
33
- ## Device targets
34
-
35
- | Device class | RAM | Candidate | Engine | Aug 3 intent |
36
- |--------------|-----|-----------|--------|--------------|
37
- | DGX Spark | ~121G | Official **S** Q4_K_M (~96G) | poolside laguna CUDA | **stand-behind measured** |
38
- | **Founder Mac · full S** | **≤32G** | **no full S weights** | Hermes / curl → Spark | **Laguna Mac = client** |
39
- | **Founder Mac · XS parallel** | **32G** | official **XS** Q4_K_M (~18.9G) | laguna Metal / Ollama? | **research** · 0 smoke · see [`Laguna-XS-2.1-Mac-Agentic-fit-2026-07-28.md`](./Laguna-XS-2.1-Mac-Agentic-fit-2026-07-28.md) |
40
- | Community workstation 64–128G | 64–128G | **S** UD-Q4_K_XL / IQ4_XS | CUDA / Metal | stranger pointer only |
41
- | Community Mac/PC 48–64G | 48–64G | **S** UD-IQ3_S (Spark 38/40) | Metal/CUDA | stranger pointer; not founder Mac |
42
- | Laptop 16–24G full S | 16–24G | no full S | — | distill / bonsai / or XS separate |
43
-
44
- ## Gate checklist (any scoreboard SKU)
45
-
46
- - [ ] Same `eval/agent_smoke` 40 cases
47
- - [ ] Same method (temp, max tokens, tools schema)
48
- - [ ] Host labeled honestly (never Mac numbers as "Spark")
49
- - [ ] sha256 + exact source path
50
- - [ ] Delta vs Spark official Q4_K_M
51
- - [ ] Fail cases listed
52
- - [ ] ≥ official − 2 **or** research footnote only
53
- - [ ] Founder go for post-freeze claim edits
54
-
55
- ## Non-goals
56
-
57
- - Bulk multi-quant LFS rehost of Unsloth/Bartowski trees
58
- - "Runs on MacBook / Studio" weight claims for ≤32G founder fleet
59
- - Waiting on / inventing a 64G Mac row for launch
60
- - "Runs on any MacBook" claims
61
- - Nemotron swap as Laguna headline
62
- - Global HF top-10 from device count alone
63
- - Public X/trending before Aug 3 12:00 WIB
64
-
65
- ## Authority
66
-
67
- Personal founder pack. Third-party quants stay at source; we point + measure.
68
-
69
- ## Phone / tablet
70
-
71
- Full Laguna (even IQ3) is **non-fit** for iPhone and Android. Mac/PC quant success does not carry to mobile. Distill/SLM only.
72
-
73
- Deep research (bonsai path): [`phone-bonsai-ios-android-2026-07-28.md`](./phone-bonsai-ios-android-2026-07-28.md)
74
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
research/quant-comparison-scoreboard-2026-07-28.md DELETED
@@ -1,112 +0,0 @@
1
- # Quant comparison scoreboard — Laguna-S-2.1 (2026-07-28)
2
-
3
- Purpose: same-family quant map + **measured Spark evidence** for our stand-behind choice.
4
- Not a global HF top-10 claimsheet. Global trending needs downloads/likes/recency — our wedge is **measured agent runtime on Spark + official digest binding**.
5
-
6
- ## Our stand-behind (measured live)
7
-
8
- | Field | Value |
9
- |-------|-------|
10
- | Pack | `hizrianraz/Laguna-S-2.1-Spark-Agentic` |
11
- | Weights | official `poolside/Laguna-S-2.1-GGUF` · `laguna-s-2.1-Q4_K_M.gguf` |
12
- | sha256 | `a8b55c75714ea73fd90ec85de5defdc0b8d88ca0ad2108343cdd8fc22f7583e4` |
13
- | Host | DGX Spark GB10 · 121 Gi |
14
- | Engine | poolside llama.cpp `04b2b72` laguna + isfinite patch |
15
- | Serve | `:8000` · ctx 8192 · ngl -1 · jinja · fa on · alias `local-laguna` |
16
- | Gen128 (authoritative) | **~21.47 tok/s** · multi suite · `results/MEASURED.md` · pack tip `bf82eab` |
17
- | Gen128 (earlier same-day stamp) | 21.016 tok/s · 128 tok · 6.091s — band sample only, **not** a second claim |
18
- | Prefill marks (measured multi) | 2k ~1.6s · 8k ~4.8s (server_bench_live) |
19
- | agent_smoke | **40/40 (100%)** · 84.86 s · temp 0.0 |
20
- | hermes_agent_smoke v2 | **27/27 (100%)** · 100.1 s · `results/hermes_agent_smoke.json` |
21
-
22
- ## Same-family GGUF landscape (HF metadata)
23
-
24
- | Source | Likes | Downloads | Role vs us |
25
- |--------|------:|----------:|------------|
26
- | `poolside/Laguna-S-2.1-GGUF` | 157 | 90106 | official |
27
- | `unsloth/Laguna-S-2.1-GGUF` | 222 | 129601 | unsloth |
28
- | `bartowski/Laguna-S-2.1-GGUF` | 7 | 5235 | bartowski |
29
- | `lmstudio-community/Laguna-S-2.1-GGUF` | 1 | 2991 | lmstudio |
30
-
31
- ### Size-class picks (single file or last shard size shown for multi-part — **sum shards for full disk**)
32
-
33
- | Class | Official Poolside | Unsloth (example) | Bartowski (example) | LM Studio | Fit note |
34
- |-------|-------------------|-------------------|---------------------|-----------|----------|
35
- | Agent default Q4 | **`Q4_K_M` 96.03 GB** (our measure) | `Laguna-S-2.1-UD-Q4_K_XL-00003-of-00003.gguf` ~23.42 GB shard/file UD-Q4_K_XL | `Laguna-S-2.1-Q4_K_M-00002-of-00002.gguf` ~31.94 GB shard/file | `Laguna-S-2.1-Q4_K_M-00002-of-00002.gguf` ~31.22 GB shard/file | Spark 128G OK for official Q4_K_M |
36
- | Dense Q8 | `Q8_0` 128.75 GB | multi-part Q8_0 | multi-part Q8_0 | multi-part Q8_0 | Heavy on 128G; optional |
37
- | Smaller third-party | — | `Laguna-S-2.1-UD-IQ4_XS-00003-of-00003.gguf` ~7.74 GB shard/file / `Laguna-S-2.1-UD-Q3_K_M-00003-of-00003.gguf` ~4.04 GB shard/file | IQ/Q3 family present | — | Laptop/Mac candidates **after** freeze |
38
-
39
- ## Fair comparison method (locked)
40
-
41
- 1. **Same harness**: `eval/agent_smoke` (40 cases) + `scripts/bench_server.py` + gen128 chat.
42
- 2. **Same host**: DGX Spark only for headline numbers.
43
- 3. **Same engine**: poolside `laguna` fork at pinned SHA when model needs Laguna ops; stock llama.cpp only if it loads cleanly — note fork delta.
44
- 4. **Digest-bind**: publish sha256; no silent re-quant.
45
- 5. **No server swap during launch lock** without explicit founder go: live Laguna Q4 stays up.
46
-
47
- ## What we will / will not claim
48
-
49
- | Claim | Status |
50
- |-------|--------|
51
- | First/only Laguna quant | **No** — Poolside/Unsloth/Bartowski exist |
52
- | Best universal tok/s | **No** without same-harness wins |
53
- | Spark-measured agent smoke 40/40 on official Q4_K_M | **Yes** (evidence in `results/`) |
54
- | Spark-measured Unsloth UD-IQ3_S agent smoke ≥38/40 (not headline) | **Yes** · 38/40 · `results/sku_unsloth-ud-iq3-s/` |
55
- | Full Laguna on iPhone / Android | **No** — explicit non-fit |
56
- | Global HF top-10 overall | **Not a commit** — optimize pack cluster + agent evidence |
57
- | Top tier *among Laguna Spark packs / measured agent runtimes* | **Target** |
58
-
59
- ## Cross-family (Nemotron) note
60
-
61
- - On disk Spark: `Nemotron-3-Super-120B-Q4_K.gguf` ~66G.
62
- - **Not swapped in** this window (would drop live Laguna serve).
63
- - Post-freeze same-harness pulse is the fair path if founder wants scientific cross-base compare.
64
-
65
- ## Laptop / Mac mini / PC path (Aug 3 accelerated — parallel track)
66
-
67
- **Unlocked 2026-07-28** for pack docs + pointer wiring before promo clock.
68
- Does **not** move public promo. Live Q4 restored on `:8000` after one brief IQ3 window.
69
-
70
- ### IQ3_S same-harness (done 2026-07-28)
71
-
72
- | Field | Value |
73
- |-------|-------|
74
- | SKU | Unsloth `Laguna-S-2.1-UD-IQ3_S.gguf` |
75
- | sha256 | `8a9ab3f8b3ff1723441cd251e873b295a7ef086d78dbae7515e5e27c8382b002` |
76
- | Host | DGX Spark (not Mac) |
77
- | agent_smoke | **38/40 · 95% · 71s** |
78
- | ship gate (≥38) | **met** |
79
- | Headline? | **No** — row is pointer + delta |
80
- | Evidence | `results/sku_unsloth-ud-iq3-s/` |
81
- | Caveat | Spark runner lacked sanitize / any_of_tools; fails = closed harness IDs on Q4 |
82
-
83
- ### Remaining order
84
-
85
- 1. Hold Aug 3 lock: official Q4_K_M + 40/40 + hermes 27/27 + pack docs (**still lead**).
86
- 2. Optional: re-smoke IQ3 with **fixed** harness when GPU free (expect possible 40/40; do not block claims).
87
- 3. Pull `UD-IQ4_XS` if disk allows; smoke only when free.
88
- 4. Never relabel Mac/PC numbers as Spark; never claim iPhone/Android for full Laguna.
89
- 5. DIY imatrix only if it **beats** official/Unsloth on agent_smoke.
90
-
91
- ## DFlash optional row (measured 2026-07-29) — **DO_NOT_PROMOTE**
92
-
93
- | Field | Value |
94
- |-------|-------|
95
- | Mode | Q4_K_M + `laguna-s-2.1-DFlash-BF16.gguf` · `--spec-type draft-dflash` |
96
- | Host | DGX Spark GB10 · engine `04b2b72` |
97
- | Gen128 | **15.286 tok/s** · 128 tok · 8.374s |
98
- | Prefill | 2k **2.253s** · 8k **5.556s** |
99
- | Metrics gen gauge | ~17.3 tok/s predicted |
100
- | Spec path | slots `speculative=true` · types `none,draft-dflash` |
101
- | Decision | **DO_NOT_PROMOTE** — slower than plain Q4 baseline (~21.5 t/s gen128) |
102
- | Evidence | `results/dflash_2026-07-29/` |
103
-
104
- Do **not** claim DFlash speedup on this pack. Headline remains plain Q4 serve.
105
-
106
- ## Live bench stamp
107
-
108
- - **Authoritative multi suite (quote this):** gen128 **21.47** tok/s · smoke 40/40 · hermes 27/27 · pack tip `bf82eab` · `results/MEASURED.md` / `results/measured.json`
109
- - Earlier same-day band sample (not a second claim): gen_bench gen128 **21.016** · prefill 2k 1.022s / 8k 1.521s · unix 1785240774.865332
110
- - dflash_gen128_tok_s: 15.286 · decision DO_NOT_PROMOTE · 2026-07-29
111
- - Serve captain: `-c 8192 -ngl -1 --jinja -fa on --alias local-laguna` (SPARK serve blocks aligned 2026-07-29 post-jury fix)
112
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
research/roadmap-dual-s-and-xs-2026-07-28.md DELETED
@@ -1,106 +0,0 @@
1
- # Dual roadmap — Laguna S (Spark) + Laguna XS (Mac)
2
-
3
- Prepared 2026-07-28. Personal founder tracks only.
4
- Two roadmaps. One is never a rename of the other.
5
-
6
- ## North star split
7
-
8
- | | **Roadmap A — S / Spark** | **Roadmap B — XS / Mac** |
9
- |--|---------------------------|-------------------------|
10
- | Model | Laguna-**S**-2.1 · 118B-A8B | Laguna-**XS**-2.1 · 33B-A3B |
11
- | Host | **DGX Spark only** (weights) | Founder Mac ≤32G (weights candidate) |
12
- | Default SKU | official S Q4_K_M ~96G | official XS Q4_K_M ~18.9G |
13
- | Measured bar today | 40/40 + hermes 27/27 · ~21 t/s | **none** (disk evidence only) |
14
- | Pack / freeze | `hizrianraz/Laguna-S-2.1-Spark-Agentic` · freeze Aug 2 18:00 · launch Aug 3 12:00 WIB | research parallel; optional later `laguna-xs-*` surface |
15
- | Founder Mac role for S | **client → Spark :8000** | n/a |
16
- | Coupling | — | **must not** delay or dilute A |
17
-
18
- ## Roadmap A — S / Spark (stand-behind)
19
-
20
- ### Done
21
- - Official Q4 bind + sha256
22
- - agent_smoke 40/40 · hermes v2 27/27 on Spark
23
- - weight_host lock: `dgx-spark-only`
24
- - founder_mac lock: `client-only-no-local-weights` for full S
25
- - IQ3_S pointer 38/40 (not headline)
26
- - Launch lock + personal HF surface
27
-
28
- ### To freeze (2026-08-02 18:00)
29
- 1. Clean tree + pushed tip for any final STAMP
30
- 2. README / MEASURED / matrix honest; no Mac-S weight claim
31
- 3. Client path smoke from Mac → Spark documented
32
- 4. No DIY GGUF unless measured win
33
- 5. No public promo before Aug 3 12:00
34
-
35
- ### Non-goals A
36
- - Local full-S weights on ≤32G Mac
37
- - Rebrand S as XS
38
- - Community quants as founder headline
39
-
40
- ### Kill / hold A
41
- - Dirty WT for “final”
42
- - Conflicting jury on host honesty
43
- - Loss of Q4 restore after alt smoke
44
-
45
- ## Roadmap B — XS / Mac (parallel research)
46
-
47
- ### Prepared (this session)
48
- - Live HF probe: base sha `205dc65…` · GGUF sha `1a37c0…`
49
- - Q4_K_M sha256 `1ac7079101fca5a6df8c5a7523a3c30ea7d1c0e4b1258090e7d6d4039287f6cb` · 18.882 GiB
50
- - BF16 non-fit (62.3 GiB) pinned
51
- - Host: Studio 32G live vs vendor “36G” gap noted
52
- - Engine: poolside laguna fork / PR #25165 risk
53
- - Locks: `results/xs_mac_track_lock.json`
54
- - Notes: `research/Laguna-XS-2.1-Mac-Agentic-fit-2026-07-28.md`
55
- - Matrix row + definition table updated
56
-
57
- ### Ordered next (founder-gated each step)
58
- 1. **Jury GO** on prepared XS path + dual roadmap (this consult)
59
- 2. **Founder go** to pull Q4 only → prefer WD_BLACK
60
- ` /Volumes/HFR WD_BLACK SN850X/models/laguna-xs-2.1 `
61
- (System Data ~40 Gi free — soft; external has room)
62
- 3. Build/verify Metal llama on laguna fork (or prove Ollama path)
63
- 4. Load proof: RSS + free RAM + ctx
64
- 5. Same-harness `eval/agent_smoke` → `results/sku_xs-official-q4km/`
65
- 6. Optional hermes-class 27
66
- 7. Fail list + delta vs **not** S headline (separate table)
67
- 8. Founder go before any public/HF claim sentence
68
-
69
- ### Non-goals B
70
- - Pull BF16 on Mac
71
- - DIY re-quant before official fails a real gate
72
- - Phone/tablet from XS
73
- - Any claim that XS results are S results
74
- - Couping B dates into A freeze
75
-
76
- ### Kill criteria B
77
- - Cannot load under 32G with usable ctx after OS+Hermes
78
- - Engine cannot run XS without endless fork chase past freeze bandwidth
79
- - Smoke << research bar and no learnable delta
80
- - Disk pressure threatens S freeze work → **park B**
81
-
82
- ## Shared honesty rules
83
-
84
- 1. Name the model family every time: **S** or **XS**
85
- 2. Disk size ≠ runtime fit ≠ agent smoke
86
- 3. Poolside public benches ≠ founder hermes harness
87
- 4. Always restore S Q4 on Spark after any alt experiment
88
- 5. Analysis / jury ≠ ship clearance
89
-
90
- ## Artifact map
91
-
92
- | Artifact | Roadmap |
93
- |----------|---------|
94
- | `results/launch_lock.json` | A |
95
- | `results/MEASURED.md` · smoke JSON | A |
96
- | `results/xs_mac_track_lock.json` | B |
97
- | `research/Laguna-XS-2.1-Mac-Agentic-fit-2026-07-28.md` | B |
98
- | `research/device-quant-matrix-aug3.md` | A+B (labeled rows) |
99
- | `research/post-freeze-smaller-device-path.md` | A + community; B pointer |
100
- | `research/roadmap-dual-s-and-xs-2026-07-28.md` | A+B (this file) |
101
- | `prompts/*-dual-roadmap-*.md` | external analysis of both |
102
-
103
- ## One-line each
104
-
105
- - **A:** Ship honest Spark S pack Aug 3; Mac is client.
106
- - **B:** Prove whether official XS Q4 actually works on founder 32G Mac — separate surface, after pull+smoke, no story theft from A.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/LAST_GREEN_PIN.md CHANGED
@@ -12,9 +12,9 @@
12
  | Gen128 | **~21.47 tok/s** |
13
  | agent_smoke | **40/40** · 84.86s · temp 0.0 |
14
  | hermes v2 | **27/27** · 100.1s · temp 0.0 |
15
- | Pack tip (measured) | `bf82eab` |
16
  | Serve | `-c 8192 -ngl -1 --parallel 1 --alias local-laguna --jinja -fa on` |
17
- | Evidence | `results/MEASURED.md`, `results/launch_lock.json`, `results/multi_throughput.json` |
18
 
19
  ## Explicit rejects
20
 
 
12
  | Gen128 | **~21.47 tok/s** |
13
  | agent_smoke | **40/40** · 84.86s · temp 0.0 |
14
  | hermes v2 | **27/27** · 100.1s · temp 0.0 |
15
+ | Measure tip (provenance) | `bf82eab` — not necessarily current docs tip |
16
  | Serve | `-c 8192 -ngl -1 --parallel 1 --alias local-laguna --jinja -fa on` |
17
+ | Evidence | `results/MEASURED.md`, `results/measured.json` (`throughput` + `quote_gen_tok_s`), `results/launch_lock.json`, `results/server_bench.json` |
18
 
19
  ## Explicit rejects
20
 
results/MEASURED.md CHANGED
@@ -1,10 +1,10 @@
1
  # Laguna-S-2.1 on DGX Spark — measured 2026-07-29
2
 
3
- personal Spark measurement note — accel multi-bench
4
 
5
  ## Stamp
6
  - When: **2026-07-29 13:22:05 UTC+07:00**
7
- - Host: `Hizrian-Razs-DGX-Spark`
8
  - Pack git: `bf82eab` (bf82eab5fd6c1fb04e863f0c4b05b5658dec4aee)
9
  - Headline quant: **Q4_K_M** (held)
10
 
@@ -40,7 +40,7 @@ Prefill-oriented server_bench (OK replies):
40
  ## Locks held
41
  - diy_gguf: false
42
  - weight_host: Spark-only
43
- - founder Mac: client-only
44
  - public_promo_before_launch: false
45
  - XS not in S freeze
46
 
 
1
  # Laguna-S-2.1 on DGX Spark — measured 2026-07-29
2
 
3
+ Independent Spark measurement note — multi-bench
4
 
5
  ## Stamp
6
  - When: **2026-07-29 13:22:05 UTC+07:00**
7
+ - Host: NVIDIA DGX Spark (GB10)
8
  - Pack git: `bf82eab` (bf82eab5fd6c1fb04e863f0c4b05b5658dec4aee)
9
  - Headline quant: **Q4_K_M** (held)
10
 
 
40
  ## Locks held
41
  - diy_gguf: false
42
  - weight_host: Spark-only
43
+ - Mac full-S: client-only
44
  - public_promo_before_launch: false
45
  - XS not in S freeze
46
 
results/agent_smoke.json CHANGED
@@ -700,7 +700,7 @@
700
  "type": "function",
701
  "function": {
702
  "name": "write_file",
703
- "arguments": "{\"path\":\"sandbox/brand.txt\",\"content\":\"personal spark pack\"}"
704
  },
705
  "id": "i4JTNEZ9UPL8cgzzZaeiGzCYwdtU3XJQ"
706
  }
@@ -734,7 +734,7 @@
734
  "suite_version": 1,
735
  "generated_at_utc": "2026-07-29T06:06:55.380678+00:00",
736
  "host": {
737
- "hostname": "Hizrian-Razs-DGX-Spark",
738
  "platform": "Linux-6.17.0-1026-nvidia-aarch64-with-glibc2.39",
739
  "python": "3.12.3"
740
  },
 
700
  "type": "function",
701
  "function": {
702
  "name": "write_file",
703
+ "arguments": "{\"path\":\"sandbox/brand.txt\",\"content\":\"independent spark pack\"}"
704
  },
705
  "id": "i4JTNEZ9UPL8cgzzZaeiGzCYwdtU3XJQ"
706
  }
 
734
  "suite_version": 1,
735
  "generated_at_utc": "2026-07-29T06:06:55.380678+00:00",
736
  "host": {
737
+ "hostname": "dgx-spark",
738
  "platform": "Linux-6.17.0-1026-nvidia-aarch64-with-glibc2.39",
739
  "python": "3.12.3"
740
  },
results/freeze_gate_model_card_lock_set_2026-07-29.json CHANGED
@@ -7,7 +7,7 @@
7
  "repo_id": "hizrianraz/Laguna-S-2.1-Spark-Agentic",
8
  "freeze_at_wib": "2026-08-02T18:00:00+07:00",
9
  "launch_at_wib": "2026-08-03T12:00:00+07:00",
10
- "decision": "gate_filled_continue_prep_not_freeze",
11
  "measure_tip": {
12
  "pack_git_head": "bf82eab5fd6c1fb04e863f0c4b05b5658dec4aee",
13
  "agent_smoke": "40/40",
@@ -22,51 +22,49 @@
22
  },
23
  "model_card": {
24
  "path": "README.md",
25
- "sha256": "b1ef36a5edcc75fc8cbadd9aa0701f1cb3624a90114e9a72d73162f7e40a36d8",
26
- "bytes": 10275,
27
  "fields_filled": [
28
  "HF YAML frontmatter",
 
29
  "base identity pinned SHAs",
30
  "official GGUF sha256 table",
31
  "quant guide + Mac client-only",
32
  "stranger path",
33
  "scoreboard live tip 40/40 \u00b7 27/27 \u00b7 21.47 t/s",
34
  "measured detail + locks",
 
35
  "disclaimer + attribution"
36
  ]
37
  },
38
  "lock_set": {
39
  "LAUNCH_AUG3.md": {
40
- "sha256": "175c38ccea42405ee3480d299fc3f4c0ef2c3129c3258910a6618034f9dc78a5",
41
- "bytes": 5393
42
  },
43
  "results/launch_lock.json": {
44
- "sha256": "330d839e77b00e445d4eba86e7525624e374affa15952973f322412d5d1e4f69",
45
- "bytes": 2985
46
  },
47
  "results/MEASURED.md": {
48
- "sha256": "480057b2999e498a88d29ece101dd363724523d10df59b09e979dfc3eb641062",
49
- "bytes": 1668
50
  },
51
  "results/measured.json": {
52
  "sha256": "878baffe0f8da0fdc756060d6c65a79177bdd61fb2476270907a0bc5aeb96380",
53
  "bytes": 3008
54
  },
55
  "SHA256SUMS": {
56
- "sha256": "ffa7d1c0e882b4c5deac5c748aa0654881351e735102d71a1471749ad6210b1c",
57
- "bytes": 1253
58
- },
59
- "results/xs_mac_track_lock.json": {
60
- "sha256": "dc2953263c7a3c7c7f732cbec50a648dd37a76a06a4e9d383c7a7d19743f2f9a",
61
- "bytes": 3144
62
  },
63
  "results/freeze_readiness_2026-07-29_accel.json": {
64
  "sha256": "a1011e2f002e03d96c283d3521a2ed19581d744723809cbd9788d1ee808ab962",
65
  "bytes": 1504
66
  },
67
  "results/freeze_notes_2026-07-29.md": {
68
- "sha256": "3b8494601350512707d3b6c932e7260643ac218ee6e5d7e0c0205e400e2257ff",
69
- "bytes": 1182
70
  },
71
  "results/agent_smoke.json": {
72
  "sha256": "587f51f3f7966d9c416e9fbab2a9fc70034106a875e4a18114dd31f2570dd67a",
@@ -80,7 +78,7 @@
80
  "locks_held": {
81
  "diy_gguf": false,
82
  "weight_host": "dgx-spark-only",
83
- "founder_mac": "client-only-no-local-weights",
84
  "public_promo_before_launch": false,
85
  "xs_not_in_s_freeze": true,
86
  "branding": "personal-only"
@@ -97,5 +95,11 @@
97
  "stranger-path dry",
98
  "push filled card+locks to GH/HF when network ready",
99
  "hold tip through Aug 2 18:00 freeze"
100
- ]
 
 
 
 
 
 
101
  }
 
7
  "repo_id": "hizrianraz/Laguna-S-2.1-Spark-Agentic",
8
  "freeze_at_wib": "2026-08-02T18:00:00+07:00",
9
  "launch_at_wib": "2026-08-03T12:00:00+07:00",
10
+ "decision": "gate_filled_docs_rewritten_continue_prep_not_freeze",
11
  "measure_tip": {
12
  "pack_git_head": "bf82eab5fd6c1fb04e863f0c4b05b5658dec4aee",
13
  "agent_smoke": "40/40",
 
22
  },
23
  "model_card": {
24
  "path": "README.md",
25
+ "sha256": "9f2603efe7b292c7b7d01386a5d91779aeff089a1d9d6c8bd0bfbc30ecc2748e",
26
+ "bytes": 9691,
27
  "fields_filled": [
28
  "HF YAML frontmatter",
29
+ "professional table lead",
30
  "base identity pinned SHAs",
31
  "official GGUF sha256 table",
32
  "quant guide + Mac client-only",
33
  "stranger path",
34
  "scoreboard live tip 40/40 \u00b7 27/27 \u00b7 21.47 t/s",
35
  "measured detail + locks",
36
+ "scope boundaries",
37
  "disclaimer + attribution"
38
  ]
39
  },
40
  "lock_set": {
41
  "LAUNCH_AUG3.md": {
42
+ "sha256": "4904d7cd71ce5a2a72bb063f5ba98f8f60fea3b1f6594213f6e914e57777b079",
43
+ "bytes": 5676
44
  },
45
  "results/launch_lock.json": {
46
+ "sha256": "b27870a88f396e1dd8aea98618980965e1053ea93e4df3b4c5174bbcf2b7dc0f",
47
+ "bytes": 3174
48
  },
49
  "results/MEASURED.md": {
50
+ "sha256": "18f67a17e00e5aa9c05d8f3d4ab17b77f41d9d7c2e1e53d2d64d79b428242a80",
51
+ "bytes": 1870
52
  },
53
  "results/measured.json": {
54
  "sha256": "878baffe0f8da0fdc756060d6c65a79177bdd61fb2476270907a0bc5aeb96380",
55
  "bytes": 3008
56
  },
57
  "SHA256SUMS": {
58
+ "sha256": "90e86226dde3a830f91aaaa53437c631348d297be5e3a89fdfa87dd838f278b0",
59
+ "bytes": 355
 
 
 
 
60
  },
61
  "results/freeze_readiness_2026-07-29_accel.json": {
62
  "sha256": "a1011e2f002e03d96c283d3521a2ed19581d744723809cbd9788d1ee808ab962",
63
  "bytes": 1504
64
  },
65
  "results/freeze_notes_2026-07-29.md": {
66
+ "sha256": "94071b175f983992a0de7d275deb25d1b2f8df2df959a9f04f8eab3771cf6e27",
67
+ "bytes": 2288
68
  },
69
  "results/agent_smoke.json": {
70
  "sha256": "587f51f3f7966d9c416e9fbab2a9fc70034106a875e4a18114dd31f2570dd67a",
 
78
  "locks_held": {
79
  "diy_gguf": false,
80
  "weight_host": "dgx-spark-only",
81
+ "mac_le_32g": "client-only-no-local-weights",
82
  "public_promo_before_launch": false,
83
  "xs_not_in_s_freeze": true,
84
  "branding": "personal-only"
 
95
  "stranger-path dry",
96
  "push filled card+locks to GH/HF when network ready",
97
  "hold tip through Aug 2 18:00 freeze"
98
+ ],
99
+ "xs_in_s_freeze": false,
100
+ "note": "S freeze lock_set is S-only. XS track is parallel research, not hashed into S freeze. Hashes are interim after professional README rewrite; final freeze rehash still required at freeze gate on clean pushed HEAD. rehash_at_freeze remains true.",
101
+ "rehash_at_freeze": true,
102
+ "rehashed_at_wib_doc": "2026-07-29T18:21:21+07:00",
103
+ "rehashed_at_wib": "2026-07-29T18:21:21+07:00",
104
+ "rehash_reason": "professional README rewrite + interim lock_set rehash; final freeze rehash still required at Aug 2 18:00 local on clean pushed HEAD"
105
  }
results/freeze_notes_2026-07-29.md CHANGED
@@ -5,8 +5,8 @@
5
  - Freeze gate: **model_card + lock files**
6
  - Status: **FILLED** at `2026-07-29T14:43:26+07:00`
7
  - Receipt: `results/freeze_gate_model_card_lock_set_2026-07-29.json`
8
- - Freeze clock: still **2026-08-02 18:00 WIB** (do not freeze early)
9
- - HF go-live: **2026-08-03 12:00 WIB**
10
 
11
  ## Live tip bound into card + locks
12
 
@@ -23,7 +23,7 @@
23
 
24
  - diy_gguf: false
25
  - weight_host: Spark-only
26
- - founder Mac: client-only (no local S)
27
  - public_promo_before_launch: false
28
  - XS: parallel, not in S freeze
29
  - branding: personal-only
@@ -33,15 +33,23 @@
33
 
34
  1. ~~Optional DFlash status row final~~ → **done 2026-07-29 · DO_NOT_PROMOTE** (`results/dflash_2026-07-29/`)
35
  2. ~~Stranger-path dry re-run~~ → **DRY PASS** (`results/stranger_path_dry_2026-07-29.md`) · serve flag aligned to `-ngl -1`
36
- 3. ~~Baseline serve re-health after DFlash teardown~~ → **HEALTH_OK + chat OK** 2026-07-29 15:50 WIB (`results/baseline_rehealth_2026-07-29.md`)
37
  4. HF tip push of DFlash/last-green/stranger/jury receipts (docs-only)
38
- 5. Clean pushed HEAD on freeze day (**2026-08-02 18:00 WIB**)
39
- 6. Public go-live **2026-08-03 12:00 WIB** (no early promo)
40
 
41
  ## Non-actions
42
 
43
  - No accidental freeze today
44
- - No public promo before Aug 3 12:00 WIB
45
  - No XS inside S freeze artifact
46
  - No re-bench required unless weights/runners change
47
  - No DFlash speedup claim
 
 
 
 
 
 
 
 
 
5
  - Freeze gate: **model_card + lock files**
6
  - Status: **FILLED** at `2026-07-29T14:43:26+07:00`
7
  - Receipt: `results/freeze_gate_model_card_lock_set_2026-07-29.json`
8
+ - Freeze clock: still **2026-08-02 18:00 local** (do not freeze early)
9
+ - HF go-live: **2026-08-03 12:00 local**
10
 
11
  ## Live tip bound into card + locks
12
 
 
23
 
24
  - diy_gguf: false
25
  - weight_host: Spark-only
26
+ - Mac ≤32 GB: client-only (no local S)
27
  - public_promo_before_launch: false
28
  - XS: parallel, not in S freeze
29
  - branding: personal-only
 
33
 
34
  1. ~~Optional DFlash status row final~~ → **done 2026-07-29 · DO_NOT_PROMOTE** (`results/dflash_2026-07-29/`)
35
  2. ~~Stranger-path dry re-run~~ → **DRY PASS** (`results/stranger_path_dry_2026-07-29.md`) · serve flag aligned to `-ngl -1`
36
+ 3. ~~Baseline serve re-health after DFlash teardown~~ → **HEALTH_OK + chat OK** 2026-07-29 15:50 local (`results/baseline_rehealth_2026-07-29.md`)
37
  4. HF tip push of DFlash/last-green/stranger/jury receipts (docs-only)
38
+ 5. Clean pushed HEAD on freeze day (**2026-08-02 18:00 local**)
39
+ 6. Public go-live **2026-08-03 12:00 local** (no early promo)
40
 
41
  ## Non-actions
42
 
43
  - No accidental freeze today
44
+ - No public promo before Aug 3 12:00 local
45
  - No XS inside S freeze artifact
46
  - No re-bench required unless weights/runners change
47
  - No DFlash speedup claim
48
+
49
+ ## 2026-07-29 jury-fix rev (post dual seat)
50
+
51
+ - **S freeze lock_set is S-only.** Dropped `results/xs_mac_track_lock.json` from S `lock_set`.
52
+ - XS remains parallel `prepared_research` under its own lock; **not** an S freeze hash input.
53
+ - **Rehash at freeze:** on clean pushed HEAD (not dirty WT), recompute sha256 for every S lock_set member and stamp freeze gate. Docs tip may move; measure tip stays `bf82eab` until smoke/weights change.
54
+ - Gen headline sole: **~21.47 tok/s** from multi suite in `results/measured.json`. No 22.50 on launch surfaces.
55
+ - SHA256SUMS is GNU **2-column** for `sha256sum -c`.
results/freeze_readiness_2026-07-29_accel.json CHANGED
@@ -22,7 +22,7 @@
22
  "locks_held": {
23
  "diy_gguf": false,
24
  "weight_host": "dgx-spark-only",
25
- "founder_mac": "client-only-no-local-weights",
26
  "public_promo_before_launch": false,
27
  "xs_not_in_s_freeze": true,
28
  "branding": "personal-only"
@@ -34,7 +34,7 @@
34
  "final clean HEAD push on freeze day"
35
  ],
36
  "blockers_to_freeze_now": [
37
- "not yet freeze clock (Aug 2 18:00 WIB)"
38
  ],
39
  "receipt": "results/freeze_gate_model_card_lock_set_2026-07-29.json"
40
  }
 
22
  "locks_held": {
23
  "diy_gguf": false,
24
  "weight_host": "dgx-spark-only",
25
+ "mac_le_32g": "client-only-no-local-weights",
26
  "public_promo_before_launch": false,
27
  "xs_not_in_s_freeze": true,
28
  "branding": "personal-only"
 
34
  "final clean HEAD push on freeze day"
35
  ],
36
  "blockers_to_freeze_now": [
37
+ "not yet freeze clock (Aug 2 18:00 local)"
38
  ],
39
  "receipt": "results/freeze_gate_model_card_lock_set_2026-07-29.json"
40
  }
results/hermes_agent_smoke.json CHANGED
@@ -577,7 +577,7 @@
577
  "suite_version": 2,
578
  "generated_at_utc": "2026-07-29T06:08:57.571350+00:00",
579
  "host": {
580
- "hostname": "Hizrian-Razs-DGX-Spark",
581
  "platform": "Linux-6.17.0-1026-nvidia-aarch64-with-glibc2.39",
582
  "python": "3.12.3"
583
  },
 
577
  "suite_version": 2,
578
  "generated_at_utc": "2026-07-29T06:08:57.571350+00:00",
579
  "host": {
580
+ "hostname": "dgx-spark",
581
  "platform": "Linux-6.17.0-1026-nvidia-aarch64-with-glibc2.39",
582
  "python": "3.12.3"
583
  },
results/hf_publish.json CHANGED
@@ -1,9 +1,9 @@
1
  {
2
  "repo_id": "hizrianraz/Laguna-S-2.1-Spark-Agentic",
3
  "url": "https://huggingface.co/hizrianraz/Laguna-S-2.1-Spark-Agentic",
4
- "commit": "4296543781f6318edd356e83754479cd65f326a1",
5
- "latest_commit": "4296543781f6318edd356e83754479cd65f326a1",
6
- "local_git_head": "921ff6fb573036bdb2f2f81debe4c1cc15ae54ab",
7
  "private": false,
8
  "siblings": [
9
  ".gitattributes",
@@ -28,7 +28,9 @@
28
  "hermes/README.md",
29
  "hermes/sample_client.py",
30
  "prompts/_mirror/README-SPARK-HIZRIANRAZ.md",
 
31
  "prompts/chatgptwork-laguna-s-plus-xs-2026-07-28.md",
 
32
  "prompts/claudecowork-laguna-s-plus-xs-2026-07-28.md",
33
  "research/Laguna-XS-2.1-Mac-Agentic-fit-2026-07-28.md",
34
  "research/agentic-quant-hermes-hf-trending-2026-07-28.md",
@@ -39,9 +41,18 @@
39
  "research/quant-comparison-scoreboard-2026-07-28.md",
40
  "research/roadmap-dual-s-and-xs-2026-07-28.md",
41
  "results/.gitkeep",
 
42
  "results/MEASURED.md",
 
43
  "results/agent_smoke.json",
44
  "results/agent_smoke.log",
 
 
 
 
 
 
 
45
  "results/dual_audit_consolidation_2026-07-28.md",
46
  "results/engine_sha.txt",
47
  "results/freeze_gate_model_card_lock_set_2026-07-29.json",
@@ -57,6 +68,8 @@
57
  "results/sku_unsloth-ud-iq3-s/agent_smoke.json",
58
  "results/sku_unsloth-ud-iq3-s/agent_smoke.log",
59
  "results/sku_unsloth-ud-iq3-s/sku_meta.json",
 
 
60
  "results/xs_mac_track_lock.json",
61
  "scripts/_stamp_accel_receipts.py",
62
  "scripts/bench_server.py",
@@ -64,35 +77,39 @@
64
  "scripts/pull_sku.sh",
65
  "scripts/serve_spark.sh"
66
  ],
67
- "n_files": 57,
68
  "launch_locked": true,
69
  "launch_at_wib": "2026-08-03T12:00:00+07:00",
70
  "freeze_at_wib": "2026-08-02T18:00:00+07:00",
71
  "freeze_gate_status": "filled",
72
  "freeze_gate_receipt": "results/freeze_gate_model_card_lock_set_2026-07-29.json",
73
  "measure_tip_pack_git": "bf82eab5fd6c1fb04e863f0c4b05b5658dec4aee",
 
74
  "measured_json_on_hf": true,
75
  "agent_smoke_on_hf": true,
76
  "hermes_agent_smoke_on_hf": true,
 
 
 
77
  "freeze_gate_on_hf": true,
78
- "freeze_readiness_on_hf": true,
79
  "launch_lock_on_hf": true,
80
  "readme_on_hf": true,
81
- "updated_at_wib": "2026-07-29T14:52:10+07:00",
82
- "note": "docs/receipts only; weights untouched; freeze gate filled; launch lock still Aug 3 12:00 until founder re-lock",
 
 
 
 
 
83
  "uploaded_paths": [
84
- "README.md",
85
- "LAUNCH_AUG3.md",
86
- "SHA256SUMS",
87
- ".gitignore",
88
- "results/launch_lock.json",
89
- "results/measured.json",
90
  "results/MEASURED.md",
91
- "results/agent_smoke.json",
92
- "results/hermes_agent_smoke.json",
93
- "results/freeze_notes_2026-07-29.md",
94
- "results/freeze_readiness_2026-07-29_accel.json",
95
- "results/freeze_gate_model_card_lock_set_2026-07-29.json",
96
- "results/xs_mac_track_lock.json"
97
- ]
98
  }
 
1
  {
2
  "repo_id": "hizrianraz/Laguna-S-2.1-Spark-Agentic",
3
  "url": "https://huggingface.co/hizrianraz/Laguna-S-2.1-Spark-Agentic",
4
+ "commit": "57aa78584ad62ed5c75c0cf8b158aebb70b26da8",
5
+ "latest_commit": "57aa78584ad62ed5c75c0cf8b158aebb70b26da8",
6
+ "local_git_head": "63488eccb16efbaf670aabee31b22faa662aab2c",
7
  "private": false,
8
  "siblings": [
9
  ".gitattributes",
 
28
  "hermes/README.md",
29
  "hermes/sample_client.py",
30
  "prompts/_mirror/README-SPARK-HIZRIANRAZ.md",
31
+ "prompts/chatgpt-analyze-laguna-s-2026-07-29.md",
32
  "prompts/chatgptwork-laguna-s-plus-xs-2026-07-28.md",
33
+ "prompts/claude-analyze-laguna-s-2026-07-29.md",
34
  "prompts/claudecowork-laguna-s-plus-xs-2026-07-28.md",
35
  "research/Laguna-XS-2.1-Mac-Agentic-fit-2026-07-28.md",
36
  "research/agentic-quant-hermes-hf-trending-2026-07-28.md",
 
41
  "research/quant-comparison-scoreboard-2026-07-28.md",
42
  "research/roadmap-dual-s-and-xs-2026-07-28.md",
43
  "results/.gitkeep",
44
+ "results/LAST_GREEN_PIN.md",
45
  "results/MEASURED.md",
46
+ "results/accel_receipts_2026-07-29.md",
47
  "results/agent_smoke.json",
48
  "results/agent_smoke.log",
49
+ "results/baseline_rehealth_2026-07-29.md",
50
+ "results/dflash_2026-07-29/STATUS.md",
51
+ "results/dflash_2026-07-29/measured.json",
52
+ "results/dflash_2026-07-29/meta.txt",
53
+ "results/dflash_2026-07-29/models.json",
54
+ "results/dflash_2026-07-29/server_bench.json",
55
+ "results/dflash_2026-07-29/throughput.json",
56
  "results/dual_audit_consolidation_2026-07-28.md",
57
  "results/engine_sha.txt",
58
  "results/freeze_gate_model_card_lock_set_2026-07-29.json",
 
68
  "results/sku_unsloth-ud-iq3-s/agent_smoke.json",
69
  "results/sku_unsloth-ud-iq3-s/agent_smoke.log",
70
  "results/sku_unsloth-ud-iq3-s/sku_meta.json",
71
+ "results/stranger_path_dry_2026-07-29.md",
72
+ "results/three_jury_post_dflash_2026-07-29.md",
73
  "results/xs_mac_track_lock.json",
74
  "scripts/_stamp_accel_receipts.py",
75
  "scripts/bench_server.py",
 
77
  "scripts/pull_sku.sh",
78
  "scripts/serve_spark.sh"
79
  ],
80
+ "n_files": 70,
81
  "launch_locked": true,
82
  "launch_at_wib": "2026-08-03T12:00:00+07:00",
83
  "freeze_at_wib": "2026-08-02T18:00:00+07:00",
84
  "freeze_gate_status": "filled",
85
  "freeze_gate_receipt": "results/freeze_gate_model_card_lock_set_2026-07-29.json",
86
  "measure_tip_pack_git": "bf82eab5fd6c1fb04e863f0c4b05b5658dec4aee",
87
+ "docs_pack_git_head_at_packet": "63488eccb16efbaf670aabee31b22faa662aab2c",
88
  "measured_json_on_hf": true,
89
  "agent_smoke_on_hf": true,
90
  "hermes_agent_smoke_on_hf": true,
91
+ "dflash_status_on_hf": true,
92
+ "last_green_pin_on_hf": true,
93
+ "analyze_prompts_on_hf": true,
94
  "freeze_gate_on_hf": true,
 
95
  "launch_lock_on_hf": true,
96
  "readme_on_hf": true,
97
+ "jury_md_on_hf": true,
98
+ "jury_json_on_hf": false,
99
+ "jury_json_policy": "local_and_github_only_by_pack_gitignore_design",
100
+ "spark_ngl_fix_on_hf": true,
101
+ "scoreboard_dualgen_fix_on_hf": true,
102
+ "updated_at_wib": "2026-07-29T16:20:55+07:00",
103
+ "note": "docs tip after jury fix rev2; SPARK -ngl -1 + dual-gen close on HF; three_jury JSON intentionally not public (gitignore); MD jury GO is public; weights untouched; DFlash DO_NOT_PROMOTE; launch Aug 3 12:00 local",
104
  "uploaded_paths": [
105
+ "SPARK.md",
106
+ "research/quant-comparison-scoreboard-2026-07-28.md",
107
+ "results/stranger_path_dry_2026-07-29.md",
108
+ "results/three_jury_post_dflash_2026-07-29.md",
109
+ "results/LAST_GREEN_PIN.md",
 
110
  "results/MEASURED.md",
111
+ "LAUNCH_AUG3.md"
112
+ ],
113
+ "upload_return": "https://huggingface.co/hizrianraz/Laguna-S-2.1-Spark-Agentic/commit/57aa78584ad62ed5c75c0cf8b158aebb70b26da8",
114
+ "jury_overall": "GO_PASS_CONTINUE_PREP"
 
 
 
115
  }
results/launch_lock.json CHANGED
@@ -26,7 +26,7 @@
26
  "hermes_agent_smoke_artifact": "results/hermes_agent_smoke.json",
27
  "hermes_agent_smoke_runner_sha256": "20c1e52a8a22306b81309c08984d6875cfff46e7382a46b674c1a6345030293b",
28
  "quote_gen_tok_s": 21.47,
29
- "quote_gen_label": "gen128 @ 128 completion \u00b7 multi_throughput",
30
  "measured_json": "results/measured.json",
31
  "measured_md": "results/MEASURED.md",
32
  "multi_device_track": "unlocked_pointer_docs",
@@ -34,8 +34,8 @@
34
  "iq3_not_headline": true,
35
  "weight_host": "dgx-spark-only",
36
  "weight_host_lock": "2026-07-28-spark-only",
37
- "founder_mac": "client-only-no-local-weights",
38
- "founder_mac_ram_class_gb": 32,
39
  "diy_gguf": false,
40
  "branding": "personal-only",
41
  "public_promo_before_launch": false,
@@ -54,12 +54,12 @@
54
  "results/MEASURED.md",
55
  "results/measured.json",
56
  "SHA256SUMS",
57
- "results/xs_mac_track_lock.json",
58
  "results/freeze_readiness_2026-07-29_accel.json",
59
  "results/freeze_gate_model_card_lock_set_2026-07-29.json"
60
  ],
61
  "measure_pack_git_head": "bf82eab5fd6c1fb04e863f0c4b05b5658dec4aee",
62
  "measure_pack_git_short": "bf82eab",
63
  "docs_pack_git_head_at_fill": "8ccc4536f4628791bd5fcb20e2e69e0e0bd187f4",
64
- "docs_note": "measure tip sticks at bf82eab (smoke/weights unchanged); docs tip moves with builds"
 
65
  }
 
26
  "hermes_agent_smoke_artifact": "results/hermes_agent_smoke.json",
27
  "hermes_agent_smoke_runner_sha256": "20c1e52a8a22306b81309c08984d6875cfff46e7382a46b674c1a6345030293b",
28
  "quote_gen_tok_s": 21.47,
29
+ "quote_gen_label": "gen128 @ 128 completion \u00b7 measured.json multi suite",
30
  "measured_json": "results/measured.json",
31
  "measured_md": "results/MEASURED.md",
32
  "multi_device_track": "unlocked_pointer_docs",
 
34
  "iq3_not_headline": true,
35
  "weight_host": "dgx-spark-only",
36
  "weight_host_lock": "2026-07-28-spark-only",
37
+ "mac_le_32g": "client-only-no-local-weights",
38
+ "mac_le_32g_ram_class_gb": 32,
39
  "diy_gguf": false,
40
  "branding": "personal-only",
41
  "public_promo_before_launch": false,
 
54
  "results/MEASURED.md",
55
  "results/measured.json",
56
  "SHA256SUMS",
 
57
  "results/freeze_readiness_2026-07-29_accel.json",
58
  "results/freeze_gate_model_card_lock_set_2026-07-29.json"
59
  ],
60
  "measure_pack_git_head": "bf82eab5fd6c1fb04e863f0c4b05b5658dec4aee",
61
  "measure_pack_git_short": "bf82eab",
62
  "docs_pack_git_head_at_fill": "8ccc4536f4628791bd5fcb20e2e69e0e0bd187f4",
63
+ "docs_note": "measure tip sticks at bf82eab (smoke/weights unchanged); docs tip moves with builds. S freeze lock_set is S-only; XS parallel track is separate prepared_research pointer, not a freeze hash input. Rehash lock_set artifacts at freeze on clean pushed HEAD.",
64
+ "lock_set_policy": "s_only_rehash_at_freeze"
65
  }
results/measured.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "ts": 1785306125.3880131,
3
- "host": "Hizrian-Razs-DGX-Spark",
4
  "engine": "poolsideai/llama.cpp 04b2b72",
5
  "model": "laguna-s-2.1-Q4_K_M.gguf",
6
  "sha256": "a8b55c75714ea73fd90ec85de5defdc0b8d88ca0ad2108343cdd8fc22f7583e4",
@@ -54,7 +54,7 @@
54
  "temperature": 0.0,
55
  "model": "local-laguna",
56
  "base_url": "http://127.0.0.1:8000/v1",
57
- "host": "Hizrian-Razs-DGX-Spark",
58
  "out": "results/agent_smoke.json",
59
  "runner_sha256": "3bb81080879ddf78d3d6295e333c78b1ecc1d84ba5a9e9dc19a0e677f54da48f",
60
  "run_manifest_schema": "laguna.run_manifest/v1",
@@ -66,7 +66,7 @@
66
  "temperature": 0.0,
67
  "model": "local-laguna",
68
  "base_url": "http://127.0.0.1:8000/v1",
69
- "host": "Hizrian-Razs-DGX-Spark",
70
  "out": "results/hermes_agent_smoke.json",
71
  "runner_sha256": "20c1e52a8a22306b81309c08984d6875cfff46e7382a46b674c1a6345030293b",
72
  "run_manifest_schema": "laguna.run_manifest/v1",
 
1
  {
2
  "ts": 1785306125.3880131,
3
+ "host": "dgx-spark",
4
  "engine": "poolsideai/llama.cpp 04b2b72",
5
  "model": "laguna-s-2.1-Q4_K_M.gguf",
6
  "sha256": "a8b55c75714ea73fd90ec85de5defdc0b8d88ca0ad2108343cdd8fc22f7583e4",
 
54
  "temperature": 0.0,
55
  "model": "local-laguna",
56
  "base_url": "http://127.0.0.1:8000/v1",
57
+ "host": "dgx-spark",
58
  "out": "results/agent_smoke.json",
59
  "runner_sha256": "3bb81080879ddf78d3d6295e333c78b1ecc1d84ba5a9e9dc19a0e677f54da48f",
60
  "run_manifest_schema": "laguna.run_manifest/v1",
 
66
  "temperature": 0.0,
67
  "model": "local-laguna",
68
  "base_url": "http://127.0.0.1:8000/v1",
69
+ "host": "dgx-spark",
70
  "out": "results/hermes_agent_smoke.json",
71
  "runner_sha256": "20c1e52a8a22306b81309c08984d6875cfff46e7382a46b674c1a6345030293b",
72
  "run_manifest_schema": "laguna.run_manifest/v1",
results/sku_unsloth-ud-iq3-s/README.md CHANGED
@@ -14,7 +14,7 @@ Do not brand “same-harness vs Q4 40/40” until IQ3 re-runs on the fixed runne
14
  | bytes | 48428911520 (~45.1 Gi) |
15
  | Engine | poolside llama.cpp laguna `04b2b72` |
16
  | Serve | `:8000` briefly (Q4 stopped) · ctx 8192 · alias `local-laguna-iq3s` |
17
- | agent_smoke | **38/40 · 95% · 71s** (2026-07-28 20:10 WIB) |
18
  | fails | `repair_04`, `long_06` — same IDs as prior Q4 harness bugs; older runner |
19
  | ship gate | ≥ official−2 → **met** on runner that ran |
20
  | Q4 restored | yes, alias `local-laguna` on `:8000` after measure |
 
14
  | bytes | 48428911520 (~45.1 Gi) |
15
  | Engine | poolside llama.cpp laguna `04b2b72` |
16
  | Serve | `:8000` briefly (Q4 stopped) · ctx 8192 · alias `local-laguna-iq3s` |
17
+ | agent_smoke | **38/40 · 95% · 71s** (2026-07-28 20:10 local) |
18
  | fails | `repair_04`, `long_06` — same IDs as prior Q4 harness bugs; older runner |
19
  | ship gate | ≥ official−2 → **met** on runner that ran |
20
  | Q4 restored | yes, alias `local-laguna` on `:8000` after measure |
results/xs_mac_track_lock.json CHANGED
@@ -26,12 +26,12 @@
26
  "bytes": 66930226304,
27
  "gib": 62.334,
28
  "sha256": "d1d99abe30c37749ec1b1ae2681cec74caa550ac6243d2ea70b61b1ff9d187ca",
29
- "role": "non_fit_founder_mac"
30
  },
31
  "target_host": {
32
- "class": "founder_mac_le_32g",
33
  "live_studio": {
34
- "model": "Mac14,13",
35
  "ram_bytes": 34359738368,
36
  "ram_gb": 32
37
  },
@@ -48,17 +48,17 @@
48
  "agent_smoke_local": null,
49
  "hermes_smoke_local": null,
50
  "tps_local": null,
51
- "gate_before_any_claim": "same-harness agent_smoke on founder Mac + sha256 + host label"
52
  },
53
  "storage_policy": {
54
- "prefer_pull_volume": "/Volumes/HFR WD_BLACK SN850X/models/laguna-xs-2.1",
55
  "avoid_system_data_when_full": true,
56
  "system_data_free_gi_at_prep": 40,
57
- "do_not_pull_without_founder_go": true,
58
  "do_not_pull_bf16_on_mac": true
59
  },
60
  "namespace": {
61
- "notes_in_s_pack": "research/ only not S freeze artifact",
62
  "optional_future_surface": "hizrianraz/Laguna-XS-2.1-Mac-Agentic (not created)",
63
  "forbidden_aliases": [
64
  "S on Mac",
@@ -70,7 +70,7 @@
70
  "relation_to_s_pack": {
71
  "s_repo": "hizrianraz/Laguna-S-2.1-Spark-Agentic",
72
  "s_weight_host": "dgx-spark-only",
73
- "s_founder_mac": "client-only-no-local-weights",
74
  "s_freeze_wib": "2026-08-02T18:00:00+07:00",
75
  "s_launch_wib": "2026-08-03T12:00:00+07:00",
76
  "xs_launch_coupling": false,
@@ -79,14 +79,14 @@
79
  "honest_language": {
80
  "allowed": [
81
  "XS Q4_K_M is official ~19G GGUF for Laguna-XS-2.1",
82
- "founder Mac client still talks to Spark for full S",
83
  "XS is a separate 33B-A3B model"
84
  ],
85
  "forbidden": [
86
  "Laguna runs on Mac (unqualified)",
87
  "S on Mac via XS",
88
  "any unmeasured t/s or agent_smoke for XS",
89
- "Poolside public benches as founder measured bar",
90
  "BF16 / safetensors as Mac-local"
91
  ]
92
  },
 
26
  "bytes": 66930226304,
27
  "gib": 62.334,
28
  "sha256": "d1d99abe30c37749ec1b1ae2681cec74caa550ac6243d2ea70b61b1ff9d187ca",
29
+ "role": "non_fit_mac_le_32g"
30
  },
31
  "target_host": {
32
+ "class": "mac_le_32g_le_32g",
33
  "live_studio": {
34
+ "model": "Apple Silicon Mac",
35
  "ram_bytes": 34359738368,
36
  "ram_gb": 32
37
  },
 
48
  "agent_smoke_local": null,
49
  "hermes_smoke_local": null,
50
  "tps_local": null,
51
+ "gate_before_any_claim": "same-harness agent_smoke on Mac \u226432 GB + sha256 + host label"
52
  },
53
  "storage_policy": {
54
+ "prefer_pull_volume": "/path/to/external/models/laguna-xs-2.1",
55
  "avoid_system_data_when_full": true,
56
  "system_data_free_gi_at_prep": 40,
57
+ "do_not_pull_without_operator_go": true,
58
  "do_not_pull_bf16_on_mac": true
59
  },
60
  "namespace": {
61
+ "notes_in_s_pack": "research/ only \u2014 not S freeze artifact",
62
  "optional_future_surface": "hizrianraz/Laguna-XS-2.1-Mac-Agentic (not created)",
63
  "forbidden_aliases": [
64
  "S on Mac",
 
70
  "relation_to_s_pack": {
71
  "s_repo": "hizrianraz/Laguna-S-2.1-Spark-Agentic",
72
  "s_weight_host": "dgx-spark-only",
73
+ "s_mac_le_32g": "client-only-no-local-weights",
74
  "s_freeze_wib": "2026-08-02T18:00:00+07:00",
75
  "s_launch_wib": "2026-08-03T12:00:00+07:00",
76
  "xs_launch_coupling": false,
 
79
  "honest_language": {
80
  "allowed": [
81
  "XS Q4_K_M is official ~19G GGUF for Laguna-XS-2.1",
82
+ "Mac \u226432 GB client still talks to Spark for full S",
83
  "XS is a separate 33B-A3B model"
84
  ],
85
  "forbidden": [
86
  "Laguna runs on Mac (unqualified)",
87
  "S on Mac via XS",
88
  "any unmeasured t/s or agent_smoke for XS",
89
+ "Poolside public benches as independently measured bar",
90
  "BF16 / safetensors as Mac-local"
91
  ]
92
  },
scripts/_stamp_accel_receipts.py CHANGED
@@ -10,7 +10,7 @@ import time
10
  from datetime import datetime, timedelta, timezone
11
  from pathlib import Path
12
 
13
- WIB = timezone(timedelta(hours=7))
14
 
15
 
16
  def sha_file(p: Path) -> str:
@@ -45,7 +45,7 @@ def summary_from(obj: dict, fallback_pass: str, fallback_el: float):
45
 
46
  def main() -> None:
47
  root = Path(__file__).resolve().parents[1]
48
- now = datetime.now(WIB)
49
  agent = json.loads((root / "results/agent_smoke.json").read_text())
50
  hermes = json.loads((root / "results/hermes_agent_smoke.json").read_text())
51
  server = json.loads((root / "results/server_bench.json").read_text())
@@ -130,7 +130,7 @@ def main() -> None:
130
  lines = [
131
  f"# Laguna-S-2.1 on DGX Spark — measured {day}",
132
  "",
133
- "personal Spark measurement note — accel multi-bench",
134
  "",
135
  "## Stamp",
136
  f"- When: **{stamp}**",
@@ -177,7 +177,7 @@ def main() -> None:
177
  "## Locks held",
178
  "- diy_gguf: false",
179
  "- weight_host: Spark-only",
180
- "- founder Mac: client-only",
181
  "- public_promo_before_launch: false",
182
  "- XS not in S freeze",
183
  "",
 
10
  from datetime import datetime, timedelta, timezone
11
  from pathlib import Path
12
 
13
+ local = timezone(timedelta(hours=7))
14
 
15
 
16
  def sha_file(p: Path) -> str:
 
45
 
46
  def main() -> None:
47
  root = Path(__file__).resolve().parents[1]
48
+ now = datetime.now(local)
49
  agent = json.loads((root / "results/agent_smoke.json").read_text())
50
  hermes = json.loads((root / "results/hermes_agent_smoke.json").read_text())
51
  server = json.loads((root / "results/server_bench.json").read_text())
 
130
  lines = [
131
  f"# Laguna-S-2.1 on DGX Spark — measured {day}",
132
  "",
133
+ "Spark measurement note — accel multi-bench",
134
  "",
135
  "## Stamp",
136
  f"- When: **{stamp}**",
 
177
  "## Locks held",
178
  "- diy_gguf: false",
179
  "- weight_host: Spark-only",
180
+ "- Mac ≤32 GB: client-only",
181
  "- public_promo_before_launch: false",
182
  "- XS not in S freeze",
183
  "",
scripts/measure_layer_b_v3.sh ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env bash
2
+ # Run Layer B hermes v3 suite against a live captain serve.
3
+ # Does NOT start GPU/weights. Does NOT rewrite launch_lock.json.
4
+ # Fail-closed if /v1/models is down.
5
+ set -euo pipefail
6
+
7
+ ROOT="$(cd "$(dirname "$0")/.." && pwd)"
8
+ BASE_URL="${OPENAI_BASE_URL:-http://127.0.0.1:8000/v1}"
9
+ BASE_URL="${BASE_URL%/}"
10
+ MODEL="${OPENAI_MODEL:-local-laguna}"
11
+ OUT="${LAGUNA_LAYER_B_OUT:-$ROOT/results/hermes_agent_smoke_layer_b_v3.json}"
12
+ CASES="$ROOT/eval/hermes_agent_smoke/cases_layer_b_v3.json"
13
+ UA="${LAGUNA_UA:-laguna-layer-b-measure/0.1}"
14
+
15
+ echo "pack=$ROOT"
16
+ echo "base_url=$BASE_URL model=$MODEL"
17
+ echo "cases=$CASES"
18
+ echo "out=$OUT"
19
+
20
+ if [[ ! -f "$CASES" ]]; then
21
+ echo "missing cases: $CASES" >&2
22
+ exit 2
23
+ fi
24
+
25
+ echo "probe /models …"
26
+ code="$(curl -sS -m 8 -o /tmp/laguna_models_probe.json -w '%{http_code}' \
27
+ -H "User-Agent: ${UA}" \
28
+ -H "Authorization: Bearer ${OPENAI_API_KEY:-sk-local}" \
29
+ "${BASE_URL}/models" || true)"
30
+ if [[ "$code" != "200" ]]; then
31
+ echo "serve down (HTTP ${code:-curl-fail}) at ${BASE_URL}/models" >&2
32
+ echo "restore on Spark first:" >&2
33
+ echo " ./scripts/serve_spark.sh" >&2
34
+ echo " # or LAST_GREEN_PIN restore block" >&2
35
+ exit 3
36
+ fi
37
+ echo "models ok: $(head -c 180 /tmp/laguna_models_probe.json)"
38
+ echo
39
+
40
+ python3 "$ROOT/eval/hermes_agent_smoke/run_hermes_smoke.py" \
41
+ --base-url "$BASE_URL" \
42
+ --model "$MODEL" \
43
+ --cases "$CASES" \
44
+ --temperature 0 \
45
+ --out "$OUT"
46
+
47
+ echo
48
+ echo "wrote $OUT"
49
+ if command -v python3 >/dev/null; then
50
+ OUT="$OUT" python3 - <<'PY'
51
+ import json, os
52
+ from pathlib import Path
53
+ p = Path(os.environ["OUT"])
54
+ d = json.loads(p.read_text())
55
+ n = d.get("passed", d.get("n_pass", d.get("n_ok", "?")))
56
+ t = d.get("n", d.get("n_total", d.get("total", "?")))
57
+ if (n == "?" or t == "?") and isinstance(d.get("results"), list):
58
+ cases = d["results"]
59
+ t = len(cases)
60
+ n = sum(1 for c in cases if c.get("pass") or c.get("ok") or c.get("passed"))
61
+ elif (n == "?" or t == "?") and isinstance(d.get("cases"), list):
62
+ cases = d["cases"]
63
+ t = len(cases)
64
+ n = sum(1 for c in cases if c.get("pass") or c.get("ok") or c.get("passed"))
65
+ print(f"summary: {n}/{t} (freeze bar unchanged: hermes v2 27/27 + agent_smoke 40/40)")
66
+ print("do not rewrite launch_lock.json from this artifact")
67
+ PY
68
+ fi
scripts/pull_official_gguf.sh CHANGED
@@ -15,7 +15,7 @@ if [[ ! -f "${SUMS}" ]]; then
15
  exit 2
16
  fi
17
 
18
- # Pack format: sha256 byte_size filename (3-column). Accept 2-col sha256sum too.
19
  expected="$(
20
  awk -v f="${FILE}" '
21
  $0 ~ /^[[:space:]]*#/ { next }
 
15
  exit 2
16
  fi
17
 
18
+ # Pack format: GNU sha256sum 2-column (sha256 filename). Comments OK. awk accepts legacy 3-col too.
19
  expected="$(
20
  awk -v f="${FILE}" '
21
  $0 ~ /^[[:space:]]*#/ { next }
scripts/serve_spark.sh CHANGED
@@ -1,6 +1,6 @@
1
  #!/usr/bin/env bash
2
  # Serve official Laguna-S-2.1 GGUF on DGX Spark via poolside llama.cpp (laguna).
3
- # personal DGX Spark serve helper
4
  set -euo pipefail
5
 
6
  ROOT="${LAGUNA_ENGINE:-$HOME/src/llama.cpp-laguna}"
 
1
  #!/usr/bin/env bash
2
  # Serve official Laguna-S-2.1 GGUF on DGX Spark via poolside llama.cpp (laguna).
3
+ # DGX Spark serve helper
4
  set -euo pipefail
5
 
6
  ROOT="${LAGUNA_ENGINE:-$HOME/src/llama.cpp-laguna}"