Interoperability is a sequence of gated boundaries, not a percentage.
One verified artifact at a time.
The long-term objective is bidirectional ecosystem interoperability and broad target support. The current repository contains narrower compiler, host, loader, ABI, and generated-package slices whose source, execution, publication, and support states must be read separately.
entity Semaprax
status pre-alpha research
snapshot b9f593c
authority github.com/wavect/semapraxRepository status at the audited snapshot
| Repository snapshot | b9f593c · 2026-09-16. The reviewed main commit equals the v0.5.0 tag. Its exact-tag CI completed successfully; the separate branch CI was cancelled. Neither is a blanket production or security guarantee. |
|---|---|
| Full product status | 55 Partial · 0 Implemented · 0 Missing |
| Graph and project contract | Feature-selected graph schemas preserve earlier contracts. Project v1 is the baseline; owned-data profiles v8, v9, v10 and v11 have distinct admission and support boundaries. |
| Published pre-release | v0.5.0 · Published 16 September 2026 at 09:43 UTC. Three archives: Linux x86-64, macOS Apple Silicon and Windows x86-64, with SHA256SUMS. The packaged semaprax binary is the full toolchain, not the standalone Cargo CLI. Exact-tag CI. |
| Package and API previews | A published toolchain does not publish its generated Rust/npm packages or promote private APIs. Project v8-v11 support decisions, public generic ownership, broader platforms and native/Wasm Agent-stage execution remain separate. |
Which platforms and ecosystems does Semaprax support?
Published v0.5.0 toolchains cover Linux x86-64, macOS Apple Silicon and Windows x86-64. Admitted programs run in the interpreter, through C11/Clang or through Core WebAssembly. Project v8-v11 expand generated owned-data boundaries from Bytes to flat records, UTF-8 and nested records. Those developer-preview packages and private mobile/component profiles are not a stable general ABI or universal application support. Source Agent stages remain interpreter-based.
Target support evidence
| Platform | Source state | Evidence and provenance | Publication state | Supported scope |
|---|---|---|---|---|
| Linux native | Partial | Published v0.5.0 x86-64 GNU/Linux full-toolchain archive with SHA-256 checksum. Evidence | Bounded pre-alpha source/toolchain profile | Native compilation requires Clang; individual language, loader and host profiles remain bounded. |
| macOS native | Partial | Published v0.5.0 Apple Silicon full-toolchain archive with SHA-256 checksum. Evidence | Bounded pre-alpha source/toolchain profile | This release has no Intel macOS archive. Source builds and private desktop profiles are separate from a general macOS application platform. |
| Windows native | Partial | Published v0.5.0 x86-64 MSVC full-toolchain ZIP with SHA-256 checksum. Evidence | Bounded pre-alpha source/toolchain profile | Selected Windows release gates succeeded. Loader, package and native execution contracts remain distinct from general Windows app support. |
| Browser and Core WebAssembly | Developer preview | Scalar exports and generated npm/Wasm owned-data consumer profiles, including Project v8-v11. Evidence | Generated/private preview; publication and public support are separate decisions | Generated packages remain unpromoted/unpublished; do not infer every browser engine, arbitrary Web APIs, or source Agent-stage execution. |
| iOS / Swift | Partial | Private bounded Swift ownership, static-loader and application-runtime profiles. Evidence | Generated/private preview; publication and public support are separate decisions | Simulator/host evidence does not establish all physical devices, App Store deployment or a complete public mobile toolchain. |
| Android / JNI | Partial | Private JNI/Kotlin application, ownership and emulator-runtime profiles. Evidence | Generated/private preview; publication and public support are separate decisions | Emulator and selected ABI evidence does not establish universal device compatibility or a maintained Android application framework. |
Ecosystem boundary evidence
| Ecosystem boundary | Source state | Evidence and provenance | Publication state | Supported scope |
|---|---|---|---|---|
| C11 and Clang | Partial | Generated native backend for admitted checked programs. Evidence | Bounded pre-alpha source/toolchain profile | Requires a C11-capable Clang driver; not arbitrary C header/library interoperability. |
| Rust host and generated consumers | Developer preview | Project v8 carries Bytes and selected Option/Result forms; v9 adds flat owned records, v10 owned UTF-8 and v11 nested owned records. Generated native/Rust and npm/Wasm consumers, private transports and public generic metadata each have separate contracts. Toolchain release, package publication and public support are different decisions. Evidence | Generated/private preview; publication and public support are separate decisions | Embedding and generated SDK routes are separate. Workspace-private crates and generated packages do not become registry-published or stable APIs with this release. |
| JavaScript / TypeScript / npm | Developer preview | Bounded scalar exports and generated Core-Wasm owned-data packages for Project v8-v11. Evidence | Generated/private preview; publication and public support are separate decisions | Scalar support does not promote owned-data packages. Browser coverage, copy-out/lifetime rules and package support remain profile-specific. |
| WIT and Component Model | Partial | Isolated component-runtime and WIT boundary fixtures exist. Evidence | Bounded pre-alpha source/toolchain profile | Core Wasm support is not general Component Model publication, stable resource ABI or arbitrary component composition. |
| Swift and JNI | Partial | Private ownership, loader and host-application integration profiles. Evidence | Bounded pre-alpha source/toolchain profile | No general bidirectional host-language/package compatibility or universal physical-device claim. |
| Public generic ABI | Roadmap | Internal generics and prerequisite metadata/compatibility gates are implemented in bounded profiles. Evidence | Bounded pre-alpha source/toolchain profile | A public generic descriptor and carrier, remaining milestone gates, and an explicit support decision are still required. No public generic signature is supported by those prerequisites alone. |
| Model providers and host services | Experimental | Explicit host adapters supply credentials, transport and stores. Limits can cover calls, tokens, bytes, deadlines and quoted costs. Durable profiles acknowledge intent before dispatch and refuse uncertain redispatch. Generic host profiles support bounded retry/failover; the bound source-model route does not automatically retry or switch providers. Usage observations are not guaranteed invoices. Evidence | Bounded pre-alpha source/toolchain profile | Explicit adapter, credentials, store and transport configuration; not provider-independent guaranteed billing or automatic authority. |
Long-term objective
A program should cross native, browser, mobile, desktop, and existing-language boundaries without losing ownership, error, or semantic identity facts. That objective remains roadmap work until each public boundary has reproducible conformance evidence.
Reviewed against the pinned source commit and the v0.5.0 release record. Versioned specifications define admission and authority; older v0.4 release headings in the matrix and roadmap are historical, not the latest release identity. GitHub repository.
Primary sources for this page
Reviewed against the pinned source commit and the v0.5.0 release record. Versioned specifications define admission and authority; older v0.4 release headings in the matrix and roadmap are historical, not the latest release identity.
Questions, answered without the hype
Does Semaprax support every native target?
No. The release provides Linux x86-64, Apple Silicon macOS and Windows x86-64 toolchains. Core Wasm/browser and private mobile/desktop profiles have narrower contracts. General platform support and native/Wasm source Agent stages are not established.
Is Semaprax 100 percent interoperable with other languages?
No. Profile-specific scalar and owned-data routes exist, including Project v8-v11 generated consumers. Stable general aggregate/resource/component/generic ABIs and maintained package support require their own completion and publication decisions.