| date | learning | source |
|---|---|---|
| 2026-10-06 | {'date': '2026-10-06', 'type': 'build', 'note': 'Loop built from the 10-05 one-off: refresh.py/plan.py/tags.py in scripts/combo_loop; baseline snapshot rebuilt from 10-05 codes; first refresh coded the 30 previously-uncoded >=$100 concepts (mostly video).', 'receipt': 'output/combo-loop/dawn/2026-10-06/MAP.md'} | |
| 2026-10-06 | {'date': '2026-10-06', 'type': 'gotcha', 'note': 'Meta system user gets (#10) on GET /<video_id>?fields=length; video concepts are coded from hub scripts (meta_ad_name) / 10-05 lyrics / primary text instead.', 'receipt': 'refresh log 2026-10-06'} | |
| 2026-10-06 | Hub page for the combo map, the Discord DIFF poster, and the Curvelle codebook are BUILT: scripts/build_pipeline_hub.py combo_map_md() -> f/combo-map.html; scripts/combo_loop/discord_post.py (prints only by default, --post to send); scripts/combo_loop/codebook_curvelle.md (brands.json curvelle.codebook points at it; breakeven_roas stays null pending media-buyer). | scripts/build_pipeline_hub.py, scripts/combo_loop/discord_post.py, codebook_curvelle.md; build 2026-10-06 |
workflow-combo-loop
The standing creative feedback loop for every pipeline (format-* skills, cartoon-h3, ugc-omni, vo-broll, dawn-statics, Dawn natives): PLAN the next concepts as combos from what is winning (stakes x emotion x payoff x root cause x mechanism x authority/POV x angle x device), TAG each pack/job at creation with combo_* keys, LAUNCH under that ad-name prefix, READ Meta weekly (read-only), RECODE only new concepts against the fixed codebook, UPDATE the map, recipes and the diff (incl. song vs static frequency/decay).