Lectern
GitHubDownload
Benchmarks

Studies

What Lectern's orchestration actually costs and delivers, measured. Every number traces to a machine-readable run report; the method, the harness, and the raw traces are public.

Methodology · Harness & tasks · reproduce with python3 bench/runner.py

Does persistent memory change the outcome?

2026-07-12

model claude / sonnet · convention tasks · subscription

On convention tasks whose correctness depends on a project rule held only in Lectern's memory, the same model passes 8/8 with the brain on and 0/8 with it off — and bare Claude Code fails 0/4. The memory is the only variable that changes the outcome.

Pass rate — same model, only the brain differs

Bare agent
raw Claude Code, no Lectern
0/4
Lectern, brain off
LECTERN_NO_BRAIN
0/8
Lectern, brain on
single + conductor
8/8

The grader requires arbitrary catalog codes that live only in a seeded skill — unguessable and absent from the workspace, so a capable model can't reach them without the brain. Building a valid brain-off control also surfaced and fixed a real bug: the no-brain switch had left skills materialized where Claude Code reads them, so “brain off” still leaked them; it now stops that too.

Read before citing
  • Narrow by design: 2 conventions × 2 arms × 2 reps on Claude/Sonnet. The effect is categorical (8 vs 0), but breadth — more conventions and domains, larger N — is the next step.
  • This measures persistent-memory value on convention-dependent work, a specific capability — not a general “smarter” claim. It sits beside the low-overhead studies, where the brain is correctly neutral.
  • Same fresh workspace and prompt across arms; the only variable is the brain. Deterministic grader, exit 0 = pass, run in the workspace after the agent.

Full write-up · Raw run traces

Single model vs the Conductor

2026-07-06

model opencode/deepseek-v4-flash-free · 2 runs per task per arm · $0 — free tier only

On tasks a single call already solves, the Conductor adds no success and costs +32% tokens and ~3.5x wall time. The overhead tracks decomposition: +1% on single-step tasks, +84% on multi-step ones.

16/16 · 16/16
tasks passed, single · conductor
deterministic graders
+32%
Conductor token overhead
13,993 → 18,524 mean
3.5×
Conductor wall-time cost
7.4s → 26.2s mean

Tokens per task

single — one model, one callconductor — plan · execute · review
cross-file-slug
3-step plan
14,336
35,732
dedup-list
1-step
13,796
13,887
fix-off-by-one
2-step plan
14,220
21,622
fizzbuzz
1-step
13,830
13,951
json-config
1-step
13,891
13,835
refactor-counter
2-step plan
14,194
21,252
stack-class
1-step
13,896
14,152
temp-convert
1-step
13,782
13,761
0mean total tokens per run · max 35,732

Where the overhead concentrates

single-step tasks
5 tasks
+1%
multi-step tasks
3 tasks
+84%

Conductor token overhead vs single, grouped by how far the task decomposes.

taskplansingle tokconductor tokoverheadsingle wallconductor wallpassed
cross-file-slug314,33635,732+149%10.1s43.1s4/4
dedup-list113,79613,887+1%5.7s22.4s4/4
fix-off-by-one214,22021,622+52%10.7s40.9s4/4
fizzbuzz113,83013,951+1%5.8s20.9s4/4
json-config113,89113,835+0%6.9s19.5s4/4
refactor-counter214,19421,252+50%8.7s25.4s4/4
stack-class113,89614,152+2%6.4s20.6s4/4
temp-convert113,78213,761+0%5.2s16.8s4/4
Read before citing
  • No success headroom: the free model passes everything either way, so this measures the Conductor's cost, not its benefit.
  • review_steps under-reports — the review runs on file-modifying tasks but emits no routing event; read review cost from the token delta.
  • tool_calls/changes read 0 on the opencode backend (it edits in place); tokens and grading are accurate.
  • 2 repetitions on a free model — directional, not definitive.

Full write-up · Raw run traces

Harder tasks — Lectern vs the raw agent

2026-07-06

6 harder tasks · 5 arms · subscription CLIs, no API keys · graders validated against reference solutions

Same tasks, same Claude Code subscription, with and without Lectern: 6/6 both, +1.0% tokens, same wall time. The engine layer — indexing, brain recall, session capture, the Apply pipeline — is effectively free on top of the agent it drives.

The Conductor's per-step routing demonstrably fires: quick steps went to Haiku, the main step to Sonnet — two models inside one task, all six tasks passing fully routed.

At this difficulty orchestration still shows cost, not success gain: strong single calls pass everything, so plan-and-review can only add overhead. Its success case needs task classes where single calls genuinely fail.

Same model, with and without Lectern

raw Claude Code — no LecternLectern + Claude Code
api-shim
10,846
10,785
csv-report
10,231
10,385
fix-tests
10,236
10,317
migration
11,367
11,287
pipeline
13,530
13,721
wordwrap
13,131
13,529
0total tokens per run · same Claude Code subscription
armpassedmean tokensmean wall
free single ×2 · deepseek free tier11/1215,25240.8s
free conductor ×2 · deepseek free tier11/1232,65576.7s
raw Claude Code · claude -p, no Lectern6/611,55734.4s
Lectern + Claude Code · lectern run6/611,67135.1s
Conductor, routed · Haiku/Sonnet per step6/64,425113.4s

† cache-accounting artifact — not comparable across backends; read cost from wall time.

Read before citing
  • Cross-backend token totals are not comparable: Claude Code reports usage excluding prompt-cache reads; opencode reports fuller totals. The Conductor-routed arm's low token figure is a cache-accounting artifact — read its cost from wall time.
  • Subscription arms ran once each (bounded deliberately); free arms twice. Directional, not definitive.
  • One free-single run timed out at 240s (free-tier flakiness) and counts as a failure.

Full write-up · Raw run traces

Next: task classes where a single call genuinely fails — long-horizon, large-repo, cross-session work — and cache-aware token accounting so cross-backend costs compare fairly. New results land here and in the repo as they run.

Lectern

An engine for your AI — local-first and backend-agnostic.

Product
OverviewPlatformFree & open sourceDownloadChangelog
Resources
DocsHubStudiesChangelog
Open source
GitHubLicense (Apache-2.0)Security
© 2026 Lectern · open source under Apache-2.0
One engine under your coding agents