hiveloomdocs

Evaluations

Three checked-in evaluations live in evals/, each with its harnesses, scoring code, and committed results. They answer three different questions, and the answers are not the same. Harness value is measured per task and model, not assumed — it can be a rescue, a compliance floor, or nothing at all.

Task success by model, raw versus the same model inside a hiveloom harness

1. Does a harness rescue a weak model? (article-extractor)

The article-extractor benchmark evaluates 32 live URLs over three epochs (96 runs per arm). Raw and harness arms use the same prompt and fetch tool; the difference is the harness scaffolding.

Model / arm Task success Hallucination Cost per success p50 latency
Claude Haiku 4.5, raw 3% 96% $0.2212 5.8s
Claude Haiku 4.5 + hiveloom 65% 11% $0.0186 10.3s
Claude Sonnet 5, raw baseline 100% 0% $0.0073 6.4s
Qwen 3 4B, raw / harness 58% / 69% 19% / 16% local 3.9s / 6.3s
Qwen 3.6 35B, raw / harness 75% / 84% 16% / 0% local 13.5s / 16.4s
Gemma 4 12B, raw / harness 92% / 90% 1% / 0% local 26.2s / 9.3s

The Haiku harness gained 61.5 percentage points over raw Haiku and cut cost per successful result by 12×. Read the rest of the table before generalising from that: Haiku's is the only delta that survives a paired test over the 32 URLs (p < 0.0001). The three local models move by 10 points or less, which is noise at this sample size, and Gemma is slightly worse harnessed. Scaffolding rescues a model that cannot hold the output contract. It does not improve one that already can — and it did not beat raw Sonnet, which wins outright on both success and cost.

Hallucination is the more robust signal, because the effect sizes are large relative to the sample. Every output is checked verbatim against a re-fetch of the live page:

Hallucination rate, raw versus harnessed

Cost per successful extraction

2. Does it still earn its place on frontier models? (article-digest)

article-digest runs an output-heavy task — a 120–200 word original summary plus five verbatim quotes and a verbatim outline — on Claude Opus 5 and Sonnet 5. Both arms go through hiveloom with the same prompt, tool, guardrails, and loop policy; the raw arms only drop the validators and loop.require_verification, so the measured delta is validators plus retry-with-feedback, and nothing else.

Arm Success Hallucinated quotes Cost per success
Opus 5 + hiveloom 100% 0% $0.0383
Opus 5, raw 80% 0% $0.0320
Sonnet 5 + hiveloom 100% 0% $0.0142
Sonnet 5, raw 80% 0% $0.0141

Neither model fabricated anything. What the raw arms lost was the contract: one run emitted invalid JSON, another a quote outside the required length. The harness is not buying accuracy from a frontier model — it is buying the tail of contract compliance, at roughly unchanged cost per success.

3. What do frontier models still get wrong? (page-audit)

page-audit targets what remains: exhaustiveness past a truncated tool view, aggregation, and date arithmetic. The fetch tool clips its digest, and half the pages have more headings than the digest shows, so no complete answer is reachable from the tool alone. The metric that matters is not success but whether a wrong answer arrives labelled.

Arm Silently wrong Flagged (verify_failed)
Opus 5 + hiveloom 0/6 1/6
Opus 5, raw 5/6 0/6
Sonnet 5 + hiveloom 0/6 1/6
Sonnet 5, raw 3/6 0/6

Raw arms confidently returned truncated heading lists and off-by-one day counts. The harnessed arms either recovered on retry or exited verify_failed — they never returned a wrong audit as a success. That is the property a downstream automation can actually build on.

Prompt caching compounds it

Prompt caching is on by default for the claude provider. In a live measurement on a 7k-token harness prompt (Haiku 4.5, two-turn run), the first run wrote the prefix to cache and every later run inside the cache TTL read it back at a tenth of the input price — $0.0019 per warm run vs $0.0100 cold, an 81% reduction. A harness runs the same prompt shape every time, which is exactly the workload prompt caching rewards.

Prompt caching, cold versus warm run cost

Sample sizes, scoring code, and caveats are in evals/README.md.