Skip to content
lube

VCS insights

GitHubCycle timeCI insightsBranch risk

See where a pull request actually waits.

Cycle time, code churn, CI reliability and branch risk, read from the GitHub activity already connected to lube. Delivery flow you can drill into, without turning your team into a leaderboard.

pull request · cycle time

2d 4h
  • Open to first review6h
  • Review to approved1d 2h
  • Approved to merged3h
  • Merged to deployed5h
Pull request cycle time

Its place in the loop

Insights read the work happening in Engineering.

One connected loop, held on the stage this capability serves. The other stages stay as context so you can see what feeds in and what comes next.

BD
Discovery
Feedback
Product
Engineering
Release
Reliability
Evidence

Stage inventory

Engineering

Build and verify the change.

VCS insights

Inspect delivery workflow activity in the connected release workspace.

Available now

Test intelligence

Investigate test outcomes and flakiness evidence across runs.

Available now

API Explorer

Keep API contracts inspectable next to the release that changed them.

Available now

Compute pricing

Compare public cloud compute pricing as planning evidence.

Available now

Coming later reflects product vision, not a delivery commitment.

Flow, not a leaderboard

Insights read GitHub activity and describe how work moves: where a pull request waits, which pipeline keeps failing, which branch is risky. They describe the system, not the people in it, and lube will never rank your engineers.

What we read from GitHub

One OAuth connection and lube ingests the repos you pick — commits, pull requests and reviews, CI runs and jobs, and branches — over webhooks, then mirrors each repo to compute line-level churn and lines-of-code. Every metric is derived from that real history, so what you read is the activity you already have, not an estimate.

Throughput, week over week

Watch merged catch up to opened.

Opened and merged pull requests per week, drawn from the GitHub history lube already indexes. A widening gap means review is falling behind; a closing one means the queue is clearing.

pull requests · per week

opened merged
W1W2W3W4W5
Opened vs merged, per week

Where the lines go

Churn, split four ways.

A git mirror classifies every line into new work, rework of your own recent code, help on a teammate's, or legacy refactor — then derives a survival rate and the AI-vs-human split. It measures the codebase, never a person.

lines written · this window

  • New work48%
  • Rework27%
  • Help others16%
  • Legacy refactor9%
Survival rate
64%
AI-assisted lines
38%
Line-churn composition, this window

CI you can debug

A red pipeline, made diagnosable.

Runs, checks and jobs feed a failure rate per workflow, colored by threshold, plus duration percentiles and recovery time. The flakiest workflow surfaces itself instead of hiding in the noise.

workflow · failure rate

runs
  • e2e19%
    214
  • unit6%
    892
  • lint2%
    640
  • build4%
    431
p50 dur
3m40s
p90 dur
11m
recovery
18m
CI health by workflow

Break it down, then drill in

Scope every read by repository, monorepo path, date window up to 400 days, and humans-only or with bots. Commits filter by provenance — human, AI-assisted, or agent — and group by PR; PRs filter by state and author; CI runs by conclusion and workflow. Open any pull request or commit for its full lifecycle.

How a change moves

Connect once, then it flows.

Connect

One OAuth, four reads.

Authorize GitHub, pick the repositories to ingest, and lube starts reading the four surfaces a change touches — over webhooks, keyed so replays never double-count.

commitspull requestsCI runsbranches
  1. 01

    Connect GitHub

    OAuth, then pick repos

  2. 02

    Ingest

    webhooks + signature verify

  3. 03

    Project

    commits, PRs, CI, branches

  4. 04

    Read

    cycle time, churn, CI health

From connect to insight

Cycle time

Where a PR actually waits.

The stages from open to deployed, drawn to scale from merged pull-request history. A long review wait shows up as the widest bar, not a hunch.

real review threadsper stagedrillable

pull request · cycle time

22h
  • Opened to first review6h
  • Review to approved14h
  • Approved to merged2h
PR cycle time, by stage

Contributor load

One flag where it's needed.

Activity per contributor fills to its share. Only a blocked or stalled reviewer is flagged, so attention lands on the one thing to unblock, not the whole team.

activity shareat-risk onlyno leaderboard
  • dana14 PRs
  • sam11 PRs
  • rae3 open · stalled reviewat risk
  • kai7 PRs
Contribution, with one at-risk flag

Review throughput

Bigger PRs, longer waits.

Reviews are bucketed by change size, xs to xl, with the median time to review each. The larger the pull request, the longer it sits — a pattern you can act on when you split the next one.

by size bucketmedian review timemerge rate
  • xs2h
  • s5h
  • m11h
  • l1d 4h
  • xl2d 6h
Median review time by PR size

Reconciliation

Backfilled, then kept honest.

On connect, lube backfills history so the charts are populated from day one, then reconciles on request to heal any missed webhook — and retention runners prune raw detail on schedule.

historical backfillon-demand reconcileretention
  1. 01

    Backfill

    history on connect

  2. 02

    Sync

    live over webhooks

  3. 03

    Reconcile

    on request, heal gaps

  4. 04

    Retain

    prune raw on schedule

Keeping the record whole

Bring your git host

GitHub today. More on the way.

The entire insights engine is native — every chart is computed by lube, not the provider. GitHub is connected now; GitLab and Bitbucket are coming, and we mark them coming soon rather than pretend they are live.

  • GitHubOAuth · commits, PRs, CI, brancheslive
  • GitLabingestion in progresscoming soon
  • Bitbucketon the roadmapcoming soon
Git host support

The depth under the surface

The details most dashboards skip.

From CI conclusions to how AI-assisted work is detected, the raw material is specific and the method is written down.

CI conclusions

How a run ended.

successfailurecancelledskippedtimed_outaction_required

Branch risk

Computed level.

lowmediumhighblocked

Branch ops

With dry-run.

deleterenamerefreshprotectunprotect

AI detection

How it is inferred.

co_author_trailermessage_markerauthor_identitycommitter_identity

Governance

Events tracked.

releasessecurity alertsrule eventsbranch protection

Search

Over commits.

shamessageauthortrigram full-text

What you get

GitHub

connect it and cycle time, churn, and CI insights fill in

Per-PR

review latency read from real review threads, not estimates

CI MTTR

recovery time tracked over runs so a red pipeline is diagnosable

Risk score

computed per branch with structured reasons before any cleanup

Around the release

Follow the change further.

Ground your delivery conversations in real activity.

Start free

Connect GitHub to get started.