Status and limits
Unreleased preview — pinned product evidence
Version
0.9.0, source revision0238eac1721d820d16ba5390e0e4641391be1d59, channelpreview.
This documentation describes the pinned clean-prefix evidence bundle, not the current development branch. Later mainline suite and realtime-qualification corrections are deliberately outside this release boundary. Regenerate the bundle and re-review the affected pages before describing a different revision.
Platform summary
Section titled “Platform summary”- macOS: host-neutral SDK surfaces and the CoreAudio production device backend are supported on the documented Apple toolchain.
- Windows: host-neutral SDK/package surfaces are supported; WASAPI is source/fake-test capable but not release-supported. Its generated target entry does not promote it.
- Linux: host-neutral SDK/package surfaces and Dummy are supported; no production device backend is shipped. ALSA, JACK, and PipeWire are distinct unavailable providers.
- ASIO: optional Windows source-only integration requiring a separately supplied vendor SDK; it is excluded from install/export artifacts.
A device backend is not promoted because its source compiles. Backend package, ABI, conformance, and physical-device evidence must satisfy the release gate. Toolchains outside the required matrix may work, but are not release-qualified until explicitly added.
ABI and package boundary
Section titled “ABI and package boundary”The stable C ABI is major 1, minor 0. Negotiate those values before using the C tables and treat a major mismatch as incompatible. C++ consumers must rebuild against matching headers when using extended virtual interfaces. TreefallSDK discovery and Treefall:: targets address the same installed physical target graph as the compatibility package; they do not create a second binary graph.
CMake 3.22 is the package minimum, and consumers need a compiler with C++20 support. The evidence bundle requires the real SndFile provider for its WAV PCM16 path; that narrow evidence does not claim execution of every documented codec tuple.
Realtime limits
Section titled “Realtime limits”The audio callback is one non-reentrant consumer. It must use preallocated planar buffers and perform no allocation, locks, blocking operations, file or network I/O, hidden logging, or host callbacks. Control-side source preparation, file opening, decoding setup, hashing, and page prewarming happen before publication. The bounded control-to-audio ingress has 255 usable nodes; refusal is observable as NotReady and through ingress telemetry.
Prepared sources are the callback boundary. A streaming cache miss renders silence and emits BufferUnderrun rather than blocking. Callback lifetime requires explicit coordination during stop and shutdown. Drain transport events and telemetry on the message/control thread; telemetry is bounded observation, not analyzer history or application-level scheduling.
Evidence boundary
Section titled “Evidence boundary”The bundle records exact source, target-catalog, example, and stdout evidence hashes for the pinned revision. Its transport smoke covers a silent 48 kHz, two-channel block; its audio-file smoke covers four PCM16 WAV frames through the required provider; and its C smoke covers ABI 1.0 availability. These checks demonstrate package consumption and selected behaviors, not a full platform/device qualification matrix.