v0.10.0 — Shorts + interview production lines
Making the wrong edit structurally impossible.
This release grows the kit from one production line into three — long-form, vertical Shorts, and interview show — each built the same way: a knowledge layer, a mechanical gate, and a one-command driver.
The idea worth stealing, even if you never run this code
expand_caps() binds captions to segment indexes and derives their timings from the segments. Nobody touches a timeline number.
The bug it kills is a nasty one. A caption gate that checks "this caption must not span a cut" passes a whole file of captions that are each shifted one segment late — because every one of them does sit inside a segment. Just the wrong segment. The gate is green, the video is wrong, and you only find out when a human watches it. Bind to indexes instead and that class of error cannot be expressed.
Two silent failures fixed (both were in previous releases)
- Fake green.
final_delivery_qahad no profile gate — passing only a video printedDELIVER OK. It now forces the full gate set and BLOCKs on missing inputs. The signature is also keyword-only aftervideo, because the positional form that earlier docs showed boundass→contact_outandsheets_dir→audio, leaving the real inputsNoneand BLOCKing forever. That one looked like the gate working. - Fake block.
detect_flashflagged every fade-to-black transition as strobing, so delivery was permanently blocked.classify_flashnow separates real strobing from intentional dips and lists transitions for human review.
If you only test that a gate passes when it should, a gate that blocks everything looks like a strict gate. Test both directions.
New
shorts_gate.py— 12 labelled structure/caption rules; thresholds overridable viarules=shorts_autopilot.py—scannormalizes to 9:16, builds a contact sheet, crops likely text regions, and auto-arranges segments by per-0.5s sharpness/brightness/motion;buildgates, renders, and QAsinterview_gate.py+interview_autopilot.py— invite → plan → build. A guest with no verifiable achievement is blocked at plan time, and compliance is a human signature:planwrites "pending review" and the gate blocks until you pass--compliance-ok. A program that writes its own compliance stamp and then checks for that stamp is not a gate.- 11 interview templates + a show profile — copy lives in templates, code only fills it in
examples/04and05run with no media and nopip install
Calibrate, don't copy
Shorts length is bimodal: 13-25s or 45-60s; 26-44s is a dead zone. Earlier versions of this kit suggested 20-45s, which is half dead zone. Every other threshold shipped here is one calibration, not a universal truth — recalibrate on your own 3-5 videos.
Full detail in CHANGELOG.md.