Every commit scored for change-risk against this repo's own history, so 'elevated' means elevated here rather than on some global curve.
Needs review
163 commits sit in this repo's top risk tercile, which is 33% of the 500scored. The cut is drawn against this codebase's own history rather than a global curve, so a quiet repo still fills its top band, and here it starts at 6.4 out of 10. What pushes a commit up is size and spread together: a large change confined to one area scores below a smaller one scattered across a dozen files.
Commit categories over time, read off the subject line. Fixes carry the accent because that is the series this chart exists to show.
Consistently other-driven across its history.
Ranked by change-risk, highest first. Priority is a tercile of this repo's own distribution, so a quiet repo still fills its top band.
| # | Commit | Author | When | Lines | Risk | Top driver |
|---|---|---|---|---|---|---|
| 1 | a28f30e3chore: update tenant_db_baseline.json inline (#1897) | Leandro Pereira | 3mo ago | +10.8K -5.6K | 100%Elevated | — |
| 2 | e3215464feat(dashboard): tenant migrations page (#1866) | Leandro Pereira | 3mo ago | +15.9K -11 | 100%Elevated | — |
| 3 | 776a5036chore: increase test coverage; reduce flaky, CI improvements (#1715) | Filipe Cabaço | 6mo ago | +3.9K -2.8K | 100%Elevated | — |
| 4 | 5faa407ffix(dashboard): tenants migrations edge cases (#2000) | Leandro Pereira | 1mo ago | +3.5K -77 | 99%Elevated | — |
| 5 | 585d88e3fix: bump up cowboy (#1893) | Filipe Cabaço | 3mo ago | +2.0K -7.2K | 99%Elevated | — |
| 6 | 5fa319fafeat: add POST api/broadcast/:topic/events/:event_name endpoint (#1864) | Eduardo Gurgel | 3mo ago | +1.8K -1 | 99%Elevated | — |
| 7 | 6a220e79feat: realtime v2 serializer (#1606) | Eduardo Gurgel | 9mo ago | +2.0K -607 | 99%Elevated | — |
| 8 | c489088ffeat: add back pg filters (#1985) | Filipe Cabaço | 1mo ago | +1.9K -193 | 98%Elevated | — |
| 9 | 8eada339feat: add new pg filters (#1966) | Filipe Cabaço | 2mo ago | +1.8K -172 | 98%Elevated | — |
| 10 | ded4179cfeat(dashboard): update pg-delta (#1942) | Leandro Pereira | 2mo ago | +2.0K -15.0K | 98%Elevated | — |
| 11 | c9b1f12ffeat: allow select on pg_changes (#1921) | Filipe Cabaço | 2mo ago | +1.5K -134 | 98%Elevated | — |
| 12 | 4431aa34chore: cli toolsuite for realtime (#1743) | Filipe Cabaço | 5mo ago | +1.7K -81 | 98%Elevated | — |
| 13 | bdadcecffeat: beacon (#1664) | Eduardo Gurgel | 7mo ago | +1.7K -49 | 98%Elevated | — |
| 14 | 2cf98f0cfix: tenant db postgres permissions (#1885) | Leandro Pereira | 3mo ago | +875 -11 | 97%Elevated | — |
| 15 | 476f16b6chore: local dev setup (#1823) | Leandro Pereira | 4mo ago | +1.2K -762 | 97%Elevated | — |
| 16 | b2d7811afix: improve coverage (#1742) | Filipe Cabaço | 5mo ago | +905 -57 | 97%Elevated | — |
| 17 | d8615ab1fix: change metrics pusher to use snappy (#1733) | Filipe Cabaço | 5mo ago | +1.4K -95 | 97%Elevated | — |
| 18 | b8e126b1chore: add otel support to e2e tests (#1756) | Filipe Cabaço | 4mo ago | +711 -43 | 96%Elevated | — |
| 19 | 83b0d302fix: livedashboard recon & node info (#1810) | Filipe Cabaço | 4mo ago | +924 -2 | 96%Elevated | — |
| 20 | d0f1fdfcfix: preventive measure to rollback filters if needed (#1978) | Filipe Cabaço | 2mo ago | +743 -1.2K | 96%Elevated | — |
| 21 | 3dde6cdefeat: filter postgres changes by action (#1624) | Eduardo Gurgel | 6mo ago | +803 -68 | 96%Elevated | — |
| 22 | 59199ff9fix: ReplicationPoller consumes slot if publication is not empty (#1919) | Eduardo Gurgel | 2mo ago | +520 -95 | 95%Elevated | — |
| 23 | ed21de8cfeat: add feature flags mechanism to livedashboard (#1831) | Filipe Cabaço | 3mo ago | +686 -2 | 95%Elevated | — |
| 24 | 48e20005feat: separate node from tenant metrics (#1724) | Filipe Cabaço | 6mo ago | +634 -185 | 95%Elevated | — |
| 25 | 07548463fix: use custom Prometheus exporter (#1661) | Eduardo Gurgel | 8mo ago | +629 -2 | 95%Elevated | — |
| 26 | a1e19f04feat: setup `supabase_realtime_admin` (#1852) | Leandro Pereira | 2mo ago | +933 -771 | 95%Elevated | — |
| 27 | eea36be7fix: pg changes improvements (#1929) | Eduardo Gurgel | 2mo ago | +391 -479 | 95%Elevated | — |
| 28 | 0d137678feat: AND filters in Postgres Changes (#1912) | Filipe Cabaço | 2mo ago | +379 -33 | 95%Elevated | — |
| 29 | 949e57e0feat: add support to realtime.messages binary payloads (#1869) | Eduardo Gurgel | 3mo ago | +524 -17 | 95%Elevated | — |
| 30 | cc5e1ac7fix: account for replica and repo usage on FeatureFlag management (#1854) | Eduardo Gurgel | 3mo ago | +410 -109 | 95%Elevated | — |
| 31 | bd1381b3fix: role leak on apply_rls (#2008) | Leandro Pereira | 1mo ago | +471 -24 | 94%Elevated | — |
| 32 | c039bca9fix: ensure presence.read permission is respected (#1969) | Eduardo Gurgel | 2mo ago | +379 -62 | 94%Elevated | — |
| 33 | 388992c3feat: introduce least-privilege realtime user (#1954) | Leandro Pereira | 2mo ago | +669 -177 | 94%Elevated | — |
| 34 | 92ed6c67feat: listen to schema.table with special chars (#1923) | Leandro Pereira | 2mo ago | +357 -26 | 93%Elevated | — |
| 35 | ca07643afeat: add PartitonedTables (#1819) | Eduardo Gurgel | 4mo ago | +339 -13 | 93%Elevated | — |
| 36 | 0755af55fix: reduce log noise and improve error logs for pg changes (#1740) | Filipe Cabaço | 5mo ago | +316 -82 | 93%Elevated | — |
| 37 | 395a097bfeat: peep storage for PromEx (#1636) | Eduardo Gurgel | 8mo ago | +401 -387 | 93%Elevated | — |
| 38 | bf4e5170feat(observability): per-tenant subscription metrics (#1928) | Leandro Pereira | 2mo ago | +287 -11 | 92%Elevated | — |
| 39 | 469b3178chore: simplify e2e setup (#1926) | Filipe Cabaço | 2mo ago | +235 -78 | 92%Elevated | — |
| 40 | e1200441fix: socket disconnection (#1842) | Eduardo Gurgel | 3mo ago | +285 -416 | 92%Elevated | — |
| 41 | f4cf4035fix: measure traffic at the websocket level (#1632) | Filipe Cabaço | 8mo ago | +354 -9 | 92%Elevated | — |
| 42 | 7e340b36fix: restrict the realtime schema (#1993) | Leandro Pereira | 1mo ago | +546 -832 | 91%Elevated | — |
| 43 | 0ca9def6fix: add granularity to unable to set policies errors (#1828) | Filipe Cabaço | 3mo ago | +229 -11 | 91%Elevated | — |
| 44 | 395560e1feat(observability): expose tenant migration metrics (#1845) | Leandro Pereira | 3mo ago | +276 -34 | 91%Elevated | — |
| 45 | 8d87c2fcfeat: change ReplicationPoller to sleep more when there are no changes (#1803) | Eduardo Gurgel | 4mo ago | +263 -37 | 91%Elevated | — |
| 46 | 6ab08a47fix: support legacy metrics controller (#1726) | Filipe Cabaço | 5mo ago | +341 -1 | 91%Elevated | — |
| 47 | 0861a82afix: normalize booleans on join payloads (#1690) | Filipe Cabaço | 6mo ago | +215 -6 | 91%Elevated | — |
| 48 | 55bac256feat: tenant crud operations are region aware (#1620) | Filipe Cabaço | 9mo ago | +310 -42 | 91%Elevated | — |
| 49 | 9ee7c7eafeat: speed up poller by not re-encoding user data (#1605) | Eduardo Gurgel | 9mo ago | +272 -251 | 91%Elevated | — |
| 50 | 0e060cadfix(dashboard): async tenant migrations (#1983) | Leandro Pereira | 1mo ago | +170 -63 | 89%Elevated | — |
Two views of the same model: where the cuts fall, and what commit shape lands you above them.
Every scored commit, binned on the raw 0 to 10 score rather than the percentile. Percentile ranks are uniform by construction, so that axis has no shape to draw. The dashed lines are the tercile cuts behind each row's priority pill.
The 200 most recent commits, on their own recency sample rather than the feed above: that defaults to risk-sorted, so reusing it would plot only the top tercile and call it the spread. Big and scattered is what the model penalises. Click a dot to open it.
Repowise tracks change history across 455 files in supabase/realtime. In the last 90 days 209 files were touched, 655 times in total, most often mix.exs. Every commit is scored for change risk from its size, spread and the history of the files it touches.