Skip to main content
← Chronicles
7 min readFree ChronicleCurrent record

Release / Sley 2.0.0 / Apache-2.0

Sley 2.0 Is Here: Machine-Native Programming for AI Agents

Sley 2.0 is out. It is a programming system built for AI agents instead of for people typing into editors, and it is open source under Apache-2.0.

Its premise fits in one line: machines don't write source. They change verified program state.

Sley 2.0Open SourceRustLinux x86_64AI Agents
Sley 2.0 loom: a semantic program graph woven through a machine into verified state
Sley 2.0

2.0.0

released Sept 24

Apache-2.0

open source

29 days

first commit to release

1,256

commits

~2,000

Rust tests

21

fuzz targets

AI agents are writing code in a format built for humans

Every coding agent today does the same awkward thing. It emits characters and hopes they parse. It pastes whole files into its context to understand one function. It edits a line range, reruns a toolchain that behaves differently on every machine, and then reads paragraphs of error text to guess what went wrong.

None of that is the agent's fault. Source code is an interface designed for human eyes and human hands, and we have been asking machines to squint through it.

Sley 2.0 removes the text layer entirely. A Sley program is a typed, immutable graph of functions, types, blocks, operations, contracts and tests, stored as content-addressed objects. An agent reads that graph through bounded queries and changes it by proposing typed mutations. A deterministic kernel checks every proposal before anything is committed.

How an agent changes a Sley program

  1. 01

    Verified state

    exact cryptographic root

  2. 02

    Bounded query

    typed, hard limits, no silent truncation

  3. 03

    Proposed change

    typed mutation, not a text patch

  4. 04

    Validation

    14 ordered phases + policy

  5. 05

    Atomic commit

    receipt, or a stable refusal code

Every accepted commit produces a new verified state, and the loop starts again. Nothing half-applied, ever.

Hope it parses

Typed mutations over a closed schema. Malformed input is rejected at the boundary.

Paste whole files

Bounded, typed queries with explicit limits that fail loudly instead of truncating.

Works on my machine

One deterministic kernel judges types, control flow, effects, contracts and policy the same way every time.

Read the error essay

Every failure is a stable numeric and symbolic code with an exact contract.

What ships in Sley 2.0

Deterministic semantic kernel

Types, control flow, effects, contracts, tests and impact analysis, judged the same way every time.

Content-addressed repository

Atomic transactions with receipts, native branches, semantic merge with explicit conflict objects, clone, GC and crash recovery.

Agent-shaped context

Root-backed queries and context capsules with hard limits. They fail loudly instead of truncating silently.

A bounded VM

Fuel, output and cancellation limits, canonical observation digests and stored execution reports.

Policy and capabilities

Protected policy roots, scoped capability tokens and bounded adapters. There is no arbitrary shell.

Reproducible, attested release

Two clean builds compared member by member, a second-host attestation, CycloneDX and SPDX SBOMs, recorded provenance.

People stay in charge of what matters: objectives, policy, capabilities and acceptance. What changes is that no one has to act as the parser anymore.

29 days, 1,256 commits, and the hard parts

Sley 2.0 began on August 27, 2026, the same day Sley 1.2.0 shipped as the high-water mark of the human-readable line. We could have kept polishing 1.x. Instead we chose a clean break, and the next four weeks tested that choice every day.

The build log: commits per day

Aug 27 → Sep 24, 2026 · 1,256 commits

Sley 2.0 commits per day from August 27 to September 24, 2026, peaking at 167 commits on September 3.5010015008-27: 78 commits (Formats frozen, oracle born)08/2708-28: 7 commits08-29: 11 commits08-30: 96 commits08-31: 9 commits08/3109-01: 10 commits09-02: 52 commits (Crash contract, 13th freeze)09-03: 167 commits (Reproducible release mechanics)09-04: 15 commits09/0409-05: 98 commits (19 re-attestations)09-06: 19 commits09-07: 26 commits09-08: 90 commits09/0809-09: 10 commits09-10: 23 commits09-11: 41 commits09-12: 31 commits09/1209-13: 47 commits (Apache-2.0 chosen)09-14: 16 commits09-15: 43 commits09-16: 20 commits09/1609-17: 93 commits09-18: 91 commits09-19: 17 commits09-20: 13 commits09/2009-21: 10 commits09-22: 11 commits09-23: 96 commits09-24: 16 commits (2.0.0 released)09/24
  • 08/27Formats frozen, oracle born
  • 09/02Crash contract, 13th freeze
  • 09/03Reproducible release mechanics
  • 09/0519 re-attestations
  • 09/13Apache-2.0 chosen
  • 09/242.0.0 released

We walked away from a language that worked

Sley 1.2 was strong. Throwing out its syntax, parser and compatibility was the most expensive decision in the project. We made it a clean-room rule: 1.x may be run as an outside oracle, but not one line of it could be copied into the new kernel.

Two implementations had to agree on every byte

Anyone can claim a format is deterministic. We built a second, independent implementation in Python and made the Rust kernel match it byte for byte, down to hashes, receipts and error vectors. Every disagreement was a bug in one of them, and we found plenty.

We rewrote the crash-recovery contract 13 times

"After a crash you get the old state or the complete new one" is one sentence. Getting there took thirteen frozen revisions of the recovery contract in six days and a 100-row crash matrix before we would sign our name to it.

Reproducible means reproducible

Every release candidate is built twice from clean, compared member by member, then rebuilt on a second machine that must produce the identical digest. Any real code change invalidates the whole chain, so on September 5 alone we re-attested the candidate 19 times.

Our own tools hit their limits

Sley is built for agents and largely built with them. More than once the build stalled mid-closeout on model usage limits, and one recovery started from a transcript that could not be read back. Work resumed from evidence in the repository instead, which is exactly the discipline Sley is designed to enforce.

We said no to claims we couldn't prove

The easiest thing to ship is a slogan. Sley 2.0 ships with a ledger instead: 52 acceptance criteria, every open finding named, and every unsupported case refused with a stable code rather than papered over.

A release you can check, not just believe

We call Sley 2.0 a release, not a general-availability claim, and we mean the distinction. The release notes list every acceptance criterion that is not yet met and every finding that is still open.

52 GA acceptance criteria at the release decision

  • 32 Evidenced
  • 17 Awaiting independent review
  • 3 Gated

A few examples of what is honestly still ahead: a small family of VM opcodes is refused with a deterministic error rather than half-supported; creating new functions and their tests currently takes two commits instead of one; and the succession benchmark, which measures agents working in Sley against raw source and Sley 1.x on a frozen 15-task corpus, is still running. Its results will be published when the campaign finishes, not before.

We think that is what trust looks like for infrastructure that agents will build on. The foundation is real, it is reproducible, and its edges are marked.

Try Sley 2.0 in five minutes

You need Linux x86_64, the pinned Rust toolchain (1.93) and Python 3 for the demo.

sley 2.0.0 quickstart
# 1. build the binary
git clone https://github.com/sley-lang/sley.git && cd sley
cargo build --release -p sley-cli

# 2. say hello (every command speaks JSON)
target/release/sley hello --json

# 3. run the end-to-end demo: import, query, execute, branch,
#    export, clone, and prove the clone answers byte for byte
python3 bench/release/run_demo.py --sley target/release/sley \
  --fixture conformance/release-demo/v1/demo.json
#  => "result": "PASS"

From there, the architecture walkthrough follows one change from verified state to a new verified state, and the technical brief covers SSMC1, SCB1 and SMP1 in plain terms.

Come build the next part with us

Sley 2.1 is already underway, and its goal is ambitious: self-hosting, the Sley toolchain built with Sley. The succession benchmark will tell us, with numbers, how much better agents work when they stop wrestling with text. Both are better with more people pushing on them.

Contributing to Sley is different from most projects in one welcome way: every change arrives with its own contract, tests and evidence. There is no "LGTM, ship it." If you like work that is provably right, you will feel at home.

Break it

Point new inputs at the 21 fuzz targets, the importers and the VM. A reproducible crash with a seed is a gift.

Build agents on it

Drive sley serve from your agent over JSON lines and tell us where the protocol or the error codes get in your way.

Widen the kernel

Excluded VM opcodes, one-commit create-with-tests and live adapters are open, well-specified frontiers.

Sharpen the docs

Quickstart, concepts and the specs should be obvious to a newcomer. If something wasn't, that's an issue worth filing.

Sley 2.0 questions, answered

›What is Sley 2.0?

Sley 2.0 is a machine-native programming system for AI agents, released by Greyforge Labs under Apache-2.0. Programs are typed semantic graphs rather than text files. Agents query the graph, propose typed changes, and a deterministic kernel validates each change before it is committed atomically.

›Is Sley 2.0 open source?

Yes. Sley 2.0 is licensed under Apache-2.0. The project lives in the sley-lang GitHub organization at github.com/sley-lang, and its public documentation is at sleylang.org.

›How is Sley 2.0 different from Sley 1.x?

Sley 1.x is a human-readable, agent-first language that is now frozen as Sley Legacy. Sley 2.0 is a clean, intentionally incompatible line with no source syntax at all: the canonical program is verified semantic state that machines mutate through proposals.

›Do people still control software built with Sley?

Yes. People own objectives, policy, capabilities, review and acceptance. Sley removes the need for people to be the parser of the raw representation, not their authority over what ships.

›How do I try Sley 2.0?

On Linux x86_64 with the pinned Rust toolchain, build the sley binary with cargo, run sley hello --json, and run the bundled end-to-end demo, which imports a program, executes it, branches it, exports it and verifies that a clone answers byte for byte.

›Is Sley 2.0 production ready?

Sley 2.0 is a release, not a general-availability claim. The release notes list every unmet acceptance criterion and open finding, including an in-progress succession benchmark and a small set of VM opcodes that are refused deterministically.

More answers in the Sley FAQ. Looking for the human-readable line? Sley Legacy 1.x remains available.

Sley 2.0 is here

Stop making agents write text.
Give them verified state.

Star the project, run the demo, file the first bug. Follow @SleyLanguage for release notes and the succession results when they land.