Skip to content

Phase 1: truthful freshness signals and small page fixes #5

Description

@mmcky

The freshness badge stays green for data up to 7 days old (freshness() in site/app.js), but collection is nightly — 3-day-old data means the collector has been broken for days while the badge still reads green. Switch to green ≤2 days, orange 3–7, red >7. Note the cron declares 03:17Z but GitHub consistently queues it ~65–70 minutes late (observed 04:17–04:30Z), so nothing should assume an early-morning landing.

The snapshot date also cannot vouch for the verdict store: the capture steps in collect.yml run with continue-on-error so the snapshot still publishes, which means a green Actions run is not evidence capture ran. Surface the verdict store's own freshness (newest capturedAt in data/verdicts.jsonl) next to the data-age badge, so a silently frozen store becomes visible on the page rather than only in a workflow log nobody watches.

Small fixes travelling with this package:

  • <noscript> one-liner pointing at data/latest.json — the pages are fully client-rendered and currently show an empty page without JS.
  • Open Graph tags (og:title, og:description) for unfurls in Slack and issues.
  • Replace the ?v=Date.now() cache-buster with a no-cache fetch so ETags can do their job as the JSON grows.

From §8 of the 2026-08 dashboard audit, extended with the verdict-store freshness point after the capture and lanes work (#2, #4) landed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementImprovement to existing content or functionalityhigh-priorityAddress soon

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions