typst
grade
reliability
overall
Typst is a command-line software tool that compiles markup files into PDF documents. Handing this tool to an agent provides a highly deterministic, low-overhead mechanism for rendering structured documents like invoices, reports, or articles. The compilation process runs locally with standard exit statuses, allowing agents with basic terminal access to execute and verify document rendering reliably.
Surfaces × lenses
| surface ↓ lens → | Coherence | Economy | Consistency | Verifiability | Safety |
|---|---|---|---|---|---|
| Disclosure | |||||
| Interface | |||||
| Loop | |||||
| Recursion | |||||
| Human |
Click any cell for what was measured and why. A corner dot marks a cell filled by a hard instrument (checker, telemetry); undotted cells are judged by the rater ensemble. 59% of this matrix is hard-measured.
Teaching sources compared
The docs source produces a rendering artifact; skill does not — the teaching source is decisive for typst.
| Source | Grade | Renders | Disclosure | Interface | Loop | Recursion | Human |
|---|---|---|---|---|---|---|---|
| official docs ★ | A | ✓ | +0.02 | +0.47 | +0.34 | +0.31 | -0.03 |
| skill | F | ✗ | +0.52 | +0.18 | +0.13 | +0.42 | +0.30 |
Same harness, same reference agent, same briefs, same trial count — the only variable is how the agent was taught the tool. ★ = best source.
The experience
An agent works with the tool by writing source files with the .typ extension and compiling them using a single command-line execution, such as typst compile input.typ output.pdf. The CLI interface works well because it operates with a low token cost, returns predictable exit codes, and avoids execution overhead. Since the compiler's output and layout rules are highly deterministic, the compiled PDF consistently matches the source specifications, permitting the agent to verify the layout without unpredictable render shifts.
The syntax parser works poorly when handling unescaped currency symbols in raw data, as the dollar sign triggers Typst's math mode. If an agent copies billing or invoice figures containing dollar signs directly from a source CSV, the compiler fails or outputs incorrect math notation. To correct this, the agent must escape each dollar sign with a backslash. Once escaped, the compilation executes successfully without further manual correction.
Generating tables and formatted blocks works well because Typst structures layouts with clear, high-level markup rules. The agent defines the column count and populates cells as a flat list of bracketed items. This prevents formatting errors like text truncation or cell overlapping. Decorative elements work adequately, as the agent can easily specify rectangle fills and linear gradients directly in the source file without managing external stylesheet files.
The feedback loop for fixing compilation errors works well because compilation is non-destructive and isolated. If a syntax error is introduced, the compiler outputs the exact line number of the failure. This low blast radius allows the agent to safely run iterations, identify the problematic lines, modify the source, and compile again without risk of damaging surrounding code or files.
Fit
The tool is a good fit for agents that need to compile polished, structured documents from structured raw files, such as generating customer receipts, financial invoices, or scientific papers. Typst is a poor fit for tasks that demand dynamic web templates, responsive web page structures, or interactive inputs, as it produces static documents.
Notes
The following diagram shows the sequential feedback loop an agent uses to author, compile, and fix Typst documents.
Validation
Convergent check. Where a hard instrument and the independent rater panel measure the same cell, they agree on 7 of 13 cross-checked cells (77%). Two independent methods landing on the same number is our accuracy signal — not just the raters agreeing with each other.
| Cell where they disagree | Instrument | Rater | Δ |
|---|---|---|---|
| recursion.coherence | -0.48 | +0.50 | 0.98 |
| disclosure.verifiability | -0.40 | +0.50 | 0.90 |
| recursion.economy | +0.84 | +0.00 | 0.84 |
| loop.verifiability | +1.00 | +0.50 | 0.50 |
| recursion.verifiability | +0.10 | +0.60 | 0.50 |
| interface.coherence | +0.03 | +0.50 | 0.47 |
Ground truth
4 of 4 requirements met · deterministic checker, no model judgment- renders to final format (pdf/html) — ok
- document identifier present — INV-2024-0417
- all line items present — 4/4 items
- correct computed total — expect subtotal 1673.00
Reliability (pass^k): one attempt succeeds 100% of the time · three in a row 100% · all runs 100%. A fresh agent resuming from the files alone never broke prior work.
Models & runs
2026-07-07| Model | Harness | Runs | Solved | Turns |
|---|---|---|---|---|
| | 23 | 21/23 | 9 |
Each path is one run through the shared semantic space; nodes are turns (red = an errored turn). Hover a model — here or in the graph — to isolate its runs.
How this was measured
- reference agent
- pi:z-ai/glm-5.2
- trials
- 25 (n=5/tier)
- methodology
- v0.1 3e74a3c6
- cost
- $1.6672
- hard-measured cells
- 59%
- teaching source
- typst (official docs) (official-docs)
Same brief, same reference agent, and the same trial count for every tool in a category — a difference in the numbers is attributable to the tool (and its teaching source), not the setup. Profiles carry the methodology hash; results under different hashes are not compared.