Skip to content

feat(newsletter-reels): stock tracks only, motion-first by default, and reels picked up by buffer-post - #178

Merged
axsaucedo merged 23 commits into
masterfrom
fix/reels-stock-music-only
Oct 26, 2026
Merged

axsaucedo merged 23 commits into
masterfrom
fix/reels-stock-music-only

Conversation

@axsaucedo

@axsaucedo axsaucedo commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

This makes two changes to the reels skill after issue 410. Reels only ever play the owner's stock tracks, never the workers' generated score, and the worker brief now defaults to a motion-first mode that the owner preferred over the calm explainer reels in four of five topics.

Stock music only. On 410 the gallery defaulted every reel to its composed score, and the m1/m2 stock variants were only built for picks, so the owner reviewed all 30 reels with generated music. The first issue-reel export also defaulted to score. Now the gallery has no score option and shows the m1/m2 buttons for any reel it plays. export.py defaults to m1 and refuses score. The new stock_music.sh builds both stock variants for each reel as soon as its page lands, and exits with the launcher. The rule sits at the top of the skill, and the worker brief tells workers their score is only a beat grid for cuts and sound effects.

Motion-first by default. Every reel in the first batch came out as the same explainer: 5-7 scenes of 4 s, a held headline, a caption, a number and an end card. That's because SOCIAL.md hardcodes that pacing and bans "decorative motion". The owner compared them with motion-design reels that change every 1-2 s. A second batch of 12 ran with those rules overridden: 1-2 s beats, one claim, layered HUD, field and particle detail, free type and camera moves, and a menu of five styles (kinetic type, HUD, 3D fly-through, generative, device in scene). The owner picked from that batch for 1, 2, 3 and 5, and kept the calm 4d. That override is now the body of the worker brief, and step 2 asks for the five directions per topic to span the five styles. The issue-reel brief keeps the 409 skeleton, which reached about 25x the earlier issue posts, with motion-first motion inside each story.

Queueing the 410 reels also hit jsDelivr's 20 MB cap. The exports run 25-30 MB, and Buffer reported the resulting 403 only as "Video could not be read from its URL", so buffer-post.mjs now refuses oversized media before pushing it, and the skill says to re-encode the post copy to about 18 MB. The skill also sets up the next experiment instead of a todo. From issue 411, directions a-c in each topic stay on the base motion-first brief, and d-e carry motion-max. For those, briefs.py appends briefs/motion-max.md, which sets hard targets: 12+ visual states, 3+ moving layers on every frame, a camera move per scene, 3+ transition kinds, and hard cuts allowed despite craft.md. It also points them at references/motion-references.md, a shot-by-shot breakdown of the motion reels the owner liked. After each pick, the learnings record which arm won, and the winner gets folded into worker.md once two issues agree. The base brief alone isn't enough to reach that level: it names techniques but sets no measurable targets, which is why this is run as an A/B test rather than folded straight in.

buffer-post.mjs now prefers a post folder's reel.mp4, which is where export.py already puts it, over its image. Without that, an exported reel was never picked up for Buffer.

briefs.py now accepts any direction letter, which the extra f/g reels needed. The learnings and the directions catalogue record what won and why. One lesson in there: optional technique menus appended under the hard rules were mostly ignored, so rules that change the result go in the body as overrides.

$ REEL_ROOT=.../newsletter-410/tmp/reels bash stock_music.sh 410
launcher done; 60 stock variants built

That run only exercised the skip-and-exit path, against the finished set. The build path is the loop that built all 84 stock variants live on 410, which lived in tmp/ at the time. The motion-first brief text was used by the 12 reels of the second batch, but it has not yet driven a fresh 30-reel run from this file, so issue 411 will be its first full run.

The sound-effects experiments from the same session (recorded Sonniss samples, three synthesised palettes and the comparison lab) are not in this PR. They were reverted here and parked on feat/reels-sfx-lab until the owner picks a direction, so the history shows them added and then reverted.

…it lands, and state the stock-only music rule in the skill and worker brief
…SFX_PALETTE and the sfx_lab comparison renderer"

This reverts commit da01e79.
… buttons for every reel it plays"

This reverts commit 848b486.
… SFX_LIB, synth path byte-identical when unset"

This reverts commit 0dd89ca.
…decorative layers, free type and camera, a five-style menu that overrides SOCIAL.md's calm pacing
@axsaucedo axsaucedo changed the title fix(newsletter-reels): stock tracks only - gallery, export and auto-built variants never use the generated score feat(newsletter-reels): stock tracks only, motion-first by default, and reels picked up by buffer-post Oct 25, 2026
@axsaucedo
axsaucedo merged commit 7c0cdf8 into master Oct 26, 2026
7 checks passed
@axsaucedo
axsaucedo deleted the fix/reels-stock-music-only branch October 26, 2026 06:06
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