MEMORY
memory/project-C--Dev--GEM-RobCo-AI/local-ai-delegation-verdict.md
sha256 3135f8463ef3acee · 2924 bytes ·
original held in the private archive
---
name: local-ai-delegation-verdict
description: REJECTED — a local Ollama/Qwen model as a RobCo audit delegate, binned in favour of ripgrep + Claude, with the evidence
metadata:
node_type: memory
type: project
originSessionId: b653ebe8-e1e7-4222-a042-c7e8716e36bc
---
Evaluated (2026-07-13) whether a local Ollama model (`qwen2.5-coder:7b`, and a custom `robco-auditor` built from it) on the ROG Ally could offload RobCo audit/retrieval work from the orchestrator.
**Verdict: BIN the local model; use ripgrep + Claude.** The evidence, measured on the machine:
- The ROG Ally has only **7.7 GB total RAM** (the BIOS carves most of it for the iGPU), CPU-only, no GPU offload. Free RAM hits 0 during runs — it swaps, and contends with Claude Code (~2 GB).
- Speed: prefill ~50 tok/s, generation 4–9 tok/s → **70–90 s per bounded task**, against ripgrep's ~0.18 s.
- Accuracy: on a simple "real `setInterval` calls vs comment mentions" classification it scored 75% precision/recall, including a **confident false positive**.
- Three-way test: `rg → Qwen → Claude` loses to `rg → Claude` on speed AND accuracy, and still needs full Claude verification at the end.
**The key build lesson** (the part that generalises beyond this hardware): the harness `qwen-investigate.js` (in `C:\Dev\!GEM\RobCo-AI`) does **mechanical citation verification** — but it only catches fabricated line numbers, NOT misclassification. A wrong claim that quotes a real line passes the check clean. You can mechanically enforce honesty about EVIDENCE; you cannot mechanically enforce honesty about REASONING.
The custom `robco-auditor` model was redundant — raw qwen through the harness gave byte-identical output — and was removed; the harness default is the base model.
Two smaller findings worth not re-deriving:
- `num_ctx` baked into a profile is honoured at runtime, and a per-call API `options.num_ctx` overrides it. Raising it costs RAM (roughly 5.1 / 5.5 / 5.9 GB at 4k / 8k / 16k), not per-task speed.
- The model **does** run concurrently with Claude Code — via pagefile swap, free RAM pinned at 0 — finishing in 79–92 s. It doesn't require closing the orchestrator; swapping is just why it's slow.
- Ollama dedupes weights: removing `robco-auditor` freed **1.3 KB, not 4.7 GB** (both models shared the same base blob). Don't claim disk or RAM reclamation from removing a SYSTEM/PARAMETER-only derived model.
**Why:** a 7B model on a CPU handheld sharing 7.7 GB with Claude costs more than it saves. ripgrep is exact, instant and free.
**How to apply:** don't route RobCo find/trace/classify work to the local model. Keep the harness as a shelved, safe wrapper. Only reconsider with a GPU or a real RAM upgrade — and even then only for offline large-log compression. The RobCo app repo (`C:\Dev\!GEM\Website version`) is read-only to this agent; see CLAUDE.md + `rules/` for the governing rule.
STAMP · generated for RELEASE v2.8.5 commit 06e5180 (06e51801b38a) · archive input-tree hash c07fbfbdd2e1ddeb · 754 files · no wall-clock timestamp (regenerates identically when nothing changed).