Automated release: version and notes generated from pull requests merged since 3.8.6.
Fixed
- What the tools and the contract say, made to match what they do (#466: A193, A194, A195,
A198, A202; #467 A226; #464 A122; #463 A155).graphics.py --dry-runon an input an earlier
step would write refused "--end must be after --start" (the probe stub's 0 s read as the
clip's end); with no--endit now plans to a placeholder 10 s after--startand says so in
notes(silence,crop,freeze,loop,redact,speedrampandmulticamstill refuse
a dry run on such an input).contract --json:probeisanalysis_onlyunder--dry-run,
since--analyzedecodes with ffmpeg;output_schemagains the top-level keys these tools emit
and it left out: cropdetect (crop,confidence,file,source_width,source_height,
motion_centre), probe (levels,audio_streams,stream_countsand others), graphics, join,
loudness, multicam, broll, grid, scenes, batch, render and report, and join'smodeenum gains
copy(a test runs those tools and fails on an emitted key the schema lacks); every tooldescriptionis the docstring's first sentence,
where 16 ended mid-phrase on the first physical line;error_kindsnames the encoders, the
VP9 decoder and the speech engines undermissing_tool, and loudness.py, join.py--copy
and render.py's social pack underverification; color.py'salpha_codecdescription says a
10- or 12-bit ProRes 4444 alpha keeps 8 bits of precision through--correct/--lut. An
FFmpeg older than 6.1 is refused with a hint that names a newer build, notsudo apt install ffmpeg, which reinstalls the same version.export.py --normalize's help lists the platform
presets it takes from the table (10), not four. - Docs that disagreed with the code (#466: A191, A192, A197, A199, A200, A201, A209, A210,
andreferences/flags.md's dry-run list; #467 A32; #463 A155). SKILL.md's slow-motion row
(fit.py --duration 2x) and blank-clip row (background.pywithout--width/--height)
failed on every input.docs/contract.md's role and verification-policy tables cover all 42
tools, andrequires_visual_verificationis stated as the tools whose row nameslook; a test
compares both tables with the contract.references/workflow.mdandgotchas.mdno longer say
scenesrefuses audio, or prescribe--langforoverlay.py, which has none.
ci-platform-pitfalls.md's drawtext remedy names the flag each tool has.flags.mdstates
verify.py's 600 s per-step--timeout, the tools without-o, and the whole dry-run list.
README: the fake-ffmpeg dry-run test now has a case for every tool whose dry run runs no ffmpeg
(it had 19 cases over 18 tools), the Windows skips are described without a count, and a push
with nothing to release still asks the MCP Registry (release.yml's comment says the same).
docs/design-decisions.md: color.py's merged alpha is 8-bit, not "kept as decoded". - fix: the contract, SKILL.md, references and README say what the code does (#466, 17 audit items) (#507)
What's Changed
- fix: the contract, SKILL.md, references and README say what the code does (#466, 17 audit items) by @kajisho5 in #507
Full Changelog: v3.8.6...v3.8.7