Spot momentum changes¶
Ospobox shows week-over-week (WoW) activity deltas at three levels of the dashboard so you can spot momentum changes at a glance, and fires an activity-drop alert when a previously active project suddenly slows down.
Where deltas appear¶
A "This week vs last week" widget is rendered on:
- Dashboard overview: across all repos in your account.
- Organization detail: across all repos in one organization.
- Repository detail: for one repo.
The widget shows six metrics: commits, PRs opened, PRs merged, issues opened, issues closed, releases. Each cell shows the current count, an up/down arrow, and the percent change compared to the prior 7-day window.
How the windows are computed¶
Both windows are anchored on right now:
- Current = the last 7 days, i.e.
[now - 7d, now). - Previous = the 7 days before that, i.e.
[now - 14d, now - 7d).
This matches the rolling 7-day windows used elsewhere on the dashboard and removes calendar-edge artefacts (Mondays don't suddenly look low). Reports generated on a fixed weekly schedule keep using their own ISO-week boundaries.
Percent-change semantics¶
- A
+or-percentage means the prior week had ≥ 1 event in that metric. - The label "new" means the prior week had zero. No ratio is meaningful there, so none is shown.
Activity-drop alert¶
A new alert type, ACTIVITY_DROP, fires per repository when:
- The previous 7-day window had at least 5 total events across all metrics (the "min previous" floor, which keeps already-quiet repos from alerting when they get quieter), and
- The current 7-day window dropped ≥ 50% below the previous one.
Severity is warning for drops between 50–74%, and critical for drops of 75% or more.
This is intentionally distinct from the existing INACTIVITY alert, which fires when a repo has had no activity at all for an extended period (30+ days). ACTIVITY_DROP is a relative signal about momentum change; INACTIVITY is an absolute one about silence.
Performance¶
Deltas are computed on the fly from the existing activity tables using the indexes already in place (ix_commit_repo_committed, ix_pr_repo_opened, ix_issue_repo_opened, ix_release_repo_published). No new tables, no background snapshot job. If your account scales past several thousand repos and the dashboard slows, this is the natural place to add a WeeklyMetric snapshot table. Until then, computing on the fly is cheaper and simpler.