OpenMontage/lib
0xDevNinja 7ad68f28ec fix(corpus): normalize diversify() position term so similarity can compete
The greedy score mixed incommensurate scales: cosine similarity bounded
to [-1, 1] against an absolute list index that grows with the pool. For
a candidate j positions later to be preferred at the default
diversity=0.5, its similarity advantage had to exceed j -- impossible for
the non-negative cosines real footage embeddings produce. diversify()
therefore returned the input order verbatim, placing exact-duplicate
clips in adjacent edit slots, the one thing its docstring promises to
prevent. The threshold where the knob started working also depended on
pool size (0.66 at 4 candidates, 0.95 at 11).

Normalize the position term to [0, 1] so both terms share a scale. The
documented endpoints hold exactly as before: diversity=0 returns input
order, diversity=1 picks the most mutually dissimilar. Enumerating the
position also drops the O(n^2) remaining.index() lookup per candidate.

Closes #392
2026-07-16 18:44:14 +05:30
..
providers Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
__init__.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
checkpoint.py fix(checkpoint): don't KeyError on manifest stages without a canonical artifact 2026-07-07 15:29:03 +05:30
clip_embedder.py Add documentary-montage pipeline for retrieval-first motion-clip montage 2026-04-10 16:04:28 -07:00
config_model.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
corpus.py fix(corpus): normalize diversify() position term so similarity can compete 2026-07-16 18:44:14 +05:30
delivery_promise.py fix(delivery): recompute motion requirement after source-led override 2026-07-04 19:37:33 +05:30
env_loader.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
events.py backlot phase 0 review fixes: fail-closed gates, atomic checkpoint writes, event attribution hardening 2026-07-01 23:24:11 -07:00
hyperframes_style_bridge.py hyperframes: add HTML/CSS/GSAP as a parallel composition runtime 2026-04-18 18:37:00 -07:00
media_profiles.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
paths.py backlot: README showcase + screenshot pipeline, unlisted-stage placement fix 2026-07-02 07:20:17 -07:00
pipeline_loader.py backlot phase 0 review fixes: fail-closed gates, atomic checkpoint writes, event attribution hardening 2026-07-01 23:24:11 -07:00
playbook_generator.py Implementation spec: governance, decision intelligence, theme system, and E2E bug fixes 2026-04-03 09:35:09 -07:00
scoring.py fix(scoring): strip trailing punctuation from tokens 2026-07-03 20:15:17 +05:30
shot_prompt_builder.py Implementation spec: governance, decision intelligence, theme system, and E2E bug fixes 2026-04-03 09:35:09 -07:00
slideshow_risk.py hyperframes: add HTML/CSS/GSAP as a parallel composition runtime 2026-04-18 18:37:00 -07:00
source_media_review.py fix(source_media_review): use registry.get() not get_tool() 2026-04-23 01:45:00 -04:00
variation_checker.py fix(variation_checker): measure longest run for consecutive same-size shots 2026-07-02 16:52:00 +05:30
verify_scene_pacing.py screen-demo: add synthetic-terminal mode via Remotion TerminalScene 2026-04-16 19:22:46 -07:00