docs(public): professional cards, PII-clean measured surface, exclusive research/prompts off HF
Browse files- LAUNCH_AUG3.md +23 -25
- NOTICE +3 -3
- README.md +246 -118
- SHA256SUMS +5 -20
- SPARK.md +10 -8
- docs/BUILD_SPARK.md +9 -4
- docs/REPRODUCE.md +20 -5
- docs/WEIGHTS_LOCAL.md +2 -2
- docs/rename_Agentic_20260729T135518_wib.json +1 -1
- eval/agent_smoke/README.md +1 -1
- eval/agent_smoke/cases.json +2 -2
- eval/agent_smoke/run_smoke.py +1 -1
- eval/hermes_agent_smoke/README.md +69 -19
- eval/hermes_agent_smoke/run_hermes_smoke.py +4 -4
- eval/smoke_viewer.html +137 -0
- hermes/README.md +56 -9
- hermes/config.example.yaml +50 -0
- prompts/_mirror/README-SPARK-HIZRIANRAZ.md +0 -11
- prompts/chatgpt-analyze-laguna-s-2026-07-29.md +0 -122
- prompts/chatgptwork-laguna-s-plus-xs-2026-07-28.md +0 -84
- prompts/claude-analyze-laguna-s-2026-07-29.md +0 -148
- prompts/claudecowork-laguna-s-plus-xs-2026-07-28.md +0 -86
- research/Laguna-XS-2.1-Mac-Agentic-fit-2026-07-28.md +0 -110
- research/agentic-quant-hermes-hf-trending-2026-07-28.md +0 -234
- research/device-quant-matrix-aug3.md +0 -118
- research/laguna-xs-2.1-mac-fit-2026-07-28.md +0 -110
- research/phone-bonsai-ios-android-2026-07-28.md +0 -284
- research/post-freeze-smaller-device-path.md +0 -74
- research/quant-comparison-scoreboard-2026-07-28.md +0 -112
- research/roadmap-dual-s-and-xs-2026-07-28.md +0 -106
- results/LAST_GREEN_PIN.md +2 -2
- results/MEASURED.md +3 -3
- results/agent_smoke.json +2 -2
- results/freeze_gate_model_card_lock_set_2026-07-29.json +23 -19
- results/freeze_notes_2026-07-29.md +15 -7
- results/freeze_readiness_2026-07-29_accel.json +2 -2
- results/hermes_agent_smoke.json +1 -1
- results/hf_publish.json +37 -20
- results/launch_lock.json +5 -5
- results/measured.json +3 -3
- results/sku_unsloth-ud-iq3-s/README.md +1 -1
- results/xs_mac_track_lock.json +10 -10
- scripts/_stamp_accel_receipts.py +4 -4
- scripts/measure_layer_b_v3.sh +68 -0
- scripts/pull_official_gguf.sh +1 -1
- 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:
|
| 7 |
|
| 8 |
## Freeze window
|
| 9 |
|
| 10 |
| When | Action |
|
| 11 |
|------|--------|
|
| 12 |
-
| Now → Aug 2 18:00
|
| 13 |
-
| Aug 2 18:00
|
| 14 |
-
| Aug 3 09:00
|
| 15 |
-
| Aug 3 12:00
|
| 16 |
-
| Aug 3 18:00
|
| 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
|
| 28 |
-
7. Gen throughput quote: **~21.47 tok/s** @ 128 completion
|
| 29 |
-
8. Clear disclaimer:
|
| 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 +
|
| 33 |
|
| 34 |
## Live tip (binding until weights/runners change)
|
| 35 |
|
| 36 |
| Field | Value |
|
| 37 |
|-------|--------|
|
| 38 |
-
|
|
| 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
|
| 56 |
- XS inside S freeze artifact
|
| 57 |
|
| 58 |
-
## Daily clock (
|
| 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 |
|
| 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
|
| 76 |
|
| 77 |
## Announce text (draft — edits OK)
|
| 78 |
|
| 79 |
-
>
|
| 80 |
> https://huggingface.co/hizrianraz/Laguna-S-2.1-Spark-Agentic
|
| 81 |
|
| 82 |
## Authority
|
| 83 |
|
| 84 |
-
|
| 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 |
-
-
|
| 96 |
-
- No bulk third-party LFS rehost; no public promo before Aug 3 12:00
|
| 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 |
-
- **
|
|
|
|
| 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
|
|
|
|
| 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 Silicon ≤32 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 Silicon ≤32 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
|
| 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):
|
| 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.
|
|
|
|
| 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
|
| 20 |
-
|
|
|
|
| 21 |
|
| 22 |
-
|
|
|
|
|
|
|
|
|
|
| 23 |
|
| 24 |
-
|
| 25 |
|
| 26 |
-
|
| 27 |
|
| 28 |
-
|
| 29 |
|
| 30 |
-
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
|
| 37 |
## License
|
| 38 |
|
| 39 |
-
Base model and derivatives
|
| 40 |
-
|
| 41 |
-
|
|
|
|
| 42 |
|
| 43 |
-
|
|
|
|
|
|
|
| 44 |
|
| 45 |
## Base identity (pinned)
|
| 46 |
|
| 47 |
| Field | Value |
|
| 48 |
|-------|--------|
|
| 49 |
-
| Base | `poolside/Laguna-S-2.1` |
|
| 50 |
-
| Base revision
|
| 51 |
-
|
|
| 52 |
-
| Official GGUF repo | `poolside/Laguna-S-2.1-GGUF`
|
| 53 |
-
|
|
|
|
|
| 54 |
| Optional denser | official `laguna-s-2.1-Q8_0.gguf` |
|
| 55 |
-
|
|
| 56 |
-
| llama.cpp fork | `poolsideai/llama.cpp` branch `laguna` (DFlash + Laguna). Upstream PR trail: ggml-org/llama.cpp#25165 |
|
| 57 |
|
| 58 |
-
### Official GGUF
|
| 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 |
-
|
| 69 |
|
| 70 |
```bash
|
| 71 |
-
|
|
|
|
|
|
|
| 72 |
```
|
| 73 |
|
| 74 |
-
|
|
|
|
|
|
|
| 75 |
|
| 76 |
| Goal | Artifact | Notes |
|
| 77 |
|------|----------|-------|
|
| 78 |
-
| Default agent serve
|
| 79 |
-
|
|
| 80 |
-
|
|
| 81 |
-
|
|
| 82 |
-
|
|
| 83 |
-
|
|
| 84 |
-
|
|
| 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 |
-
|
|
|
|
| 90 |
|
| 91 |
```bash
|
| 92 |
./scripts/pull_sku.sh official-q4km
|
| 93 |
-
./scripts/pull_sku.sh unsloth-ud-
|
| 94 |
-
./scripts/pull_sku.sh unsloth-ud-iq3-s # ~48 GB third-party
|
| 95 |
```
|
| 96 |
|
| 97 |
-
Device ladder
|
| 98 |
|
| 99 |
-
|
| 100 |
-
|
| 101 |
|
| 102 |
-
##
|
| 103 |
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 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 |
-
|
| 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 |
-
|
| 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 |
-
#
|
| 128 |
-
|
| 129 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 130 |
|
| 131 |
-
|
|
|
|
|
|
|
|
|
|
| 132 |
python eval/hermes_agent_smoke/run_hermes_smoke.py \
|
| 133 |
-
--base-url
|
| 134 |
--out results/hermes_agent_smoke.json
|
| 135 |
```
|
| 136 |
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
|
|
|
| 142 |
|
| 143 |
-
|
|
|
|
| 144 |
|
| 145 |
-
|
| 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 |
-
|
| 151 |
-
|
|
|
|
|
|
|
|
|
|
| 152 |
|
| 153 |
-
|
| 154 |
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
|
|
| 160 |
-
|
|
| 161 |
-
|
|
| 162 |
-
|
|
| 163 |
-
|
| 164 |
-
|
| 165 |
-
|
| 166 |
-
|
|
| 167 |
-
|
|
| 168 |
-
|
| 169 |
-
|
| 170 |
-
|
| 171 |
-
|
| 172 |
-
|
| 173 |
-
|
| 174 |
-
|
| 175 |
-
|
| 176 |
-
|
| 177 |
-
|
| 178 |
-
|
| 179 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 180 |
|
| 181 |
## Attribution
|
| 182 |
|
| 183 |
-
|
| 184 |
-
-
|
| 185 |
-
|
| 186 |
-
|
|
|
|
|
|
|
| 187 |
|
| 188 |
## Disclaimer
|
| 189 |
|
| 190 |
-
Independent
|
| 191 |
-
|
| 192 |
-
## Quant comparison (same-family)
|
| 193 |
|
| 194 |
-
-
|
| 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-
|
| 2 |
-
#
|
| 3 |
-
#
|
| 4 |
-
#
|
| 5 |
-
|
| 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
|
|
|
|
|
|
|
| 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.
|
| 180 |
-
| gen8 short | — |
|
| 181 |
-
| ctx 8k + DFlash (`draft-dflash`) | 2k 2.253s · 8k 5.556s | **15.286** @ 128 gen | higher (draft+target) | **DO_NOT_PROMOTE**
|
| 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 | **
|
| 188 |
-
| hermes_agent_smoke v2 | Q4_K_M | **27/27 · 100%** | 27 | **
|
| 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
|
| 14 |
|
| 15 |
-
`common/speculative.cpp` calls `std::isfinite`. On Spark GNU 13.3 that can fail even with `#include <cmath>`
|
| 16 |
|
| 17 |
-
|
|
|
|
|
|
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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/
|
| 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 ≤
|
| 16 |
|
| 17 |
-
Full S weights: **do not** land on
|
| 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": "
|
| 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
|
| 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
|
| 1803 |
},
|
| 1804 |
{
|
| 1805 |
"role": "user",
|
| 1806 |
-
"content": "Write sandbox/brand.txt content '
|
| 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 |
-
|
| 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
|
| 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 |
-
##
|
| 10 |
|
| 11 |
-
|
|
| 12 |
-
|-------|--------|
|
| 13 |
-
|
|
| 14 |
-
|
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
|
|
|
| 18 |
|
| 19 |
-
|
| 20 |
|
| 21 |
-
##
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
| Field | Value |
|
| 24 |
|-------|--------|
|
| 25 |
-
| Result | **27/27 (100%)** |
|
| 26 |
-
| Elapsed | **104
|
| 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
|
| 32 |
|
| 33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
|
| 35 |
## Run
|
| 36 |
|
| 37 |
```bash
|
| 38 |
-
#
|
| 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 |
-
|
|
|
|
|
|
|
| 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 |
-
|
| 55 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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
|
| 3 |
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
not a Nous
|
| 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 #
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
|
| 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).
|
| 88 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
-
|
|
| 16 |
| Serve | `-c 8192 -ngl -1 --parallel 1 --alias local-laguna --jinja -fa on` |
|
| 17 |
-
| Evidence | `results/MEASURED.md`, `results/launch_lock.json`, `results/
|
| 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 |
-
|
| 4 |
|
| 5 |
## Stamp
|
| 6 |
- When: **2026-07-29 13:22:05 UTC+07:00**
|
| 7 |
-
- Host:
|
| 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 |
-
-
|
| 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\":\"
|
| 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": "
|
| 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": "
|
| 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": "
|
| 26 |
-
"bytes":
|
| 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": "
|
| 41 |
-
"bytes":
|
| 42 |
},
|
| 43 |
"results/launch_lock.json": {
|
| 44 |
-
"sha256": "
|
| 45 |
-
"bytes":
|
| 46 |
},
|
| 47 |
"results/MEASURED.md": {
|
| 48 |
-
"sha256": "
|
| 49 |
-
"bytes":
|
| 50 |
},
|
| 51 |
"results/measured.json": {
|
| 52 |
"sha256": "878baffe0f8da0fdc756060d6c65a79177bdd61fb2476270907a0bc5aeb96380",
|
| 53 |
"bytes": 3008
|
| 54 |
},
|
| 55 |
"SHA256SUMS": {
|
| 56 |
-
"sha256": "
|
| 57 |
-
"bytes":
|
| 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": "
|
| 69 |
-
"bytes":
|
| 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 |
-
"
|
| 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
|
| 9 |
-
- HF go-live: **2026-08-03 12:00
|
| 10 |
|
| 11 |
## Live tip bound into card + locks
|
| 12 |
|
|
@@ -23,7 +23,7 @@
|
|
| 23 |
|
| 24 |
- diy_gguf: false
|
| 25 |
- weight_host: Spark-only
|
| 26 |
-
-
|
| 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
|
| 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
|
| 39 |
-
6. Public go-live **2026-08-03 12:00
|
| 40 |
|
| 41 |
## Non-actions
|
| 42 |
|
| 43 |
- No accidental freeze today
|
| 44 |
-
- No public promo before Aug 3 12:00
|
| 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 |
-
"
|
| 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
|
| 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": "
|
| 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": "
|
| 5 |
-
"latest_commit": "
|
| 6 |
-
"local_git_head": "
|
| 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":
|
| 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 |
-
"
|
| 82 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 83 |
"uploaded_paths": [
|
| 84 |
-
"
|
| 85 |
-
"
|
| 86 |
-
"
|
| 87 |
-
".
|
| 88 |
-
"results/
|
| 89 |
-
"results/measured.json",
|
| 90 |
"results/MEASURED.md",
|
| 91 |
-
"
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 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
|
| 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 |
-
"
|
| 38 |
-
"
|
| 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": "
|
| 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": "
|
| 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": "
|
| 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
|
| 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": "
|
| 30 |
},
|
| 31 |
"target_host": {
|
| 32 |
-
"class": "
|
| 33 |
"live_studio": {
|
| 34 |
-
"model": "
|
| 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
|
| 52 |
},
|
| 53 |
"storage_policy": {
|
| 54 |
-
"prefer_pull_volume": "/
|
| 55 |
"avoid_system_data_when_full": true,
|
| 56 |
"system_data_free_gi_at_prep": 40,
|
| 57 |
-
"
|
| 58 |
"do_not_pull_bf16_on_mac": true
|
| 59 |
},
|
| 60 |
"namespace": {
|
| 61 |
-
"notes_in_s_pack": "research/ only
|
| 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 |
-
"
|
| 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 |
-
"
|
| 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
|
| 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 |
-
|
| 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(
|
| 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 |
-
"
|
| 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 |
-
"-
|
| 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
|
| 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 |
-
#
|
| 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}"
|