Platform flipped null_emit_only for all 6 Growth ad-platform metrics
Growth's 2026-05-22-growth-ad-platform-adset-external-id-landed memo confirmed adSetExternalId landed with 100% coverage, and a 2026-05-27 prod verification showed 73/73 rows covered across 4 ad sets with zero frequency join orphans. The null_emit_only gate was the only remaining blocker on all six metrics; Platform has lifted it.
Platform committed feat(mart): flip null_emit_only for 8 hydrated metrics to platform main (b79cd22). The six Growth metrics now emit live values on the next mart compute sweep:
attribution_window_7d_click and attribution_window_30d_click project through growth.touchpoint (warehouse/models/growth/growth_touchpoint.sql) and roll up to source × week. attribution_window_view_only reads campaign_attributed_conversion_daily and emits 0 (not null) for sources with no view-through conversions. ctr_decay_score reads campaign_creative_spend_daily and emits null:insufficient_data below the 500-impression baseline threshold. frequency_score joins campaign_adset_frequency_weekly to campaign_creative_spend_daily on adSetExternalId and ISO week. creative_fatigue_index composes the two sub-scores at the settled 0.6/0.4 weights, with a frequency-alone fallback for new creatives.
Notes in the registry reflect the live state and drop the "null_emit_only until" language.
This closes the Growth ad-platform mart work for build-order steps 1-3. The same commit also lifts runway_weeks and burn_rate_per_week for Finance (same pattern, OPEX entries live as of 2026-05-27).