Skip to content

Wider ideas, scores that follow the film, recipes when you want them - #63

Merged
ZLHad merged 10 commits into
mainfrom
claude/divergence-scoring
Oct 5, 2026
Merged

ZLHad merged 10 commits into
mainfrom
claude/divergence-scoring

Conversation

@ZLHad

@ZLHad ZLHad commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

Step 2 of the plan; step 1 is #62 (merged as c09efb8). This branch was stacked on #62; main is now merged in, and the diff against main is this step only.

Why

Step 2 of the maintainer-approved plan: give the model room to think wide instead of steering it to one house look, without loosening the floors.

  • The concept step had no push away from the median. It asked for 5–8 ideas, but nothing checked whether they were the ideas everyone has, and the median shows in the output: four of the five showcase films use a yellow or orange accent, and four sit on a dark ground.
  • The scoring layer measured every film against short-form motion design: "前 2 s 有没有让人停下来", "每 2–4 s 有没有新东西", "像不像专业动效". A slow explainer, a letter or a hand-drawn piece loses points for being what it is. studio's "8 项都 ≥ 8" was never met: the intro film's five rounds peaked at 8 7 8 7 7 7 9 8 (round 4), and the user ended the loop after round 5 (gates ②③ had been waived and reviewed by an independent agent). A lighter read path: CLAUDE.md as an index, one home for taste defaults, the audio reference split out #62 already made ≥ 8 studio-only.
  • Recipes were the start of every shot ("分镜时先查 recipes", "每个镜头写配方 id 或'自创:理由'"), the same shape the style presets had before Style presets are references, not templates #48.

What changes

Divergence (playbook/12-ideation.md §3, §4, §7; CLAUDE.md step 4; playbook/quick.md; playbook/01's effort table; templates/NOTES.md)

  • Four questions before the ideas: what the subject itself looks like, what the emotion looks like as one frame, where and how it is watched, and what every other video on this subject looks like (that is the anti-pattern).
  • A rough probability per idea ("how likely is another model to think of this first"), written with the idea ("一句话 · 约 0.3"), kept out of the review page; fewer than two under one in ten means think again. Two ideas whose rough sketches match count as one. When the user already gave the concept, ideas and probabilities are skipped; the four questions still set style and hook.
  • These three steps are translated and rewritten from HyperFrames' pitch round (skills/hyperframes/references/pitch-round.md, commit a46095f; Apache-2.0, Copyright 2026 HeyGen, Inc.). The section says so, with the licence copy (recipes/LICENSES/Apache-2.0-hyperframes.txt, already in the repo); ACKNOWLEDGMENTS lists it under licence scope. HyperFrames has no NOTICE file at that commit. The emotion and playback examples are our own. The probability step is also what Verbalized Sampling tested (Zhang et al., ICML 2026, arXiv:2510.01171: asking for candidates with probabilities raises creative-writing diversity 1.6–2.1× over direct prompting; verified on the arXiv abstract).
  • At least one concept card comes from the long tail (the recommendation still goes by §5's tests, not novelty); cards are written with equal care so the recommendation doesn't anchor; "the framing of card 2 with the opening of card 1" is a normal answer.
  • quick answers the four questions too, and writes down the most typical approach it skipped; the delivery lists that line. "Nobody is watching" runs are where this matters most.
  • NOTES.md gets a short 点子 section for the draft (the desk reader parses sections by title, unaffected).

Scoring (templates/TASTE_CHECKLIST.md, playbook/01 and 02, both READMEs, type 09, engines/editing.md)

  • The reviewer is "a harsh director" (not "motion director"), and gets the BRIEF's Watch on and Platform lines, STYLE.md's Motion tokens and the opening 2 s strip (plus the first 10 s for a slow opening), along with the concept line, Pace and taste overrides.
  • Motion is scored against the motion the film's STYLE.md declares (smooth long tails, mechanical steps, cartoon overshoot, handheld shake…; playbook/03's defaults when it declares none), not "does it look like professional motion design". Variety uses Design notes: v0.3 roadmap #18's yardstick (3 s short, 8 s explainer), or the meaning of each hold in a film meant to be slow. Hook asks what fits where it is watched: the first 2 s in a feed; for an explainer, a letter or an MV someone chose to open, whether the first seconds set up a question or an image.
  • Passing per level: standard has no score line (one round, the worst three fixed, scores and leftovers to gate ③). studio needs the five craft scores (target-screen legibility, motion, composition and polish, accuracy, sync; sync is N/A for a silent film) at 7 or above; concept, hook and variety are judged against the film's own concept with no line, and the lowest goes to gate ③ with the reviewer's fix. An authorised unattended run has no gate ③, so those go into the delivery notes; an issue capped at 5 fixes doesn't keep the loop going. Floor FAILs block delivery at any level, as before. Caps (10 rounds, 5 per issue) unchanged.
  • The scoring layer's source note records the change, why (the v5 numbers above) and that the maintainer agreed to it.

Recipes (recipes/README.md, templates/STORYBOARD.md, CLAUDE.md, type 03): a reference for shots you're unsure of. The recipe column stays empty for your own shots (no "自创:理由"); skeletons are optional at standard; studio's A/B at hook and climax may compare any two approaches. bin/vh recipes check passes.

Precedence (CLAUDE.md "规则冲突时", now a numbered list; mirrored in recipes/README and playbook/12 §6): user (only four floors can be waived by the user's own words: text size, reading time, silence and the gates, recorded verbatim and dated in REVIEW.md; facts, flashes, consent, platform and legal lines, third-party licences and keys are not waived by a remark) > floors: hard rules, the floor list, the human gates and who may lower effort, and any rule in any doc on facts, licences, legibility, privacy and consent, platform and legal lines > the concept card the human approved at gate ①, and the project's STYLE.md, where they differ from the defaults only with the reason written down first in DECISIONS.md (added after gate ①: judged by the reviewer) > the type doc and its engine guide > recipes > playbook > references.

Type docs: type 02 calls "Kurzgesagt meets Fireship" one of the common ways to make this kind of film 【综合】: a start when there is no concept, and one answer to "what does every other video look like" when there is. Type 03 says the same of its two registers, Linear-style being the community's most common look 【综合】. playbook/03 §0's list doubles as part of that answer. playbook/01's look-dev may vary the style or the concept itself when the note is "it feels wrong", not only effect strength.

Not changed

Floors, gates, review caps, bin/vh code. No style presets were added (the warm-accent skew in styles/ is noted for future additions). Step 3 (rule hygiene: 【单例】 tags, a read budget printed by CI) is later.

Verification

  • tools/ci.sh --committed with shellcheck and pyflakes on PATH: all checks passed.
  • VH_BASH=/bin/bash tools/ci.sh --committed: all checks passed.
  • git grep for leftover "≥ 8" score lines, "动效导演", "先套骨架", "自创:理由" outside history (CHANGELOG, showcase, research notes): none left except the scoring layer's own source note and styles/README.md's account of how the swatches were reviewed (history, kept).
  • Needs Mac verification: none (docs only).

Review

An independent reviewer (fresh context) asked for changes: the floor layer of the new precedence order was too narrow (consent, privacy and platform rules outside type docs, and the human gates, could have been outranked by STYLE.md), the reviewer lacked the inputs the new hook / variety / motion criteria need, the intro film's history was wrong, unattended runs had nowhere to put "to gate ③" items, the pitch-round text was partly a translation rather than "our own words" and lacked an Apache-2.0 note, and one type-03 sentence didn't read. All fixed in e7329d9, along with most of its suggestions. The same reviewer re-checked 4176899 and approved; its two pre-merge suggestions (the scope of a user's waiver, CHANGELOG and PR wording) and three small ones are in 204ca8d, which it also approved; a09613c applies its two optional one-line suggestions (the waivable floors are a closed list of four, facts are protected, a waiver is dated).

Merging

#62 squash-merged as c09efb8 and GitHub retargeted this PR to main. main was merged into this branch (4176899, no history rewrite): main's only new commit since the fork point is #62, whose tree is byte-identical to #62's approved head b976e9d, already merged here, so the conflicts were only lines this PR rewrote on top of #62. Taking this branch's side leaves the tree byte-identical to the pre-merge head (git diff d5b0efb 4176899 is empty).

ZLHad added 7 commits October 5, 2026 15:44
…ts, the audio reference split out

An agent on a standard voiced short read about 96k tokens before starting; the
same "taste defaults can be overridden" rule was written in six places, and the
concept-first A/B (docs/research/06) found the workflow's films had the better
ideas but the weaker craft. Text moves to where it is read when needed; no stance
changes.

- CLAUDE.md 192 -> 116 lines: effort table to playbook/01 (bin/vh effort reads it
  there), quick card to playbook/quick.md, routing table without the case column,
  the community gallery after the concept.
- playbook/12 section 6 is the one home for overriding taste defaults; BRIEF drops
  Motion defaults and process steps, STYLE starts blank, bin/vh new names the type
  doc instead of pasting its prompt block (the type marker stays).
- playbook/04-audio 48.6k -> 19.1k characters; tools/audio/README.md holds the
  reference, moved verbatim.
- Contradictions fixed: hard rule 4 vs the effort table, stagger 0.5 s vs per-word
  250 ms, freeze thresholds, the 44 px floor vs presets' labels, the look-dev B
  attribution.
Step 2 of the plan, stacked on the read-path PR.

- Divergence (playbook/12 sections 3, 4, 7): four questions first, the last
  being what every other video on the subject looks like; a rough probability
  per idea with at least two under one in ten (rewritten from HyperFrames' pitch
  round, Apache-2.0; Verbalized Sampling, arXiv 2510.01171); same silhouette =
  same idea; one card from the long tail; quick writes down the typical approach
  it skipped. NOTES gets a draft section.
- Scoring: the reviewer is a harsh director, motion is judged against the film's
  STYLE.md, variety against its Pace, hook against where it is watched. Standard
  has no score line; studio needs the five craft scores >= 7, concept / hook /
  variety go to gate 3 with the lowest named. The old all-8 >= 8 was never met.
- Recipes are a reference for shots you are unsure of: no recipe id or reason
  required per shot, skeletons optional at standard.
- Precedence: user > floors > the approved concept card and STYLE.md > type doc
  > recipes > playbook > references.
- Type 02 and 03 call their ready-made looks the common starting points they are.
- CLAUDE.md step 1 reads the type doc whole again (only quick reads two
  sections); the routing paragraph is a list with full paths and the case index.
- The texture-text exemption added to TASTE #6 is withdrawn: the size floor is
  as before; presets' 30-42 px labels are their swatches' sizes, not a floor.
- >= 8 is studio's line in hard rule 4, TASTE_CHECKLIST and playbook/02;
  standard does one round and fixes the worst three, as the effort table said.
- playbook/04 points to the moved known limits; the floor list is enumerated
  again; the override rule says where it is stated in full and keeps the
  reviewer's "the reason comes from the concept" criterion.
- Stale pointers: the gallery's CLAUDE.md quote, the showcase 00 description,
  playbook/08's notes fields, playbook/01's freeze wording, research note 06.
- CI: bin/vh new writes the Type doc line and the type marker; bin/vh effort
  studio prints its column, the caps and the floors.
# Conflicts:
#	CHANGELOG.md
#	playbook/01-pipeline.md
#	playbook/02-verification.md
#	templates/TASTE_CHECKLIST.md
- Precedence: the floor layer lists the human gates, who may lower effort, and
  any rule anywhere on facts, licences, legibility, privacy and consent,
  platform and legal lines; the concept card and STYLE.md rank above the
  defaults only where the reason is written down first (playbook/12 section 6);
  a floor the user waives goes verbatim into REVIEW.md.
- Reviewer inputs: Watch on, Platform, STYLE.md's Motion tokens and the opening
  strip; variety uses #18's 3 s / 8 s; motion falls back to playbook/03's
  defaults when STYLE.md declares none; sync is N/A for silent films.
- Unattended runs have no gate 3: scores and the lowest of concept / hook /
  variety go into the delivery notes; gate 3 shows the reviewer's scores.
- The intro film's history: the user ended the loop after round 5 (it never
  went to gate 3 with its scores).
- The pitch-round material is noted as translated and rewritten, with its
  Apache-2.0 notice and licence copy, and in ACKNOWLEDGMENTS' licence scope; the
  emotion and playback examples are our own; the probability is written with
  each idea.
- Type 03's register sentence reads straight; recipe remnants; one wording for
  the long-tail rule; README rows say the lowest of the three goes to you.
…s line

The re-check found two docs that still asked every film for all eight scores
at 8 or above, citing hard rule 4, which no longer says that for standard.
# Conflicts:
#	engines/editing.md
#	video-types/09-editing-talking-head.md
Base automatically changed from claude/slim-read-path to main October 5, 2026 08:38
ZLHad added 3 commits October 5, 2026 16:39
…ring

# Conflicts:
#	AGENTS.md
#	CHANGELOG.md
#	CLAUDE.md
#	engines/editing.md
#	playbook/01-pipeline.md
#	playbook/02-verification.md
#	playbook/03-motion-design.md
#	playbook/12-ideation.md
#	playbook/quick.md
#	templates/TASTE_CHECKLIST.md
#	video-types/09-editing-talking-head.md
- A user can waive, in their own words, a floor about this film alone (text
  size, reading time, silence, gates); floors that protect others (flashes,
  consent, platform and legal lines, third-party licences, keys) are not waived
  by a remark.
- CLAUDE.md says which floors "底线之外" means; gate 3's row in the director
  table shows the reviewer's scores; playbook/12's floor list names who may
  lower effort; ACKNOWLEDGMENTS says translated and rewritten.
- CHANGELOG: a sentence that read badly; the diagrams belong to #62.
@ZLHad
ZLHad marked this pull request as ready for review October 5, 2026 09:00
@ZLHad
ZLHad enabled auto-merge (squash) October 5, 2026 09:00
@ZLHad
ZLHad merged commit 6480779 into main Oct 5, 2026
2 checks passed
@ZLHad
ZLHad deleted the claude/divergence-scoring branch October 5, 2026 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant