Skip to content

Sley 2.1.4

Choose a tag to compare

@GreyforgeLabs GreyforgeLabs released this 21 Oct 20:59
· 30 commits to main since this release
Immutable release. Only release title and notes can be modified.

Sley 2.1.4 is a point release. The VM's compact scalar plan runs loops faster: the loop benchmarks are 1.56-1.95x faster than in 2.1.3, and call-bound fib(30) is unchanged. Sley is still about 1.9-2.7x slower than CPython 3.13 on every program measured. Fuel and instruction counts are identical to 2.1.3. The Python dialect now takes pytest-style tests and @dataclass records in the same file. In a scripted token-count harness, a write-test-fix loop in the dialect costs 1.10x, 1.08x and 0.73x the tokens of the same loop in Python.

Release notes · Benchmarks · Token cost · Quickstart

Changes

  • Faster scalar loops (#49): registers joined by block edges share slots, so most edge moves disappear. Runs of steps between calls are charged fuel in prepaid batches with exactly the same totals. 64-bit word results are built in one store. Fuel, instructions and value units are identical to call --reference.
  • Inline pytest-style tests and record classes (#50): def test_*(): functions of assert lines and with pytest.raises(E): become TestCases, so one try --familiar compiles and tests the file. @dataclass classes of annotated fields declare record types.
  • Shorter try output (#50, #51): a passing try prints one line and next:. Failing tests name their source line. pytest.raises(E) is checked statically; at run time any trap still satisfies it. --json is unchanged.
  • bench/token-cost: the scripted harness behind the token table.

Benchmarks (wall ms, hyperfine median, release musl binaries, same session)

benchmark Sley 2.1.3 Sley 2.1.4 CPython 3.13.5 PyPy 7.3.19 Lua 5.4.7 LuaJIT 2.1 Node 22.23 Ruby 3.3.8
fib 30 207 209 79 163 38 8.0 28 94
loopsum 1e6 181 117 52 20 8.6 8.6 32 67
collatz 5000 137 71 30 19 8.0 2.4 20 52
primes 30000 143 84 36 19 7.7 2.4 20 56
gcdsum 400 132 71 37 60 12 6.1 27 62
fib 1 (startup) 1.6 1.7 9.2 15 0.6 0.5 17 39

These are development measurements on one 8-vCPU cloud VM, pinned to one vCPU, with 2 warmups and at least 10 runs. They are not a GA claim. The method, ranges and raw records are in the release notes.

Token cost of a write-test-fix loop (o200k_base, 9 tasks)

scenario Python (pytest) Sley 2.1.3 dialect Sley 2.1.4 dialect, inline tests
clean 1338 4317 (3.23x) 1473 (1.10x)
logic bug 2690 6747 (2.51x) 2916 (1.08x)
typo 3933 6239 (1.59x) 2873 (0.73x)

These are scripted tokenizer counts, not model spend. The Python form uses a separate test file. The one-time guide read (help python, 407 tokens) is excluded. The native and JSON forms are still heavier: familiar syntax is 2.55x/1.91x/1.23x of Python and AF1-X JSON 2.02x/1.66x/1.08x.

Kernel, SSMC1, SCB1, SMP1 rules, the instruction set, admission and commit semantics are unchanged. No third-party dependency was added. The native test supervisor is still source only: committing a candidate that selects TestCases still refuses with TXN_TEST_EVIDENCE_UNSUPPORTED.

Two maintainer checks, check_candidate_result_contract.py and check_transaction_contract.py, were waived for this release. The waiver is carried forward from the 2.1.2 operator decision; the operator has not re-confirmed it. The checks need the Sley 2.0 master goal, which is unavailable off the maintainer host. This is not a pass. The persistent-fuzz proofs use the documented toolchain override (Debian clang 18.1.8), as in 2.1.2 and 2.1.3.

Linux x86_64

sley-2.1.4-linux-x86_64.tar.gz contains static musl sley and sley-agent binaries. It was built from a043a1b8355120e22b08f126fedf02d17a16fded; two clean builds on the primary host produced identical archives.

  • Size: 7,698,959 bytes; 17 archive members
  • SHA-256: 91364bac4864f001640df127836af18e7bf88fa3131d6c203e7edb8d27de5cf1
sha256sum -c SHA256SUMS
tar xzf sley-2.1.4-linux-x86_64.tar.gz
cd sley-2.1.4-linux-x86_64
./bin/sley version
./bin/sley-agent help python
python3 demo/run_demo.py

ga_claimed remains false. Cross-host reproducibility is not claimed, and provenance is unsigned.