SLYNET 1.1.0 release status
SLYNET 1.1.0 release status
Audited: 2026-08-27
SLYNET 1.1.0 is the capability-consolidation release: it adds a stable Janet embedding API, expands daily Emacs workflows and recovery behavior, makes protocol/test correspondence machine-auditable, and repairs the static xref substrate without pretending Janet provides Common Lisp runtime semantics.
The exact qualified revision, local release-gate results, and artifact hashes are
recorded by dist/release-evidence.yml. The immutable v1.1.0 tag is valid only
after the canonical GitHub Actions compatibility matrix and local release gate
both pass.
The frozen v1.0.7 semantic snapshot remains available as
RELEASE_STATUS_1.0.7.md.
Release posture
version: 1.1.0
release_kind: qualified_minor_release
canonical_repository: https://github.com/fkr-0/slynet
release_tag: v1.1.0
supported_janet: 1.40.x-1.41.x
supported_emacs: 27.1-30.x
compatibility_matrix:
janet: [1.40.1, 1.41.1]
emacs: [27.1, 28.2, 29.4, 30.1]
cells: 8
supported_os:
- GNU/Linux
- macOS
unverified_os:
- Windows
security_boundary: trusted_localhost_only
publication_gate: local_release_verify_plus_canonical_ci_matrix
Release verification
make release-verify is the local release authority. It checks:
- release/version coherence and public-documentation freshness;
- generated schema-6 protocol inventory and stable-surface coverage;
- Janet parse/load and the complete Janet test suite;
- Emacs ERT, lint, byte compilation, and deterministic transport fuzzing;
- repeated live Janet/Emacs lifecycle E2E with server-leak detection;
- packaged Janet and Emacs artifacts through an extracted-artifact start/connect/MREPL/eval smoke;
- machine-readable artifact checksums and release evidence.
The canonical .github/workflows/ci.yml compatibility job additionally runs the
cross product of Janet 1.40.1/1.41.1 with Emacs 27.1/28.2/29.4/30.1 and executes
make lint, make test-janet, make test-emacs, and make test-e2e in each
cell. Tagging is fail-closed on that matrix.
Stable user workflow
The 1.1 line keeps the trusted-localhost SLYNET model and materially broadens the daily workflow:
- Stable Janet embedding API v1 —
slynet/api.janetexposes version and capability discovery, initialization, RPC metadata lookup, context-free in-process calls, loopback-safe server lifecycle, owned lifecycle contexts, and transport-independent context status. The historicalslynet/slynet-api.janetimport is a compatibility shim. - Daily Emacs editing commands — eval last form/region/definition/buffer, compile/load the current file, cooperative managed-execution-unit interrupt, newest-pending request cancellation, project-aware connect/start/reconnect, and deterministic quit/teardown.
- Recovery and UI state — inspector back/forward/refresh/actions, source-aware debugger controls, stale-buffer marking on connection loss, timeout/late-reply recovery, and continued evaluation after recoverable failures.
- Source navigation and xref — all top-level Janet forms are parsed, function
bodies are recursively analyzed, parser sourcemaps provide exact source
coordinates, caller context is retained, modified-file facts replace old
facts, deleted-file facts are pruned, and
list-callersmatches the reference query signature. - Compile/load compatibility — structured Janet diagnostics retain source provenance; compiler-macroexpand compatibility is explicit Janet emulation and does not claim Common Lisp lexical-environment/compiler-macro equivalence.
- Transport, REPL, completion, inspector and debugger facade — the existing release-qualified local TCP/MREPL/completion/autodoc/inspection/debugger flows remain part of the stable product contract.
Protocol inventory: schema 6
The generated inventory tracks 284 historical SLY/SLYNK operations. The release-critical stable subset is deliberately smaller and is 100% functionally registered and directly mapped to tests on every declared frontend surface.
| Inventory state | Count | Meaning |
|---|---|---|
| implemented + directly tested | 70 | Callable functional registration plus explicit operation-level :covers evidence. |
| implemented, no direct mapping | 27 | Callable functional registration without direct operation-level test ownership. |
| defined but unwired | 10 | Janet implementation exists but no callable RPC registration exists. |
| registered stub | 5 | Registered endpoint is truthfully an error/unsupported stub. |
| missing | 172 | No Janet implementation or callable registration is present. |
Support classification is 247 native, 35 emulated, and 2 explicitly unsupported operations.
Release-critical stable subset
| Surface | Stable operations | Directly tested | Coverage | Gate |
|---|---|---|---|---|
| compile/load | 4 | 4 | 100% | pass |
| completion | 6 | 6 | 100% | pass |
| debugger | 7 | 7 | 100% | pass |
| inspector | 5 | 5 | 100% | pass |
| REPL | 3 | 3 | 100% | pass |
| transport | 4 | 4 | 100% | pass |
| xref | 2 | 2 | 100% | pass |
These numbers remain conservative by design. Historical protocol operations are not automatically 1.1 product commitments merely because the reference corpus contains them.
Deliberate semantic boundaries
SLYNET remains explicit about Janet/Common-Lisp non-equivalence:
- Janet modules/environments are not Common Lisp packages/reader semantics.
- Janet exceptions, fibers and stack traces do not provide CL conditions/restarts or resumable debugger continuations.
- Janet execution units do not map one-to-one to implementation threads.
- Janet has no CLOS/MOP substrate; CLOS-specific compatibility operations stay unsupported rather than being faked.
- Janet compiler diagnostics and macro expansion differ from CL compiler notes, compiler macros and lexical expansion environments.
who-referencesremains deliberately unwired until static variable-read analysis is precise enough to avoid false claims.
Debugger stepping for arbitrary uninstrumented native Janet frames, complete profiler/trace/sticker UI, Windows qualification, remote/TRAMP, hostile-network, and multi-user operation are not 1.1.0 release claims.
Documentation authority
Use these sources in this order:
docs/generated/protocol-inventory.yml— generated operation-level truth.docs/generated/protocol-coverage.md— generated stable-subset coverage.- this document — audited 1.1.0 release summary.
ROADMAP.md— post-release implementation priorities.docs/RELEASE_STATUS_1.0.7.md— immutable historical 1.0.7 snapshot.docs/missing_protocol.mdandTASKS.md— historical planning inputs only.