Two issues spotted from the software-factory.dev sync:
1. metrics/timeseries.json stopped updating after Apr 29
The build-timeseries.mjs aggregator was added in #863 and is supposed to run as the final step of the daily-metrics cron. Daily snapshots for Apr 30 and May 1 were committed normally, but timeseries.json was not regenerated — it still shows updatedAt: 2026-04-29T21:55:19Z with 16 days ending at Apr 29.
Likely cause: the aggregator step is either erroring silently or not being invoked by the daily automation.
2. Top-level ci_pass_rate_pct is null while ci.pass_rate_pct has data
In the May 1 daily snapshot:
{
"ci_pass_rate_pct": null,
"ci": {
"runs_total": 6,
"runs_passed": 6,
"pass_rate_pct": 100.0
}
}
The top-level ci_pass_rate_pct field appears to no longer be populated. The software-factory.dev sync was reading this field, which caused the landing page to show null%. We've switched our sync to read ci.pass_rate_pct instead, but the top-level field should either be kept in sync or formally deprecated.
Impact
- Dashboard charts on software-factory.dev were stuck at Apr 29. We've added a fallback in our sync automation to patch missing days from daily snapshots, but the proper fix is for the aggregator to run.
- The
null CI value was visible on the live landing page until we added null guards.
Two issues spotted from the software-factory.dev sync:
1.
metrics/timeseries.jsonstopped updating after Apr 29The
build-timeseries.mjsaggregator was added in #863 and is supposed to run as the final step of the daily-metrics cron. Daily snapshots for Apr 30 and May 1 were committed normally, buttimeseries.jsonwas not regenerated — it still showsupdatedAt: 2026-04-29T21:55:19Zwith 16 days ending at Apr 29.Likely cause: the aggregator step is either erroring silently or not being invoked by the daily automation.
2. Top-level
ci_pass_rate_pctisnullwhileci.pass_rate_pcthas dataIn the May 1 daily snapshot:
{ "ci_pass_rate_pct": null, "ci": { "runs_total": 6, "runs_passed": 6, "pass_rate_pct": 100.0 } }The top-level
ci_pass_rate_pctfield appears to no longer be populated. The software-factory.dev sync was reading this field, which caused the landing page to shownull%. We've switched our sync to readci.pass_rate_pctinstead, but the top-level field should either be kept in sync or formally deprecated.Impact
nullCI value was visible on the live landing page until we added null guards.