Part of #106 — give organizations the same monthly time-series users already have, so org charts and org trends (sub-issue D) are possible.
Problem
On main, orgs store only lifetime totals (entities + org_members) — no monthly resolution. So there's no org commit chart and no way to compute an org's month-over-month change. Users already have monthly_commits (all six types per completed month); orgs have nothing equivalent.
What exists to build on
The unmerged #102 / feature-async-org-indexing branch already prototypes this: an org_member_monthly table (per org/member/month), rolled up into org-level monthly_commits rows, plus the org commit chart in OrgView. This issue is about productionizing that — landing the migration, the worker fill path, and the rollup — on top of the cadence (A) and runner (B) decisions.
Acceptance criteria
Depends on
Cadence (A) + runner (B). Enables D (org MoM indicator). Supersedes the org half of #102.
Part of #106 — give organizations the same monthly time-series users already have, so org charts and org trends (sub-issue D) are possible.
Problem
On
main, orgs store only lifetime totals (entities+org_members) — no monthly resolution. So there's no org commit chart and no way to compute an org's month-over-month change. Users already havemonthly_commits(all six types per completed month); orgs have nothing equivalent.What exists to build on
The unmerged #102 /
feature-async-org-indexingbranch already prototypes this: anorg_member_monthlytable (per org/member/month), rolled up into org-levelmonthly_commitsrows, plus the org commit chart inOrgView. This issue is about productionizing that — landing the migration, the worker fill path, and the rollup — on top of the cadence (A) and runner (B) decisions.Acceptance criteria
org_member_monthlyor equivalent) — the DB change we've deliberately deferredmonthly_commitsDepends on
Cadence (A) + runner (B). Enables D (org MoM indicator). Supersedes the org half of #102.