Pipeline Hub

format-timeline

The "if he wore this for a month, here's what happened" timeline ad for DawnBands, in two executions - (a) an animated mom-narrated video that follows ONE family from the night before through night one, the first mornings, week two and a month on (60-120 s), and (b) a static timeline-stack image (tonight / tomorrow morning / every morning after) on the dawn-statics pipeline.

Lane: cartoon-h3 narrator (video) + statics (dawn-statics) · not built yet: 2 (see below) · source: /Users/ayden/.openclaw/workspace/skills/format-timeline

SKILL.mdbeat-sheet.mdsources.mdEvals (6)Learnings (14)
datelearningsource
2026-10-06Dawn has no owned post-use outcome data: no day-14 survey, no reason-coded returns; Okendo's 2,142 reviews are imported (95% before the first order, none since Feb 9). Timeline milestones come only from product-truth, the owned survey (objections) and category wrist-alarm reviews.knowledge/brands/dawnbands/research/bottleneck-diagnosis-2026-10-03.md lines 73, 136
2026-10-06gen_statics QUAL regex flags '14 days' (wrong guarantee) but passes 'Day 1. Day 3. Day 14.', 'Night 1' and 'week two'; make_prompts lint has no time rule. The skill's grep is the time-label gate (tested: catches 5/5 bad lines, passes the compliant copy).scratch test 10-06 against scripts/statics/gen_statics.py gate() + static-templates/make_prompts.py lint()
2026-10-06voc_check.py corpus globs output/dawn-batches-2026-09-02/okendo_reviews_all.json (missing) and knowledge/brands/dawnbands/survey*.csv (none): owned-survey quotes return 0 hits. Declare them as card_item with the survey ref.scripts/statics/voc_check.py FILES; voc_check 'Everyone was up because of her alarm except her' = 0
2026-10-06gen_statics rule 9 (SA2 Apology Mom chain) requires 'dawn band' + 'startle' on the image; a timeline static with Fish's 9-30 mechanism line fails only MISSING WRIST-VIBRATION MECHANISM. Waive with a written reason (10-04 check_gate.py pattern).gen_statics.py --check on the C07 example spec, 10-06
2026-10-06Proposed template C07 timeline-stack has the exact templates.json key set (diff vs C01 = none) and renders through make_prompts.render with lint [] on the example copy. Not merged into templates.json (needs Fish's go).skills/format-timeline/references/template-C07-timeline-stack.json + make_prompts harness 10-06
2026-10-06oneweek song already tells a day-by-day story inside an experiment week: $1,106 / 26 purchases / $42.55 CPA / ROAS 1.81. Closest paying parent for the timeline video.output/dawn-combo-map-2026-10-05/songs_all.json + songs_scripts.json
2026-10-06Character-less explainer VO (drowsy-driving explainers) got 0 purchases; IM8's anatomy-explainer shape must become one family with mom narrating.output/dawn-combo-map-2026-10-05/MAP.md Don't build; ~/research/davidaistar/REPORT.md format row 7
2026-10-06pack.py PRODUCT_IN_FRAME_RE marks any intent naming 'the band'/'wristband'/'dawn band' as a product panel (batches capped at 3 panels). Name the band only in intents that show it, or a timeline balloons in batches and cost.scripts/cartoon_h3/pack.py line 23
2026-10-06Category wrist-alarm buyers report a first-days adjustment ('first time wearing it I didn't get woke up... after setting multiple alarms I now have zero issues', q1382; 'after a next day or two I was starting to get used to it', q1435) and stability around two weeks (q1358). Use as the honest first-mornings beat; never as Dawn buyer quotes.knowledge/brands/dawnbands/research/voc-competitor-reviews-2026-10-02.jsonl
2026-10-0610-06 audit: gen_statics --check exits 1 on the waived rule-9 finding and --list exits before printing (re-tested), so the static route is check_gate.py + approval_sheet(); C07 now passes the C01 layout ref as render input (Fish 10-03 'every static renders with its proven winner image as a layout input'); stage-session takes $B/renders (iterdir is not recursive).scripts/statics/gen_statics.py main(); ~/ad-batch-hub/stage-session.py review_gate; corrections-archive-2026-10-03
2026-10-06starpop articles: visuals never run ahead of the VO (no after-state in a before or night-one shot; checked per intent before the storyboard); static stage 3 may end on a "without …" clause naming her burden. Dated labels from his timeline template stay banned.~/research/davidaistar/starpop/txt/{create-and-clone-competitor-ads-with-ai,ai-static-ads-that-convert}.txt
2026-10-06gen_statics now reads spec `waivers` ({slug,rule,reason}; rule id rule9 or failure substring) and an optional spec/static `chain`: `--check`/`--list`/`--out`/10-06 flags run on a waived C07; check_gate.py no longer needed. voc_check corpus now has the buyer survey CSVs (survey lines hit).scripts/statics/gen_statics.py + voc_check.py (10-06 builder D, backups *.bak-2026-10-06x)
2026-10-06Built 10-06: run.py tiers + --tier-models; --draft 480P; h3.py FAL_PRICE fixed (768P $0.08/s), 90 s ≈ $8-14 video.scripts/cartoon_h3/run.py, h3.py, tiers.py (Builder B)
2026-10-06Per-beat SFX layer BUILT 10-06 (pack `## Sound cue sheet` + H3_SFX_PLAN on assemble, scripts/cartoon_h3/sfx.py); buzz still needs a sourced file. Captions moved into the Reels safe box 10-06.scripts/cartoon_h3/sfx.py, VideoAd.tsx (Builder C)