Your top reviewer merged 0 PRs. Your dashboard says he did nothing.

Canopy reads your GitHub and Jira activity and writes the engineering digest your dashboard can't. Cross-referenced tickets. Actual judgment calls. What really happened.

The problem

Every metric your dashboard shows can be gamed, inflated, or misread. The story is in the details it leaves out.

Line counts reward bulk. Jira ticket counts reward filing. Neither captures the reviewer who gatekeeps 352 PRs, the contributor closing 9-year-old tickets, or the 79% of plans that never became code.

Dashboard says

chia7712: 0 PRs merged, 0 lines

What actually happened

352 code reviews, 36 Jira tickets filed. The project’s top architectural decision-maker and gatekeeper.

Dashboard says

mingyen066: 44 PRs merged

What actually happened

Systematic cleanup campaign — test migrations, typo fixes, tool updates. 0 features shipped. Invisible but essential.

Dashboard says

308 Jira tickets active

What actually happened

79% have zero GitHub PR references. Planning and shipping are two different worlds.

Dashboard says

KAFKA-5246: filed 2017, open

What actually happened

Bounced through 4 assignees over 9 years. TaiJuWu finally closed it last month.

What it does

Reads your repo and your tracker. Writes the digest.

Jira + GitHub, cross-referenced

Matches contributors across systems by name and email. Connects Jira tickets to GitHub PRs. Shows you the 79% of tickets that never became code — and the 35% of PRs that skipped planning entirely.

Judgment over volume

Distinguishes high-judgment work — 352 code reviews, architectural steering, closing 9-year-old tickets — from mechanical bulk that inflates every metric.

The invisible contributors

Finds the reviewer who merged 0 PRs but gatekept the entire project. Surfaces the 75 people active in Jira comments who never touch GitHub, and the 58 shipping code with no ticket.

Who creates vs. who ships

Tracks the full lifecycle: who filed the ticket, how many times it was reassigned, and who actually closed it. 40% of shipped work was started by someone else.

Real output

From a 30-day analysis of Apache Kafka

Not a mockup. This is actual output from cross-referencing GitHub (428 PRs) and Jira (308 tickets). 105 contributors matched across systems.

kafka_combined_digest.mdJan 22 – Feb 21, 2026

The headline

Kafka's planning system and its shipping system are two different worlds. Of 308 Jira tickets active this month, 242 have zero GitHub PR references. Of 428 GitHub PRs, 149 have no Jira ticket in the title. The overlap — where a ticket actually becomes a PR that actually gets merged — is surprisingly narrow, and the people who create tickets are almost never the people who close them.

chia7712

— The project's nervous system

0 PRs merged · 352 reviews · 341 review comments · 36 Jira tickets filed · 68 Jira comments

Tsai reviewed more PRs than any other individual opened, merged, or commented on. He is simultaneously the project's top issue triager (36 Jira tickets filed, almost all assigned to other people) and its top merge gatekeeper.

The pattern: He filed KAFKA-20056 (headers in state stores), KAFKA-20130 (Docker env fix), KAFKA-20161 (sealed interface for TransactionLog) — then watched as frankvicky, clolov, DL1231, and brandboat built and shipped each one. He creates the work, reviews the work, and shapes the work, but rarely writes the code himself.

The planning gap

— Jira vs. GitHub cross-reference

79%

of Jira tickets have zero GitHub PR references — planned but never started, or resolved without traceable code

35%

of PRs have no Jira ticket — the MINOR convention means small fixes deliberately skip planning

40%

of resolved tickets were shipped by someone other than the person who filed them

What a dashboard would show vs. what actually happened

Dashboard saysWhat actually happened
mingyen066: 44 PRs, 3.3K linesSystematic cleanup campaign — test migrations, typo fixes, tool updates. 0 features shipped.
chia7712: 0 PRs, 0 lines352 reviews, 36 Jira tickets filed. The project’s top architectural gatekeeper.
junrao: 0 PRs, 0 lines56 targeted reviews mentoring m1a2st and clolov. Senior committer steering invisible to metrics.
308 Jira tickets active242 (79%) have zero GitHub PR references. Planning and shipping are different worlds.
428 PRs opened149 (35%) have no Jira ticket. The project’s MINOR convention deliberately skips planning.
clolov: 5.3K lines addedNet-negative: 6.1K lines deleted. 4-year test modernization campaign across 25+ PRs on one ticket.

Built for engineering leaders managing 20–200 person teams who are tired of measuring activity instead of output.

Stop counting lines.
Start reading the story.

Point it at any GitHub repo and Jira project. Get a cross-referenced narrative digest in minutes.

Canopy

Engineering digests, not dashboards.