# Laguna XS 2.1 Q4_K_M - live fleet bench + teamwork games (B70)

Model: **poolside/Laguna-XS-2.1-GGUF**, **Q4_K_M**, official GGUF. Laguna XS 2.1 is a 33B total parameter
MoE with 3B activated parameters per token. Run on a single **Intel Arc Pro B70** with llama.cpp SYCL,
`-ngl 99 -fa on -ctk/-ctv q8_0 -b 8192 -ub 4096`, `GGML_SYCL_DISABLE_DNN=1`.

Run date **2026-07-05 (America/Chicago)**. Served on **:8092**. Live bench used `-np 32 -c 131072`; games
used `-np 6 -c 262144`. The model was warmed up before measured runs. Artifacts:

- Raw run output: `results/20260705_laguna_xs21_q4/`
- Live TSV: `benchmarks/B70/data/laguna_xs21_q4_live_np32.tsv`
- Games and telemetry: `benchmarks/B70/games/laguna_xs21_q4_*.html|json`

## Setup notes

This was a vanilla model/quant run using Poolside's official Q4_K_M GGUF:

```text
/home/frosty40/models/Laguna-XS-2.1-GGUF/Laguna-XS-2.1-Q4_K_M.gguf
```

The server used the Laguna support branch required by Poolside while upstream llama.cpp support is landing:

```text
/home/frosty40/llama.cpp-laguna-xs21
branch: laguna-xs21-pr25165
build: 348fd3e6a
```

The GGUF-embedded chat template failed under this local server with `Unknown statement: include`, so the run
used the Laguna template from the same support branch:

```text
--jinja --chat-template-file /home/frosty40/llama.cpp-laguna-xs21/models/templates/laguna.jinja
```

## 1. Live agent-fleet bench, `-np 32 -c 131072`

Real OpenAI-compatible requests were fired simultaneously through `concurrent_agents.py`. Aggregate decode =
sum(generated tokens) / batch wall-clock; per-agent = mean server-side decode t/s for one agent. Thinking
was disabled via chat template kwargs. Generations capped at 256 tokens.

| class | prompt_n | agents | aggregate decode t/s | per-agent t/s | prefill t/s | batch wall s |
|---|---:|---:|---:|---:|---:|---:|
| tool | 127 | 1 | 63.71 | 88.36 | 338.98 | 1.41 |
| tool | 127 | 8 | 136.02 | 22.54 | 130.99 | 5.95 |
| tool | 127 | 16 | 183.13 | 13.31 | 106.23 | 8.91 |
| **tool** | 127 | **32** | **283.07** | 10.61 | 66.30 | 11.87 |
| structured | 446 | 32 | 161.40 | 6.37 | 91.28 | 42.43 |
| novel | 743 | 32 | 103.85 | 4.46 | 108.20 | 66.54 |

## 2. Teamwork build games

Canonical `agentic-arcade/teamwork` harness on `:8092`, **team 6 / merge-top 2 / 15-min**, thinking off,
served `-np 6 -c 262144`. Rounds are atomic, so a slow active round can overrun the nominal wall-clock.

| game | rounds | winner | final bytes | jsdom valid | assertions | wall s | notes |
|---|---:|---|---:|:--:|:--:|---:|---|
| **frogger** | 2 | merged | 14,196 | yes | 6/6 | 1362.1 | seed first try; 6/6 workers valid in both rounds |
| **maze** | 2 | merged | 18,440 | yes | 6/7 | 1805.5 | seed first try; 6/6 workers valid in both rounds |

Both final HTML artifacts validate cleanly with `teamwork/validate_game.js`.

## 3. Stability and boundary conditions

Before this controlled run, two machine resets were observed while loading Laguna in a contended environment.
Kernel history showed AMD MCE data-fabric sync-flood reset reasons, with AgentWorld also running on the B70.
For this run, AgentWorld was stopped before launching Laguna.

Post-run kernel log checks from the benchmark window found no new MCE, GPU reset, OOM, or segfault lines.
The final server was stopped cleanly and port `8092` was clear.

Only Q4_K_M was benchmarked here. The official Poolside GGUF repository currently provides BF16 and Q4_K_M
files; no official Q5 or Q8 GGUF was available locally for a vanilla comparison.

## Reproduce

```bash
source /opt/intel/oneapi/setvars.sh >/dev/null 2>&1
export GGML_SYCL_DISABLE_DNN=1 ONEAPI_DEVICE_SELECTOR=level_zero:gpu

/home/frosty40/llama.cpp-laguna-xs21/build-sycl/bin/llama-server \
  -m /home/frosty40/models/Laguna-XS-2.1-GGUF/Laguna-XS-2.1-Q4_K_M.gguf \
  --alias laguna-xs-2.1-q4km \
  -ngl 99 -fa on -ctk q8_0 -ctv q8_0 \
  -c 131072 -np 32 -b 8192 -ub 4096 \
  --host 127.0.0.1 --port 8092 \
  --jinja --chat-template-file /home/frosty40/llama.cpp-laguna-xs21/models/templates/laguna.jinja \
  --reasoning off

BENCH_URL=http://127.0.0.1:8092/v1/chat/completions \
  /home/frosty40/nx2-venv/bin/python /home/frosty40/qworld_turbo/bench/concurrent_agents.py \
  --out /home/frosty40/agentic-arcade/results/20260705_laguna_xs21_q4/live_np32/np32 \
  --gen 256 \
  --cells tool:0:1,tool:0:8,tool:0:16,tool:0:32,structured:0:32,novel:0:32
```

For games, restart the same server with `-np 6 -c 262144`, then run:

```bash
export NODE_PATH=/home/frosty40/.cache/teamwork-validator/node_modules

/home/frosty40/nx2-venv/bin/python /home/frosty40/agentic-arcade/teamwork/teamwork_build.py \
  --game frogger --base http://127.0.0.1:8092/v1 --model laguna-xs-2.1-q4km \
  --team 6 --merge-top 2 --minutes 15 \
  --validator /home/frosty40/agentic-arcade/teamwork/validate_game.js \
  --out /home/frosty40/agentic-arcade/results/20260705_laguna_xs21_q4/games/laguna_xs21_q4_frogger.html \
  --telemetry /home/frosty40/agentic-arcade/results/20260705_laguna_xs21_q4/games/laguna_xs21_q4_frogger.json
```
