AUDIO
Source snapshot · 6 November 2026

Build and bundle a plug-in product

Validation

--validate runs adapter contracts where available and validates the final signed bundles. A missing required validator or failed check is an error:

Format Validation
CLAP clap-validator validate, from --clap-validator, PATH or RAVET target/tools
VST3 Steinberg validator, built from the selected external SDK
AUv2 Native component contracts; auval -v with the table's identity
AAX RAVET synthetic-host bundle check; no Avid/PACE validator
LV2 CTest contracts/product smoke/lilv when available, then lv2_validate from PATH

On macOS, validation explicitly runs the requested architecture; universal runs both arm64 and x86_64 validators. clap-validator must contain those slices. lv2_validate checks architecture-independent Turtle on the build host; the final LV2 module contracts execute separately in each requested slice.

For x86_64 AU validation, the tool ad hoc signs a private build-directory copy of Apple's /usr/bin/auvaltool, then loads RAVET's registration helper into that process. The helper registers the exact final signed component's factory and original identity with AudioComponentRegister. This avoids installed-product identity collisions and Apple silicon's omission of Intel-only components from system registration. No component is installed and no Apple binary is shipped. Only trusted product libraries should be validated, as with metadata loading.

The arm64 AU path retains system auval -v: Apple's arm64e validator cannot load an arm64 registration constructor. It temporarily copies the component to ~/Library/Audio/Plug-Ins/Components/ravet-validation-<package>.component, refuses to overwrite an existing path and removes its copy in finally. An installed product with the same identity can affect arm64 registrar lookup; use a clean user environment to qualify that lookup. Exact-bundle native contracts run in both slices regardless. Killing an arm64 validation process without cleanup may require removing its temporary component. No devices or DAWs are opened.

Cross-build validation uses Wine for CLAP/VST3/AAX contracts; supply a Windows clap-validator.exe with --clap-validator, PATH or target/tools. LV2 validates Turtle on the build host. Missing target validators reject validation. A build/validator result is limited to the recorded machine and format; it does not establish DAW, editor, production signing or real-time support. The unified command's current executed evidence is in work status.