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
23 commits sit in this repo's top risk tercile, which is 34% of the 68scored. 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.3 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.
Began feature-led, now leaning fix.
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 | 0150d49bchore: add generated ingestion proto files and protoc task | karthik balasubramanian | 2mo ago | +874 -0 | 99%Elevated | more lines added than baseline |
| 2 | 1bdcb4d5docs: add README | karthik balasubramanian | 1mo ago | +452 -0 | 98%Elevated | more lines added than baseline |
| 3 | 0d0a4010refactor: generate sqlc queries and models for ingestion and auth | karthik balasubramanian | 2mo ago | +283 -1 | 96%Elevated | more lines added than baseline |
| 4 | 660348b1feat: add email service with Kafka consumer and template handler | karthik balasubramanian | 1mo ago | +142 -0 | 93%Elevated | more lines added than baseline |
| 5 | c9df461arefactor: add ingestion v1 proto | karthik balasubramanian | 2mo ago | +202 -86 | 93%Elevated | more lines added than baseline |
| 6 | 1353fd00chore(sqlc): generated code from sqlc | karthik balasubramanian | 2mo ago | +141 -1 | 93%Elevated | more lines added than baseline |
| 7 | a72b2b19feat(sqlc): add queries and generated code for refresh token creation and deletion | karthik balasubramanian | 2mo ago | +121 -1 | 90%Elevated | more lines added than baseline |
| 8 | e3d6b129refactor: adjust ingestion server constructor to accept Queries and update DLQ handling | karthik balasubramanian | 2mo ago | +146 -9 | 89%Elevated | more lines added than baseline |
| 9 | 0a500165feat: add email templates for order and payment events | karthik balasubramanian | 2mo ago | +81 -0 | 87%Elevated | more lines added than baseline |
| 10 | 5d912778feat: add user registration endpoint with handler and routes | karthik balasubramanian | 2mo ago | +118 -0 | 87%Elevated | more lines added than baseline |
| 11 | f5505a03refactor: of the ingestion service | karthik balasubramanian | 2mo ago | +114 -130 | 85%Elevated | more lines added than baseline |
| 12 | 5199ab6bfeat: add ingestion.proto with event ingestion service | karthik balasubramanian | 2mo ago | +77 -0 | 82%Elevated | more lines added than baseline |
| 13 | 364e30e6feat: auth service login handler | karthik balasubramanian | 2mo ago | +75 -14 | 82%Elevated | more lines added than baseline |
| 14 | f474e439feat: add email service with Resend client and template rendering | karthik balasubramanian | 1mo ago | +64 -0 | 79%Elevated | more lines added than baseline |
| 15 | 04988142feat: add gRPC ingestion server with Kafka writer | karthik balasubramanian | 2mo ago | +104 -0 | 79%Elevated | more lines added than baseline |
| 16 | 6c75412erefactor: add outbox event creation and retrieval queries | karthik balasubramanian | 2mo ago | +54 -0 | 77%Elevated | more lines added than baseline |
| 17 | c9eaf749feat: add email template manager with predefined event templates | karthik balasubramanian | 1mo ago | +53 -0 | 75%Elevated | more lines added than baseline |
| 18 | 1e517c1dfeat: add DLQ events listing and retry endpoints | karthik balasubramanian | 2mo ago | +56 -3 | 75%Elevated | more lines added than baseline |
| 19 | 105403acfeat: add JWT authentication support to auth handlers and config | karthik balasubramanian | 2mo ago | +72 -25 | 73%Elevated | more lines added than baseline |
| 20 | a6c11dc7feat: add email template payload structs | karthik balasubramanian | 2mo ago | +42 -0 | 70%Elevated | more lines added than baseline |
| 21 | cd49bc80refactor: add env config loading to ingestion service | karthik balasubramanian | 2mo ago | +40 -2 | 70%Elevated | more lines added than baseline |
| 22 | 95f503e1feat: add sqlc | karthik balasubramanian | 2mo ago | +39 -0 | 70%Elevated | more lines added than baseline |
| 23 | 064c3f1drefactor: add email router with event handlers | karthik balasubramanian | 1mo ago | +37 -0 | 67%Elevated | more lines added than baseline |
| 24 | f916c2ecrefactor: add pgx handler and inject into ingestion server | karthik balasubramanian | 2mo ago | +42 -18 | 65%Typical | more lines added than baseline |
| 25 | 6d657461refactor email templates to use wrapper struct and layout template | karthik balasubramanian | 1mo ago | +33 -27 | 63%Typical | more lines added than baseline |
| 26 | e7d95647feat: add JWT auth and token generation to user registration | karthik balasubramanian | 2mo ago | +50 -7 | 63%Typical | more lines added than baseline |
| 27 | 500b900frefactor: env config loading | karthik balasubramanian | 2mo ago | +35 -25 | 61%Typical | more lines added than baseline |
| 28 | df107f34refactor: improve email client formatting and struct alignment | karthik balasubramanian | 1mo ago | +24 -17 | 57%Typical | more lines added than baseline |
| 29 | 99d0ea7bchore: add outbox_events table migration and update Kafka, PBKDF2, SCRAM dependencies | karthik balasubramanian | 2mo ago | +32 -1 | 57%Typical | more lines added than baseline |
| 30 | dee046f6refactor: add auth reverse proxy to gateway routes | karthik balasubramanian | 2mo ago | +35 -1 | 57%Typical | more lines added than baseline |
| 31 | 46feefa5feat: init | karthik balasubramanian | 2mo ago | +27 -0 | 57%Typical | more lines added than baseline |
| 32 | d0308d28fix: embed templates into binary | karthik balasubramanian | 1mo ago | +22 -18 | 53%Typical | more lines added than baseline |
| 33 | 9996f4b3refactor: comment out EventType enum for future use | karthik balasubramanian | 2mo ago | +22 -21 | 53%Typical | more lines added than baseline |
| 34 | 1b423bb8chore: add startup taskfile commands | karthik balasubramanian | 1mo ago | +23 -1 | 51%Typical | more lines added than baseline |
| 35 | 6859f483chore: add taskfile | karthik balasubramanian | 2mo ago | +19 -0 | 49%Typical | more lines added than baseline |
| 36 | 820e06f3refactor: move auth DTOs to dto.go and add login/refresh routes | karthik balasubramanian | 2mo ago | +16 -15 | 47%Typical | more lines added than baseline |
| 37 | 89dd36f9fix(sqlc): syntax error in timestamptz | karthik balasubramanian | 2mo ago | +17 -17 | 47%Typical | more lines added than baseline |
| 38 | cedb153afeat: add JSON response to user registration handler | karthik balasubramanian | 2mo ago | +15 -0 | 45%Typical | more lines added than baseline |
| 39 | a78dd6b7feat: add docker compose yaml | karthik balasubramanian | 1mo ago | +15 -0 | 40%Typical | more lines added than baseline |
| 40 | ee545872feat: initialize grpc client | karthik balasubramanian | 2mo ago | +16 -5 | 40%Typical | more lines added than baseline |
| 41 | 46ffaae8chore: update auth service config to use DATABASE_URL and add gateway run task | karthik balasubramanian | 2mo ago | +19 -5 | 40%Typical | more lines added than baseline |
| 42 | 46f9189brefactor: use pgtype.UUID for user ID in auth registration | karthik balasubramanian | 2mo ago | +19 -5 | 40%Typical | more lines added than baseline |
| 43 | 4e6a5ad3chore: add config loader for environment variables | karthik balasubramanian | 2mo ago | +13 -0 | 40%Typical | more lines added than baseline |
| 44 | 4057b72efeat: add goose for db migrations | karthik balasubramanian | 2mo ago | +15 -2 | 36%Typical | more lines added than baseline |
| 45 | fdfb405bfix: change the image url | karthik balasubramanian | 1mo ago | +12 -9 | 34%Typical | more focused than baseline |
| 46 | 69ad2482refactor: unify email template names to content and adjust layout | karthik balasubramanian | 2mo ago | +9 -8 | 34%Typical | more scattered than baseline |
| 47 | 8f9ebb26refactor: add database URL loading to config | karthik balasubramanian | 2mo ago | +11 -1 | 32%Below typical | more focused than baseline |
| 48 | ad911c79feat: add godotenv to load env variables from .env | karthik balasubramanian | 2mo ago | +12 -2 | 30%Below typical | more scattered than baseline |
| 49 | c9dbbe9afeat: add dedicated recipient field to API | karthik balasubramanian | 1mo ago | +13 -3 | 28%Below typical | more lines added than baseline |
| 50 | 82a75d7crefactor: move auth DTOs to dedicated package and update handlers | karthik balasubramanian | 2mo ago | +10 -9 | 28%Below typical | more scattered than baseline |
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 68 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 28 files in kaizakin/siphon. In the last 90 days 28 files were touched, 81 times in total, most often handlers.go. Every commit is scored for change risk from its size, spread and the history of the files it touches.