Skip to content

v0.11.0 — Script line, algorithm line, and a teardown tool

Choose a tag to compare

@Hao0321 Hao0321 released this 28 Jul 15:25
· 1 commit to main since this release

The tables ship empty on purpose.

This release adds the two things the kit was missing — how to write the script, and how to read the algorithm — plus a tool for measuring other people's vertical videos.

Empty tables, and why

The script gate checks your narration against an audience-vocabulary table: words your viewers actually use, words to substitute, jargon that needs a plain-language partner, jargon that never goes in a voiceover. Every one of those tables ships empty, with a documented method for building them from your own scripts.

A vocabulary list derived from someone else's audience checks your writing against the wrong readers. Shipping a filled table would feel more generous and be worse. With an empty table the gate warns once and lets you through, so you can run first and build the table as you go.

Same principle throughout: the two-machine model ships as shape, lifespan, and read-outs with a six-step SOP to calibrate the thresholds on your own 3–5 videos. Every threshold is <fill in>.

OCR that only reads one direction

src/teardown.py measures any vertical video — cut rate, caption change rate, the ratio between them, and an OCR-extracted caption script.

Measured on real material: 0.92–1.00 on burned-in captions, near zero on photographed signage. Wrong reads on signage still score 0.85–0.92, so a confidence threshold cannot save you.

That asymmetry decides the feature. Reading captions somebody already burned in is safe. Reading a price tag off a shelf and turning it into your own caption is how you publish a wrong product name with a machine's confidence. The tool does the first and the docs say plainly not to attempt the second.

The ratio is the interesting output. Across seven measured videos, every single one changed captions faster than it cut — one of them cut five times in 32 seconds while changing captions forty times. If your footage is one long take, the pacing can live in the text.

Compliance

knowledge/ai-content-compliance.md — 13 rules for AI-generated content and a pre-publish checklist, with 53 cited sources in a separate appendix so the rules file stays short. Dated 2026-07, jurisdiction-dependent, not legal advice.

Fixed

  • shorts_autopilot.build() passed an already-merged rules dict as an override, so the default platform's duration band silently overrode spec["platform"] — then the post-build QA judged an IG Reel against YouTube's band. It reported a plausible-looking wrong answer instead of failing.
  • The 26-44s dead zone is a YouTube Shorts finding; it no longer blocks IG/FB Reels.
  • examples/02 crashed with UnicodeEncodeError on a cp950 console — the default on the Windows the quickstart targets.
  • A named third party's engagement number appeared without a citable source, contradicting the citation-first rule this same release states.
  • Four knowledge files disagreed about when to kill an underperformer. Now one source of truth: read-only for 48h, decide at day 14, one stated exception.

Full detail in CHANGELOG.md.