v0.7.5
Fifteen commits of fixes and groundwork. The user-facing half is a batch of
"the tool now tells you the truth" fixes; the rest is unwired plumbing the
v0.8 multi-format work builds on.
Added
-oas a short alias for--output-dir(#132, thanks @ulises-jeremias).step_timestamps.json: per-step[start, end]offsets on the tape clock,
written besidetape_coverage.json— YouTube chapter markers today, the
promo cut's segment source next (#231).- Brand-kit configuration (
brand_logo,brand_color,brand_font) plus
pure ffmpeg drawtext helpers (#232). - A declarative
TTS_PROVIDERStable mirroringllm.PROVIDERS— resolution
and preflight only, no audio generation (#213). classify_url: a pure classifier telling a git repo URL from a hosted docs
page, unwired pending docs-site ingestion (#207).docs/dependencies.md— the pinning policy, including why the sandbox
image's Claude Code pin is coupled to the stream-json parser (#219).
Fixed
--dry-runno longer demands the agent credential, the sandbox image, or
the Docker CLI — none of which it uses. The one command meant to be a cheap
feasibility check before committing a key was gated behind that key
(#221, closes #220).verify_retriesis honored as a retry count:verify_retries=3now means
four attempts, not two. Any value ≥ 1 previously collapsed to two
(#229, closes #45, thanks @Nitjsefnie).- Python inline regex flags are fully translated for
grep -E:(?is)and
friends no longer reach the shell, and(?x)fails loudly at distill
instead of silently at verify (#214, closes #108). - Six CLI/orchestrator/llm errors now say what to do next, not just what
failed (#203, closes #198, thanks @MohammedAnasNathani). - Sandbox containers carry a
readme2demo=1label, so containers leaked by a
hard kill can be reaped by label (#239, closes #238, thanks @foma-agent). - Image alt text is descriptive in the README, the examples gallery, and
generated tutorials (#216, closes #197).
Changed
- DSL escaping helpers extracted to
escaping.py— a zero-behavior move that
establishes the review pattern for splittingdistill.py(#210, closes #195). SECURITY.mdrestructured into a claims-vs-roadmap table with file
pointers, so no control is claimed that code doesn't enforce
(#205, closes #168 and #65, thanks @kevinnft).docs/usage.mddocuments publishingbadge.jsonfor shields.io (#208).