Skip to content

feat: add bounded HandBrake video adapter - #394

Merged
szmyty merged 1 commit into
mainfrom
feat/handbrake-adapter-345
Sep 11, 2026
Merged

szmyty merged 1 commit into
mainfrom
feat/handbrake-adapter-345

Conversation

@szmyty

@szmyty szmyty commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • integrate adapter.media.handbrake and tool.handbrake for video.transcode.whole_file
  • expose typed official presets plus side-effect-free planning and CLI execution
  • run HandBrakeCLI through renderflow.process/v1 with direct argv, timeout, bounded output, process-tree cancellation, progress heartbeats, and denied network intent
  • validate and atomically publish MP4 output with size bounds, SHA-256 provenance, provider/tool evidence, and a flow.artifact/v1 projection
  • make the Aniflow ownership boundary explicit for segmentation, boundary selection, manifest ordering, and reconstruction
  • publish capability/transform schemas and user/provider documentation

Verification

  • formatted all changed Rust sources with rustfmt
  • cargo check --workspace --all-targets --locked
  • cargo clippy --workspace --lib --bins --all-features --locked -- -D warnings -A clippy::too_many_arguments (allows one inherited warning in the existing build command)
  • parsed all checked-in JSON schemas with jq
  • exercised capability and adapter-catalog CLI projections
  • exercised planning and the complete bounded execution/provenance path using a synthetic HandBrakeCLI harness and a real MP4 fixture

HandBrakeCLI is not installed in the work environment, so encoder-specific output quality was not assessed. The full test suite was intentionally skipped for this sprint.

Roadmap-Step: REN-02

Closes #345

@szmyty
szmyty merged commit 9309c12 into main Sep 11, 2026
11 of 14 checks passed
@szmyty
szmyty deleted the feat/handbrake-adapter-345 branch September 11, 2026 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Define the HandBrake transform adapter and Aniflow boundary

1 participant