What ships today.
A backend-neutral Flow model is not permission to overstate release coverage. Support belongs to exact platform, producer, artifact, dependency, and verification tuples.
Current matrix
| Triplet | Status | Current backend evidence | Artifact |
|---|---|---|---|
| darwin-arm64 | Supported | CPU, native Metal, Vulkan/MoltenVK | Release archive + checksum + verifier |
| linux-x64 | Validated | No release-backend matrix claimed | Source candidate; no consumer release promise |
| windows-x64 | Not supported | None claimed | None |
Exact Darwin 1.0.4 host tuple
The supported binary is not “any recent Apple Silicon Mac.” Every row below must match.
These values come from the sealed artifact-identity.tsv carried by the
released SDK; the readable compiler line is shown beside CMake's canonical compiler
identity so you can recognize the same toolchain before running the verifier.
| Tuple field | Exact 1.0.4 value |
|---|---|
| Host | Darwin on arm64 |
| CMake compiler identity | AppleClang 21.0.0.21000101 |
| Human compiler line | Apple clang version 21.0.0 (clang-2100.1.1.101) |
| Compiler target | arm64-apple-darwin25.3.0 |
| Target architecture | arm64 |
| C++ standard library | libc++ 210106 |
| Apple SDK | macosx 26.5, build 25F70 |
| Deployment target | 26.0, compiler macro 260000 |
molten-vk | 1.4.1 |
vulkan-headers | 1.4.341.0 |
vulkan-loader | 1.4.341.0 |
Run this preflight on the Mac that will consume the SDK. It mirrors the verifier's compiler, target, SDK, standard-library, deployment-target, and Homebrew version probes.
set -eu
rund_probe_cxx=${CXX:-/usr/bin/c++}
rund_probe_cxx=$(command -v "$rund_probe_cxx")
rund_probe_dir=$(mktemp -d)
trap 'cmake -E remove_directory "$rund_probe_dir"' EXIT
printf '%s\n' \
'cmake_minimum_required(VERSION 3.20)' \
'project(rund_host_probe LANGUAGES CXX)' \
'file(WRITE "${CMAKE_BINARY_DIR}/identity.tsv"' \
' "compiler_id\t${CMAKE_CXX_COMPILER_ID}\n"' \
' "compiler_version\t${CMAKE_CXX_COMPILER_VERSION}\n")' \
> "$rund_probe_dir/CMakeLists.txt"
cmake -S "$rund_probe_dir" -B "$rund_probe_dir/build" \
-D "CMAKE_CXX_COMPILER=$rund_probe_cxx" >/dev/null
sed -n '1,2p' "$rund_probe_dir/build/identity.tsv"
printf 'compiler_human\t'
"$rund_probe_cxx" --version | sed -n '1p'
printf 'compiler_target\t%s\n' "$("$rund_probe_cxx" -dumpmachine)"
printf 'target_architecture\t%s\n' "$(uname -m)"
printf 'apple_sdk_version\t%s\n' "$(xcrun --sdk macosx --show-sdk-version)"
printf 'apple_sdk_build\t%s\n' "$(xcrun --sdk macosx --show-sdk-build-version)"
rund_probe_sdk=$(xcrun --sdk macosx --show-sdk-path)
rund_probe_macros=$(printf '#include <version>\n' |
"$rund_probe_cxx" -std=c++20 -arch arm64 -isysroot "$rund_probe_sdk" \
-mmacosx-version-min=26.0 -dM -E -x c++ -)
printf 'cxx_standard_library_version\t%s\n' \
"$(printf '%s\n' "$rund_probe_macros" |
awk '$2 == "_LIBCPP_VERSION" { print $3 }')"
printf 'macos_deployment_target_macro\t%s\n' \
"$(printf '%s\n' "$rund_probe_macros" |
awk '$2 == "__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__" { print $3 }')"
brew list --versions molten-vk vulkan-headers vulkan-loader
Expected output for the supported release host:
compiler_id AppleClang
compiler_version 21.0.0.21000101
compiler_human Apple clang version 21.0.0 (clang-2100.1.1.101)
compiler_target arm64-apple-darwin25.3.0
target_architecture arm64
apple_sdk_version 26.5
apple_sdk_build 25F70
cxx_standard_library_version 210106
macos_deployment_target_macro 260000
molten-vk 1.4.1
vulkan-headers 1.4.341.0
vulkan-loader 1.4.341.0
Metal and Foundation come from that Apple SDK. Vulkan/MoltenVK remains an external
dependency; the archive does not bundle it. Matching this visible output is a useful
preflight, while rund-verify remains the final authority because it also
checks resolved native-library identity.
Use the archive, checksum, and verifier as one set
The archive contains public headers, libraries, package files, license, and sealed identities.
Its adjacent checksum binds the archive bytes. rund-verify validates both and
executes the installed package boundary before publishing the versioned prefix.
rund-sdk-1.0.4-darwin-arm64.tar.gz
rund-sdk-1.0.4-darwin-arm64.sha256
rund-verify- Download all three from the same release.
- Install into a fresh versioned prefix.
- Point CMake at that prefix and link only
runD::sdk. - Never treat a retained CI candidate or successful source build as a supported consumer artifact.
Additional backends
The public identity is the Flow contract, not a fixed list of GPU APIs. A new lowering can be introduced without creating a second computation language, but it must carry the same numeric, graph, ordering, resource, failure, output, and evidence contracts.
The 1.0.4 Alpha makes no CUDA or other additional-backend support claim. Future intent is not a shipped product tuple.
Status language
- Supported: a release artifact exists and package, consumer, and component validation passed.
- Validated: source-level tests pass, but no release artifact is promised.
- Not supported: no supported artifact or conformance claim is published.
The rendered matrix above follows the checked tuple registry. For release engineering details, inspect the optional platform policy source ↗.