OpenMontage/tests/tools
0xDevNinja 7b1eef49f2 feat(publish): add export_bundle, the first PUBLISH-tier tool
Every pipeline ends in a publish stage that produces a publish_log artifact,
but tools/publishers/ shipped empty (only __init__.py) — no tool backed the
PUBLISH tier, so the mechanical packaging (copy the render, write metadata
files, lay out the export directory, emit a schema-valid publish_log) had to be
hand-rolled by the agent every run.

Add a local, offline export bundler:
- capability 'publish', provider 'local', runtime 'local', deterministic, no cost
- takes the final video_path plus the SEO metadata the publish-director prepares
  (title, description, tags, hashtags, chapters, optional subtitles/thumbnail)
- writes exports/<project>/{video,metadata,thumbnails}/ matching the
  publish-director skill's documented layout
- returns a schema-valid publish_log (status: 'exported') in data, validated
  against schemas/artifacts/publish_log before returning so a bad entry fails
  here rather than at checkpoint

It does not upload — a networked publisher (e.g. YouTube) can be added later as
a separate provider under the same 'publish' capability.

Tests cover the contract, registry discovery, the export layout, chapter-time
formatting, the schema-valid publish_log, and the missing-video error path.
2026-06-29 15:40:59 +05:30
..
__init__.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
test_clip_cache.py docmontage: corpus builder hardening from P1 + P2 audit observations 2026-04-11 00:46:06 -07:00
test_documentary_governance.py hyperframes: add HTML/CSS/GSAP as a parallel composition runtime 2026-04-18 18:37:00 -07:00
test_export_bundle.py feat(publish): add export_bundle, the first PUBLISH-tier tool 2026-06-29 15:40:59 +05:30
test_hyperframes_compose.py video-compose: catch TTS punctuation leaks in final review 2026-04-18 22:16:27 -07:00
test_stock_source_adapters.py docmontage: corpus builder hardening from P1 + P2 audit observations 2026-04-11 00:46:06 -07:00