Sley

Sley 2 / Machine-native programming

Programming state for machines. Governance for people.

Machines do not write source. They mutate verified program state. Sley 2 is Greyforge Labs' active, intentionally incompatible machine-native lineage - typed semantic state with proposal → validation → transaction and explicit human governance.

Sley 2.0 Loom Graph: a machined steel loom weaving a structural graph into etched lines
The Sley 2.0 Loom Graph. Brand artwork, not compiler output.

Active lineage · pre-release engineering

Sley 2 - the canonical Sley

The canonical site is sleylang.org and the canonical active repository is GreyforgeLabs/sley. Current workspace/source version: 2.0.0-alpha.0 - a workspace pre-release, not a released product, GitHub release, package, or GA. Public source visibility is LicenseRef-Proprietary, not an open-source license.

Machine Native. Human Governed. The canonical raw program representation is intentionally not required to be comfortable human source. Humans govern through projections, inspection, policy roots, capability tokens, objectives, constraints, receipts, and acceptance - not by authoring canonical bytes.

Inspect active Sley 2.xRead technical briefWalkthroughSley 1.x Legacy

Current phase

Active pre-release engineering - not research, not GA

M0 is complete. M1 core (SCB1, identifiers, independent oracle, epochs, immutable store, deterministic roots, root/object packs) is complete. M2 is advancing - deterministic type, CFG, effects, restricted contracts, fingerprints, lowering, VM, adapters, and policy now have bounded implementations for the supported subset. Full-GA semantics, complete operation analysis, and release hardening remain incomplete. See docs/WORK_PACKAGES.md for the exact DAG.

Typed semantic state

Programs are SSMC1 typed state, not canonical human source. Canonical form and canonical SCB1 encoding are the source of truth.

Deterministic identity

Immutable objects and deterministic state roots give every verified state a stable, content-addressed identity; roots are order-independent.

Proposal before mutation

Machines construct proposal-only mutation candidates - never direct mutation. Every candidate is digest-trailed SLEYCAN1 with exact discriminants.

Validation before commit

A fourteen-phase restricted validator owns every outcome before the durable atomic transaction commits. Unsupported semantics fail closed.

Explicit policy & capability

Protected policy roots and BLAKE3-authenticated capability tokens bind root / effect / scope / adapter / budget with deterministic authority.

Native versioned state

Atomic named branch refs over verified receipts: immutable origin records, CAS advancement, bounded deterministic ancestry. Merge, force-reset, and clone exchange remain gaps.

Bounded deterministic execution

Restricted O0 lowering and VM for the validated Boolean/terminator subset executes with exact fuel, value, and observation digests. Other opcodes remain fail-closed.

Human governance & evidence

Readable projections, diagnostics, QueryId-typed queries, evidence capsules, receipts, and deterministic error behavior - machines mutate, people govern.

State → Proposal → Validation → Transaction → Verified State

How a machine changes a Sley 2 program

  1. Verified state root - begin from a deterministic StateRoot over immutable canonical bytes.
  2. Derive bounded context - derive freshly rebuilt snapshots and typed queries; candidates match only an already-fresh explicit modeled-request rebuild.
  3. Proposal-only candidate - build an immutable digest-trailed SLEYCAN1 candidate from 179 bound descriptors; no semantic validation yet.
  4. Deterministic validation - fourteen-phase validator owns every outcome; unsupported semantic operations and insufficient capability fail closed.
  5. Atomic transaction - commit-time revalidation, durable object + receipt ordering, and one fixed-head compare-and-swap promotion.
  6. Advance a branch - named ref CAS from direct parent, deterministic ancestry, coordinated maintenance.
  7. Retain receipts & evidence - canonical receipts, observation digests, query responses, and evidence capsules for acceptance.

The current public surface is an inspectable pre-release implementation, not an installed language release. No stable end-user CLI/API is claimed beyond thin machine wrappers that delegate all judgment to the kernel.

Implemented now / 2.0.0-alpha.0

What Sley 2 already contains - bounded, deterministic, and evidenced

  • SCB1 canonical encoding with strict primitive cursor and independent oracle
  • Typed identifiers, schema epochs, immutable object store, deterministic state roots, and root/object pack import
  • Deterministic core type system, CFG + value-use validation, least-fixed-point effect closure, static scope typing
  • Restricted epoch-1 contract/test profile with deterministic policy-incomplete planning
  • Semantic fingerprints for TypeDef/Function and canonical impact relationships for 12 modeled kinds
  • Restricted O0 lowering + deterministic VM for five terminators and three Boolean opcodes with observation digests
  • Eight request-owned reference adapter fixtures, report envelopes, SLEYIDX1 snapshot + four typed queries + evidence capsules
  • Immutable mutation descriptors for 18 entity kinds, proposal-only SLEYCAN1 candidate construction and import/verification (170 accepted + 22 rejected value vectors; 1 accepted + 14 rejected candidate vectors; two-lane persistent fuzz)
  • Fourteen-phase validator for the executable-operation-free subset with independent result corpus and persistent result-import fuzz
  • Protected policy roots, local capability tokens, authorized adapter wrapper, and durable atomic transactions with receipts
  • Native branch refs: atomic lowercase-ASCII named refs, direct-parent CAS, bounded ancestry, GC maintenance coordination
  • Nine persistent libFuzzer targets covering SCB1, schema, packs, types, CFG, queries, VM, adapters, and candidates - plus bounded S20-700 adversarial slices
SSMC1 / SCB1 / SMP1(designated)canonical identities
18 kinds · 75 fieldsmutation descriptors
14 phasesrestricted validator
19-field txn · 9-field receiptatomic commit

Boundaries

What Sley 2 is intentionally not - yet

  • 52 opcode signatures, generics, adapters, VM adapter opcodes, live host/policy transitions, sessions, providers, and deployment remain explicit gaps
  • 19 root-backed query classes, truncation/continuation, master ContextCapsule, SMP1 protocol framing, and JSON bridge are deferred (SMP1 is designated, not claimed implemented)
  • Complete semantic-operation analysis, production fingerprint hardening, and full S20-530 crash-matrix implementation remain gaps
  • Merge, force-reset, symbolic refs, tags, branch deletion, and clone-equivalent pack exchange are not supported
  • Public surface is inspectable pre-release, not an installed language release - no GA, tag, package, or production claim

Full-GA blockers remain: six unmodeled entity bodies, unsupported opcode families, trunk truncated query coverage, master capsule, live provider/shell/network authority, and complete S20-530 recovery implementation. See the repository for exact status.

Sley 1.x Legacy - preserved

Looking for human-readable Sley 1.2?

Sley 1.2 completes the human-readable structural line - self-hosted compiler, 99 report schemas, 187 contract fixtures, 72 corpus cases, 264 integration checks. It remains frozen and available under Apache-2.0.

Open legacy pageLegacy GitHubv1.2.0 release

Repository vs docs

Documentation drift note

The root README still describes named branches as future work, but code evidence proves S20-500 native refs (CAS, ancestry) are landed. Prefer crate code, tests, and docs/WORK_PACKAGES.md over prose when they disagree. Other known divergences: SMP1 is architecturally designated but not claimed implemented.

Work-package DAG ·Architecture ·Transition Chronicle