Silent failure

The report succeeded, but its data is stale

Report the age of the underlying data and alert when it exceeds the freshness window, even if report generation succeeds.

What it looks like

The scheduled report is delivered, but report_age_hours is 49 when the source should refresh daily.

Why a heartbeat is green

Rendering and delivery can complete from cached or unchanged data without raising an error.

Expectation that catches it

Add an output expectation that warns when report_age_hours is greater than 26.

Report it to Glnc

Calculate age from the newest source record at generation time and send it with the successful report receipt.

POST /api/v1/monitoring/checks/daily-summary/runs

{
  "result": "succeeded",
  "report_id": "daily-summary-20260830T120000Z",
  "evidence": {
    "report_age_hours": 49
  }
}

Next step

Define one consequential expectation.

Read the API contract before reporting production evidence, or join the private beta to start with one recurring automation.

Glnc uses essential storage for the app. Optional analytics stay off unless you allow them.