# Sley 2 FAQ

Web page: https://sleylang.org/faq

## What is Sley?

An open-source programming language and system for AI agents, built by Greyforge Labs. Agents write typed Python-dialect code or propose typed changes; a deterministic kernel validates every change, and valid changes commit atomically. Sley 2 is open source under Apache-2.0 at github.com/sley-lang/sley.

## What is Sley 2?

The current generation of Sley. Programs are created, stored, changed, run, tested, versioned and shared as typed semantic state: SSMC1 is the program form, SCB1 the encoding, and SMP1 the machine interface. Agents read programs through bounded queries and change them by proposing typed mutations.

## Can I write Sley like Python?

Yes. Since 2.1.1, sley-agent try --familiar compiles typed Python: functions with type hints, @dataclass records, and pytest-style def test_*(): functions with assert lines. Integers are 64-bit and overflow traps. sley-agent help python lists every construct the dialect accepts, and /docs#python walks through an example.

## Can I try Sley in a browser?

Yes, in Sley Arena at sleylang.org/arena. Every Arena bot is a Sley program in the Python dialect. The Play page compiles your bot and runs practice matches right in the browser on any operating system, and GitHub sign-in enters it on the ladder.

## Is Sley 2 released?

Yes: Sley 2.1.7, published 2026-10-28. sley-2.1.7-linux-x86_64.tar.gz holds static sley and sley-agent binaries for Linux x86_64. Two clean builds produced identical archives, with CycloneDX and SPDX SBOMs and build provenance.

## Is Sley self-hosted?

Yes, since 2.1.0. Sley's semantic toolchain is a Sley program. On a pinned host, without the Rust seed compiler, it rebuilds its own executable closure to a byte-identical fixed point. The self-rebuild bundle sley-2.1.0-selfhost-linux-x86_64.tar.gz repeats that build and needs bubblewrap.

## Is Sley 2 open source?

Yes. Sley 2 is licensed under Apache-2.0 (Copyright 2026 Greyforge Labs), with source at github.com/sley-lang/sley. Sley 1.x Legacy is also Apache-2.0.

## How do I install Sley 2?

Download sley-2.1.7-linux-x86_64.tar.gz and SHA256SUMS from the v2.1.7 release page, check with sha256sum -c --ignore-missing SHA256SUMS, unpack, and run python3 demo/run_demo.py ("result": "PASS" means every answer matched). From source: git clone --branch v2.1.7 --depth 1 https://github.com/sley-lang/sley.git && cd sley && cargo build --release -p sley-cli -p sley-agent. To write a first program, see /docs#python.

## Does Sley 2 have a CLI?

Yes, two. sley-agent is the authoring tool: init, try, call, view and submit. sley is a thin machine CLI: sley version, sley hello [--json], sley methods, sley frame decode|encode, and sley serve --repository <dir> [--json] [--batch] [--report <file>]. Every sley command prints machine-readable output, and sley serve --json speaks SMP1 as JSON lines. The kernel makes every decision.

## Is Sley 2 a programming language or a programming system?

Both. Agents write programs in its languages: the typed Python dialect, a compact familiar syntax, or AF1 JSON frames. Around them, the system covers storage, queries, mutation, policy, transactions, branches, merge, exchange, execution and the SMP1 protocol.

## Do agents write Sley as source text?

They can. A typed Python-dialect file, a familiar-syntax file or an AF1 JSON frame compiles into proposed changes to the program graph. Sley stores, validates and versions the graph, so canonical state defines a program's identity and reformatting leaves it unchanged. Agents inspect programs through queries, diagnostics and receipts.

## What are SSMC1 and SCB1?

SSMC1 (Sley Semantic Machine Code) is the program form: a typed, immutable graph of 18 entity kinds. SCB1 (Sley Canonical Binary) is its byte encoding: strict, minimal, and hashed with domain-separated BLAKE3. An independent Python oracle reproduces the Rust kernel's bytes exactly.

## What is SMP1?

SMP1 (Sley Machine Protocol) is how agents talk to Sley: versioned, bounded, cancellable request and response frames with sessions and a hello handshake. A JSON bridge maps each frame to one JSON line, and sley serve --json speaks it.

## How does an agent change a Sley 2 program?

State → Proposal → Validation → Transaction → Verified State. From a verified state root, the agent asks bounded queries and proposes typed mutations with preconditions. The kernel validates them in fourteen ordered phases, and the change commits atomically with a receipt. sley serve exposes each step as an SMP1 method.

## Does Sley 2 have deterministic program identity?

Yes. Entities, objects, state roots, transactions and schema epochs all have exact, content-derived IDs. The same state has the same root however it was reached, and a clone reproduces it exactly.

## Does Sley 2 run programs?

Yes, in a deterministic VM. The same state and inputs produce the same results byte for byte, under explicit fuel, output and cancellation limits, with a canonical digest and a stored report for every run.

## Does Sley 2 have version control?

Yes, built in and independent of Git: a content-addressed repository with atomic branches, semantic compare, deterministic merge with explicit conflict objects, exchange and clone, and GC that keeps every retained root.

## Is Sley 1.x still available?

Yes. Sley 1.2.1 is the final release of the complete human-readable line, with a self-hosted compiler, 99 report schemas, 187 contract fixtures, 72 corpus cases and 264 integration checks. It lives at GreyforgeLabs/sley-legacy under Apache-2.0.

## Is Sley 2 compatible with Sley 1.x?

No. Sley 2 is a clean break, built from the ground up for machines. Sley 1.x programs stay on the 1.x line.

## What's next for Sley?

The 2.1.0 self-hosting proof ran on Linux x86_64; a second host family comes next. The release notes have the details.
