snapshots.gf.cx R2 push — 2026-06-27

DAILY HYGIENE · · detail report · check snapshots_r2_push

Verdict: 🟢 GREEN

All snapshot entries in last 48h have working R2 URLs across 22 surface(s).

Delta-results

Metric Value
surfaces [{‘slug’: ‘antifragile-gf’, ‘total_entries’: 30, ‘in_window’: 7, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘antifragile-gf_2026-06-27_50aa1b3.jpg’}, {‘slug’: ‘brand-gf-cx’, ‘total_entries’: 13, ‘in_window’: 2, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘brand-gf-cx_2026-06-27_fbac34c.jpg’}, {‘slug’: ‘brooklyn-gf-cx’, ‘total_entries’: 13, ‘in_window’: 2, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘brooklyn-gf-cx_2026-06-27_c8ddc84.jpg’}, {‘slug’: ‘crm-gf-cx’, ‘total_entries’: 13, ‘in_window’: 2, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘crm-gf-cx_2026-06-27_110127.jpg’}, {‘slug’: ‘cv-gf-cx’, ‘total_entries’: 13, ‘in_window’: 2, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘cv-gf-cx_2026-06-27_110139.jpg’}, {‘slug’: ‘dash-gf-cx’, ‘total_entries’: 66, ‘in_window’: 5, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘dash-gf-cx_2026-06-27_3fd2446.jpg’}, {‘slug’: ‘dash-reports’, ‘total_entries’: 83, ‘in_window’: 3, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘dash-reports_2026-06-27_93f430e.jpg’}, {‘slug’: ‘data-gf-cx’, ‘total_entries’: 37, ‘in_window’: 2, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘data-gf-cx_2026-06-27_df04686.jpg’}, {‘slug’: ‘data-sourced’, ‘total_entries’: 35, ‘in_window’: 2, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘data-sourced_2026-06-27_df04686.jpg’}, {‘slug’: ‘email-gf-cx’, ‘total_entries’: 13, ‘in_window’: 1, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘email-gf-cx_2026-06-27_7558645.jpg’}, {‘slug’: ‘growth-gf-cx’, ‘total_entries’: 21, ‘in_window’: 2, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘growth-gf-cx_2026-06-27_f95109f.jpg’}, {‘slug’: ‘happiness-gf-cx’, ‘total_entries’: 111, ‘in_window’: 12, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘happiness-gf-cx_2026-06-27_7d0e3bf.jpg’}, {‘slug’: ‘london-gf-cx’, ‘total_entries’: 17, ‘in_window’: 2, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘london-gf-cx_2026-06-27_552a60b.jpg’}, {‘slug’: ‘pa-gf-cx’, ‘total_entries’: 30, ‘in_window’: 2, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘pa-gf-cx_2026-06-27_110035.jpg’}, {‘slug’: ‘patterns-gf-cx’, ‘total_entries’: 83, ‘in_window’: 29, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘patterns-gf-cx_2026-06-27_dc5d501.jpg’}, {‘slug’: ‘radar-gf-cx’, ‘total_entries’: 13, ‘in_window’: 2, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘radar-gf-cx_2026-06-27_110133.jpg’}, {‘slug’: ‘sandbox-fal’, ‘total_entries’: 17, ‘in_window’: 2, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘sandbox-fal_2026-06-27_959c19f.jpg’}, {‘slug’: ‘sandbox-gf-cx’, ‘total_entries’: 18, ‘in_window’: 2, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘sandbox-gf-cx_2026-06-27_959c19f.jpg’}, {‘slug’: ‘sandbox-one-pager’, ‘total_entries’: 12, ‘in_window’: 2, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘sandbox-one-pager_2026-06-27_959c19f.jpg’}, {‘slug’: ‘services-gf-cx’, ‘total_entries’: 25, ‘in_window’: 14, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘services-gf-cx_2026-06-27_85b346b.jpg’}, {‘slug’: ‘status-gf-cx’, ‘total_entries’: 282, ‘in_window’: 3, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘status-gf-cx_2026-06-27_cb0f548.jpg’}, {‘slug’: ‘status-transfer-windows’, ‘total_entries’: 50, ‘in_window’: 3, ‘missing_r2’: 0, ‘missing_examples’: [], ‘broken_url_count’: 0, ‘latest_broken’: False, ‘latest_filename’: ‘status-transfer-windows_2026-06-27_cb0f548.jpg’}]
total_missing_r2 0
total_broken_url 0
latest_broken_surfaces []

Why this tripwire exists

Catches the silent R2 upload failure where surface_snapshot.py captures the local JPEG successfully but wrangler r2 object put fails because launchd isn’t carrying CLOUDFLARE_API_TOKEN. Added 2026-06-05 after dash-gf-cx_2026-06-05_110006.jpg rendered as a broken featured card on snapshots.gf.cx (local 297 KB on disk, R2 URL 404). RED when any surface’s LATEST entry has no r2_url (= visible broken card) or ≥3 entries across portfolio are missing within 48h. Backfill heal: surface_snapshot.py --backfill-r2.


Generated by dare_daily_hygiene.py · check snapshots_r2_push · 2026-06-27 · authoritative click-through for the dash.dare.co.uk Site-Health card.

Source: dare_snapshots_r2_push_2026-06-27.md · Rendered
Built with — component scripts