The Cleat blog · notes from the forge

Field notes.

Design decisions, release stories, and longer-form essays on building a language for auditable AI orchestration. Written by the people building it.

All Design Releases Engineering Tutorials

All posts

07 posts · sorted newest first
11 Apr · 2026
Design · Effect system

Why needs is a keyword, not a decorator

Decorators give you the syntax of effect tracking without the enforcement. We made needs part of the type system from day one. Here's what we tried first, what broke, and what convinced us to bake it into the grammar.

Jayden Carter
Founder
7 min read
28 Mar · 2026
Engineering · Compiler

Building a Rustc-style diagnostic renderer in 600 lines of Go

Good error messages are a feature, not an afterthought. A walkthrough of how Cleat's diagnostics work — from token spans to the squiggly underlines — and why we copied Rust's approach instead of Go's.

Jayden Carter
Founder
12 min read
14 Mar · 2026
Design · Provenance

Provenance is not a logging problem

Every AI orchestration framework eventually adds a "logs" tab. They are all insufficient for the same reasons. An argument for why cryptographically signed, append-only chains belong in the language — not bolted on as a SaaS add-on after the fact.

Jayden Carter
Founder
8 min read
02 Mar · 2026
Tutorial · Getting started

Your first Cleat program: a PR analyzer in 40 lines

A guided walkthrough of building a real, useful tool with Cleat — from tool declaration to mocked tests, with every line explained. No toy examples. No "imagine you have an LLM" handwaving.

Jayden Carter
Founder
15 min read
19 Feb · 2026
Engineering · Type checker

Inferring effects across module boundaries

When function A calls function B which calls function C, who declares the effect? We picked one answer; the other answer is also defensible. Notes on the tradeoffs and why we landed where we did.

Jayden Carter
Founder
10 min read
05 Feb · 2026
Design · State machines

What we stole from TLA+ for state reachability

The Cleat type checker rejects unreachable states and detects deadlocks at compile time. The trick is older than you think — TLA+ has been doing it for thirty years. A short essay on standing on giants.

Jayden Carter
Founder
6 min read
21 Jan · 2026
Design · First principles

A new language? Really?

The first post. Why we didn't write another Python library, why we didn't fork an existing language, and what convinced us that orchestration deserves to be a first-class linguistic concern. The mission statement, before there was any code to back it up.

Jayden Carter
Founder
11 min read

Get posts in your inbox.

Roughly one essay a month. Design decisions, release notes, the occasional postmortem. No spam, no marketing.

Or grab the RSS feed ↗