| date | learning | source |
|---|---|---|
| 2026-10-05 | A lane leader's ads are a gap map, never a template; slot 1 = our paying structures or non-competitor scalers; every concept must fail the competitor-swap test. | corrections-hot.md 2026-10-05 (Kalda/soothefy) |
| 2026-10-01 | First pure 1:1 mirrors of non-competitor beauty ads (Blushe monologue + skit, Smooche rate-them) live in SCALE ad set 120249989091270232; verdict 10-08 decides whether pure mirrors or 80/20 remixes come next. | project_launch_2026-10-01_beauty_format_cartoons.md |
| 2026-10-06 | vo_check.py reads pack front matter min_wps, dead_air and gap_turn_max so a remix can carry the source's measured pace; set them only from pacing.json values. | scripts/cartoon_h3/vo_check.py run_check |
| 2026-10-06 | charswap lane: 24 of 25 ads edited one source video, read as near-duplicates, 4 of 28 got delivery; best charswap-driveway $74 CPA on $370. Spread clone sources. | scripts/charswap_source_refs.py docstring; project_fanouts_2026-08-30.md |
| 2026-10-06 | yt-dlp is unreliable on TikTok; tikwm single-post resolve (/api/?url=<real handle URL>&hd=1) returned id + play URL on 10-06 via sourcer.tikwm_get; pass the downloaded mp4 to ad_dissector.py. | ~/tt-creative-sourcer/downloader.py; test call 2026-10-06 |
| 2026-10-06 | The 10-01 mirror packs' product_truth says no screen; product-truth.md says white LED time display, dark when idle. Take facts from product-truth.md, never from an old pack. | output/concept-packs/dawnbands-s3-rate-them-mirror-2026-10-01.md vs knowledge/brands/dawnbands/product-truth.md |
| 2026-10-06 | knowledge/concept-formula.md slot 1 still allows mirroring a scaling competitor beat for beat; the 10-05 correction supersedes it for lane-leader competitors. | knowledge/concept-formula.md vs corrections-hot.md |
| 2026-10-06 | Audit: routing table lacked format-ai-actor-demo and format-motion-transfer; own-winner row now excludes charswap footage (third-party derived); footage reuse is governed by format-motion-transfer §5, structure by this §5. Remix sheet carries a shot tier per beat for the target skill. | audit 2026-10-06 vs format-motion-transfer SKILL.md §5 |
| 2026-10-06 | starpop articles: ask the buyer-match question before the keep/change table (a different buyer means the source objection beats are the wrong objections: refill each slot with a ranked Dawn objection), cap the product reveal at the source reveal % minus 10 points, and pull per-scene start/end frames with ffmpeg as read-only composition refs. | ~/research/davidaistar/starpop/txt/{clone-competitor-ads-with-ai,create-and-clone-competitor-ads-with-ai,free-video-analyzer-tool}.txt |
| 2026-10-06 | ad_dissector.py now writes frames/ (start+end per measured shot), product_reveal_pct in pacing.json, --pacing-only ($0) and --batch <file> -> index.md. On 01_skits Gemini tagged no beat role=product (serum reveal 19.9 % found only via --product-keyword), and keyword match must be word-bounded ('lip' hit 'flips'). | output/ad-dissect/01-skits-dissect-test/ |
| 2026-10-06 | Fish 10-06: concept-formula slot 1 now says competitor ads are a gap map; creator footage may be AI-edited. | Fish chat 10-06 |
format-ad-clone
Process skill, not a single format. Take any reference ad (one of our own winners, a non-competitor scaling ad, an organic viral video, or a lane-leader competitor's ad), dissect it with scripts/ad_dissector.py, decide what survives by source type, remix it with ONE innovation (80/20), match its measured pacing, and hand it to the right format-* skill for production.