Issue Nº 01 — October 15, 2026

@readmodelmag
MODEL

Follow MODEL on X @readmodelmag

The issue

Nº 03

Three tools. Tested. The rest is noise.

SummaryA database with agent mode, TypeScript's checker in Rust, and a forecasting model small enough to email. All three tested on Linux.

The Top 3 below is editorial. It is not sponsored. The links go to the makers, not to affiliate programs. Byline: MODEL Editors.

  1. The Cover

    DuckDB 2.0

    Tested

  2. Also this week

    tsrs

    Tested

  3. Also this week

    Timestral

    Tested

Speed week for builders. We kept three tools and ran all three on Linux (hands-on Oct 21–22; this issue published Oct 26). Tools 4–10 are the wider edit — labelled when we did not run them.

The Cover

DuckDB 2.0

The analytics database now has an agent mode.

Where: duckdb.org/2026/10/21/announcing-duckdb-200 (opens in a new tab) · GitHub v2.0.0 (opens in a new tab) (October 21, 2026). We tested v2.0.0 against v1.5.6.

What it is: The in-process SQL database, now an LTS release (supported until at least October 2027, per the blog). The headline for AI users: the CLI notices when a coding agent is driving it and switches to compact Markdown tables, says when a result was cut, and returns errors as JSON.

The price: Free, MIT. No account, no key.

The test

Tested, hands-on. Linux x86_64 CLI binaries, SHA-256 matched GitHub's release digests. Same 20M-row synthetic table (plus a 50,000-row join table) built by each version, same 8 queries.

  • Speed, in-session: v2.0.0 was 1.52–1.90× faster in total across five passes (median 1.68×, e.g. 1,737 ms → 1,035 ms). Not every query won every pass; one join was slower in one pass. The box is shared, so read these as a range.
  • Same answers: integer, count, median and quantile results matched exactly. Double-precision sums differed only in the last floating-point digits, and all 8 queries matched to the cent.
  • Agent mode came on by itself (our box sets CURSOR_AGENT). On 8 queries with every row printed both ways, output was 15,589 bytes vs 24,275, which is 35.8% less for the model to read. One tiny result came out 11% bigger because of the one-line agent banner.
  • A 3,000-row result came back as the first and last 20 rows, plus a row count and a hash: 1,640 bytes vs 144,468 in full. The normal box view stops at 40 rows ("5000 rows (40 shown)"). Agent mode tells the model what it cut.
  • A typo'd column came back as JSON with "error_subtype":"COLUMN_NOT_FOUND" and the candidate "amount".
  • What broke: a database file written by 2.0 won't open in 1.5.6 ("version number 69… we can only read versions between 64 and 68"). SELECT 7 // 0 now raises an error where 1.5.6 returned NULL. The old x -> x + 1 lambda syntax is a Binder Error (lambda x: x + 1 works). CLI startup was 30.2 ms vs 13.1 ms, so lots of tiny one-shot calls lose some of the speed-up.

We did not test Quack, async I/O on object storage, VARIANT, extensions, or non-CLI clients, and we didn't reproduce DuckDB's own claim that agent mode cut output by 59% on TPC-H (we used our own queries). As of Oct 26 the team also published a follow-up, Gems of DuckDB 2.0.0 (opens in a new tab); 2.0.1 is planned for November 18.

The verdict

Upgrade your laptop and your agent's sandbox now. Faster, same answers, and agent mode fixes a real problem: agents reading 40 rows and assuming that was everything.

Skip it if

Older DuckDB readers share your files, your SQL uses //, % or ->, or your pipeline is mission-critical. The team itself suggests waiting for the first patch release in November.

Also this week

tsrs

TypeScript's type checker, ported to Rust.

Where: github.com/oxc-project/tsrs (opens in a new tab) · npm tsrs · announcement blog.cloudflare.com/typescript-rust-port (opens in a new tab) (Cloudflare and VoidZero, October 20, 2026). We tested 0.18.0 (tsrs@0.18.0-ts7.1.0-dev.20260929). As of October 26, 2026, npm latest is 0.20.0-ts7.1.0-beta (TypeScript 7.1 beta); our numbers below are from 0.18.0.

What it is: A faithful port of the TypeScript 7 type checker to Rust. Point it at your tsconfig.json and it does the job tsc does. That matters if your coding agent re-runs the type checker on every edit.

The price: Free, Apache-2.0. It's an experimental release ("Not affiliated with or endorsed by Microsoft," per the README).

The test

Tested, hands-on. Installed from npm (npm audit signatures: 4 verified registry signatures, 2 verified attestations). We ran it against the official typescript@7.0.2 and against the 7.1 nightly it ports.

  • Same answers: On a current Playwright checkout, all three printed the same 13 errors, byte for byte. On Microsoft's "Compiler" benchmark case, tsrs and 7.0.2 printed the same 43 errors, byte for byte. Our own Next.js site came out clean on both.
  • Playwright: 0.250–0.265 s vs 1.756–2.023 s for 7.0.2 (median of 5, two passes), which is 7.0–7.6× faster. Peak memory was ~393 MB vs ~1,100 MB, 64% less. With the same 4 checkers tsgo uses by default: 0.343 s and 328 MB.
  • Compiler case: 0.096 s vs 0.417 s (4.3×), 77 MB vs 225 MB. Our site: 0.054 s vs 0.191 s. You won't feel that on a small app.
  • The catch: with errors present, tsrs exits 2 where 7.0.2 exits 1. The 7.1 nightly does the same, so this is TypeScript's change, not a tsrs bug. But a CI script that checks for exit code 1 will behave differently. tsrs --init is "not supported" (exit 5).

We did not test the language server, watch mode, project references (-b), tools that call the TypeScript JS API (typescript-eslint, ts-jest), Windows or macOS on 0.18.0. We didn't reach the blog's "up to 8x": 7.6× was our best. Note: 0.20.0 adds Windows x64 and Intel Mac binaries and changes the default checker mode (tsgo-like four checkers); speed and memory can differ from 0.18.0 on machines with more than four cores.

tsrs verdict

Try it as a second type-check step in CI or in your agent's loop today. On a big repo, a 2-second wait becomes a quarter-second.

Skip it if

Your tooling depends on the TypeScript JS API, or you can't run a pre-1.0 checker that tracks a 7.1 line rather than the 7.0.2 you ship with. If you need Windows or Intel Mac binaries, use 0.20.0+ (we have not re-run our suite on it).

Timestral

Mistral's forecasting models run on a CPU.

Where: mistral.ai/news/timestral (opens in a new tab) (October 15, 2026) · code github.com/mistralai/timestral (opens in a new tab) · weights huggingface.co/mistralai/Timestral-28M (opens in a new tab).

What it is: Pre-trained time-series models (5M, 28M, 123M and 209M parameters). Give one a history of numbers (traffic, signups, token spend, sales) and it returns a forecast with uncertainty bands. No training per series.

The price: The code is free under Apache-2.0. The weights use a Modified MIT licence that grants no rights if your company's (or your employer's) global consolidated monthly revenue exceeded $20 million in the preceding month. Those companies need a commercial licence from Mistral.

The test

Tested, hands-on. pip install git+https://github.com/mistralai/timestral.git (package 1.0.0, commit a534bdb) on CPU-only PyTorch 2.14.1, using 4 threads. Data: daily English Wikipedia pageviews for "Large language model", Jan 1, 2024 to Oct 21, 2026 (1,025 days). We forecast 28 days ahead from 8 starting points and compared each forecast with what actually happened and with a "same as last week" repeat.

  • Timestral-28M (111 MB): average error 270 views/day vs 345 for the repeat, 21.5% lower. It won at 8 of 8 starting points, at ~22 ms per forecast.
  • Timestral-5M (21 MB): 270 vs 345, the same 21.6% lower, 8 of 8, ~8 ms per forecast.
  • Timestral-123M (490 MB): 276, 19.9% lower, but it won only 7 of 8. On this series, the bigger model wasn't better.
  • The 10–90% band held the real number on 80–84% of days, close to the 80% it promises.

That's one series, so read it as a sanity check, not a benchmark. We did not test the 209M model, covariates, fine-tuning or long horizons. Mistral's leaderboard claims are Mistral's.

Timestral verdict

Try it if you forecast anything. Start with the 5M model: it was as accurate as the 28M in our run, and it's small enough to ship inside an app.

Skip it if

Your company is over the $20M/month revenue line (read the licence first), or you need forecasts driven by causes, not patterns. It only knows your history.

The Margins

4. KiviDB

Where: github.com/kividbio/kividb (opens in a new tab) · kividb.io (opens in a new tab) (v1.1.0 October 16, 2026; Show HN October 19).

What: A Redis-compatible in-memory database in Rust with a built-in vector and full-text search, pitched as a cache for AI apps.

Pricing: AGPL-3.0, with a commercial licence sold by the company (README).

Tested by MODEL on Oct 19 (not re-run for this issue): 87 of 88 commands gave the same replies as Redis 8.0.2. GET was 2.5–3.9× faster than Redis on our box, and vector recall@10 was 0.982 at EF 64. But a Redis hash in a migrated dump.rdb loaded silently as a set. Don't migrate real data yet. Full review: /stories/kividb.

5. Omnara

Where: github.com/omnara-ai/omnara (opens in a new tab) · omnara.com (opens in a new tab) (Show HN October 21, 2026).

What: An open-source, self-hostable alternative to Claude Managed Agents. You create an agent with an API call, and its state lives in Postgres, so it survives restarts. Your laptop or a cloud sandbox can join as one of its machines through a small outbound daemon.

Pricing: Apache-2.0, free to self-host. Hosted: $0 platform fee; managed models at provider token rates; machines $0.0414 per GiB of memory per hour (omnara.com/pricing, checked Oct 26).

Not tested: self-hosting wants Docker Compose, which our box doesn't have.

6. Voxtral 3 (Mistral)

Where: mistral.ai/news/voxtral-3 (opens in a new tab) (October 20, 2026).

What: New speech-to-text and text-to-speech models plus a voice agent SDK built on LiveKit. It listens, reasons with a model like Mistral Small, calls tools and talks back, over phone (SIP) or web (WebRTC).

Pricing (Mistral's table, still listed Oct 26): Mini Transcribe 3 $0.0035/min; Realtime $0.008/min; Small Transcribe $0.0040/min; TTS $13 per 1M characters; voice agent API $0.04/min with Mistral Small 4.

Not tested: needs a Mistral API key. The benchmark wins over Whisper and ElevenLabs are Mistral's.

7. Claude Duet (Anthropic)

Where: claude.com/product/claude-duet (opens in a new tab) (research preview October 21, 2026).

What: A proactive agent app. It sends a morning brief, checks your connected apps, takes tasks by message, and asks before it sends, pays or deletes anything.

Pricing: Waitlist for Claude Pro and Max subscribers in the US. It shares your plan's usage limits, and its background checks count against them.

Not tested: no paid plan, waitlist only. Anthropic's own caveat: it "may misread a thread or miscalibrate what's urgent."

8. SPACE (Perplexity)

Where: github.com/perplexityai/SPACE (opens in a new tab) (open-sourced October 15, 2026).

What: The sandbox platform behind Perplexity Computer. Every agent task gets its own Firecracker microVM, egress runs through a per-sandbox policy gateway, and you drive it over plain HTTP. It also wraps the E2B Python SDK.

Pricing: Free, Apache-2.0. You run the infrastructure yourself.

Not tested: needs a KVM host plus privileged Docker. Version 0.8.0 is still the public baseline; 0.9.0 is the final planned breaking-change release before 1.0 (docs/versioning.md, checked Oct 26).

9. Clairic (Cloudflare)

Where: developers.cloudflare.com/workers-ai/models/clairic (opens in a new tab) · blog blog.cloudflare.com/clairic-extraction-model (opens in a new tab) (October 19, 2026).

What: An extraction model that pulls typed values (dates, totals, lists, estimates) out of messy text or up to 4 images. Every answer comes with a confidence score, and it returns null instead of guessing.

Pricing: Preview on Workers AI, $0.10 per million input tokens, with no output charge (checked Oct 26). Cloudflare says open weights are coming "soon."

Not tested: needs a Cloudflare account and API token.

10. durable-harness (Vercel)

Where: github.com/vercel-labs/durable-harness (opens in a new tab) · npm durable-harness (0.0.1-beta.6 October 19, 2026; npm also published 0.0.1 on October 23 as latest).

What: Adds crash recovery to existing coding-agent harnesses (Claude Code, Codex, OpenCode, Pi) from the outside. Every model and tool call is logged, so a dead function resumes without re-running finished calls.

Pricing: Apache-2.0. The log can live on your own Postgres, but Claude Code and Codex run only inside a Vercel Sandbox.

Not tested: beta, and the Claude Code/Codex path needs Vercel Sandbox.


Tools we tested and use

Affiliate link: MODEL may earn a commission if you sign up or buy through the link below, at no extra cost to you. It never affects our picks, our ranking or our verdicts, and nothing in this issue's Top 3 has an affiliate link. Disclosure

  • Bolt.new: build a web app prototype from one prompt in the browser. We tested it on the free plan (Oct 15): one prompt gave a working newsletter signup page in about 3 minutes. The catch: it added extras we didn't ask for and invented reader stats, so rewrite the copy. Try Bolt (opens in a new tab) (Affiliate link)

Everything we've tested, with pros and cons: /stack


Reply with the tool we should test next.

— MODEL Editors

All issues