feat: adopt typed yt-dlp broker and reproducible CI
Merged
MP
4mo ago+3198+3198+0123456789012345678901234567890123456789-731-731-012345678901234567890123456789
Summary
- migrate all yt-dlp calls to the typed run_ytdlp host contract
- remove plugin-controlled binaries, arguments and timeout values
- add full WASM ABI smoke coverage and pinned reproducible CI
- use upstream Extism 1.30.0 and stop tracking the generated WASM binary
Validation
- 106 unit tests and 3 WASM smokes pass
- native and WASM Clippy pass with warnings denied
- release WASM build and cargo audit pass
Linear: MAT-129, MAT-131
Summary by cubic
Migrates all yt-dlp calls to the typed run_ytdlp broker to harden security and make behavior consistent across hosts. Adds WASM ABI smoke tests and reproducible, pinned CI (repinned reusable workflows); updates extism to 1.30.0; stops tracking the built WASM; and restricts releases to the repo owner. Linear: MAT-129, MAT-131.
-
New Features
- Switched to the typed
run_ytdlphost API; the host now owns the binary, args, timeouts, env, and cwd. - Added WASM ABI smoke tests and reproducible CI with a pinned Rust toolchain; split verification and release workflows, pinned canonical reusable workflows by SHA (repinned), and limited tag releases to the repository owner.
- Updated to
extism1.30.0 and removed the trackedvortex_mod_youtube.wasm.
- Switched to the typed
-
Migration
- Requires Vortex host >= 0.2.0 (
min_vortex_versionupdated). - Host must provide
run_ytdlpand manageyt-dlp; installyt-dlpin a host-approved path. - Plugin install path updated to
~/.local/share/dev.vortex.app/plugins/...as shown in the README.
- Requires Vortex host >= 0.2.0 (