New Features in git11

git11 is an AI workspace for engineering teams. It understands repositories, auto-generates documentation, answers deep code questions, and works securely across your GitHub organization.

✦ AI Documentation for any repository

✦ Ask anything about your codebase

✦ Organization & team access with permissions

✦ Secure GitHub App integration with audit logs

git11 repository intelligence dashboard

Code review is where velocity goes to die

Review latency scales exponentially with change size and context switching costs.

By git11 Engineering · Sun Mar 29 2026 · 5 min read

Code review is where velocity goes to die

The average pull request sits idle for 18 hours before the first human comment. In a high-traffic monorepo, that delay doubles every time a developer context switches to a new feature. Code review is the single largest bottleneck in modern software delivery.

Most teams treat review as an asynchronous luxury. They wait for a gap in their schedule to check github.com/pulls. This approach guarantees stale branches and frequent merge conflicts. You are not waiting for feedback; you are waiting for a lack of focus.

The size problem

Review time does not scale linearly with lines of code. A 10-line change takes 5 minutes to approve. A 500-line change takes 5 hours to start and 2 days to finish. Large PRs trigger a psychological barrier called review fatigue.

  • Break changes into units under 200 lines.
  • Use stacked pull requests to manage dependencies between small increments.
  • Separate refactoring from functional changes into distinct commits.
  • Delete dead code in its own PR to avoid distracting the reviewer.

When a PR exceeds 400 lines, the defect detection rate drops by half. Reviewers stop looking for logic errors and start looking for typos. You gain speed in the short term by skipping small PRs, but you pay in technical debt and production incidents.

The cost of context switching

Every time a reviewer stops their work to check your code, they lose 20 minutes of deep work. If they wait until the end of the day, your branch is already out of sync with main. This is the synchronization tax.

  1. Reviewers prioritize their own tickets over unblocking others. 2. Authors start new work while waiting, creating more WIP.
  1. Context for the original PR fades, making feedback harder to implement. 4. Merge conflicts accumulate as other developers land their code.

We see teams attempt to solve this with Slack notifications. A bot posts to #eng-deploys every time a PR opens. This creates noise, not action. Developers mute the channel and go back to their IDE.

Automated gatekeeping

Human reviewers should never comment on formatting, linting, or basic type safety. These tasks belong in your CI pipeline. If a human mentions a missing semicolon or an unused import in src/utils/helpers.ts, your tooling has failed.

  • Check for eslint or prettier errors in a pre-commit hook.
  • Run unit tests and integration tests before the PR is assigned.
  • Use a CODEOWNERS file to automate reviewer assignment based on file paths.
  • Implement strict type checking in tsconfig.json to catch primitive errors.

If the CI fails, the PR should be invisible to reviewers. A developer should only see a PR when the machine is satisfied. This saves the most expensive resource in your company: senior engineer attention.

Designing for the reviewer

Most PR descriptions are useless. A title like "Update user logic" provides no signal. The reviewer must open git diff and reconstruct your mental model from scratch.

Write PR descriptions that explain why, not how. The code shows how the change works. The description must explain the business logic or the bug being squashed. Link the Jira ticket or the GitHub issue explicitly.

The feedback loop

Nitpicks are the primary cause of friction. A nitpick is a suggestion that does not affect functionality or correctness. It is a matter of style preference. Label these clearly so the author knows they are optional.

  • Mark non-blocking comments with nit:.
  • Use (suggestion) for alternative implementations that aren't strictly better.
  • Reserve blocking tags for security vulnerabilities or logic bugs.
  • Approve the PR if the logic is sound, even if the style is imperfect.

The goal is to ship working software. Perfecting the aesthetic of a private function is a waste of time. Trust your teammates to make reasonable choices.

Tooling bottlenecks

GitHub's web interface is not built for high-velocity review. Scrolling through 50 files in a browser is slow. The UI hides large diffs and requires manual pagination. This friction discourages thorough review.

Engineers should use CLI tools like gh or specialized review clients. Reviewing code directly in the IDE allows for better navigation. Jumping to a definition in lib/api/client.go is faster than searching the web UI.

Measuring review health

Stop tracking total lines of code. Instead, track mean time to first comment and cycles to merge. A high number of cycles indicates a communication breakdown or a lack of architectural alignment.

If a PR requires more than three rounds of feedback, the developers should move to a call. Text is a poor medium for resolving complex architectural disagreements. 10 minutes on Zoom replaces 48 hours of back-and-forth comments.

  1. Gather the author and the lead reviewer. 2. Walk through the diff together.
  1. Agree on the changes immediately. 4. Commit the fixes and merge.

The culture of speed

Velocity is a byproduct of culture. If your culture values "thoroughness" over "unblocking others," your pipeline will always be full. You must incentivize quick turnarounds.

Make code review a first-class task in your sprint. It is not "extra" work performed after the real work is done. If a PR is waiting, it is the highest priority item for the team. A feature is worth zero until it is merged into main.

Limit the number of open PRs per developer. If a developer has three open PRs, they should not be allowed to open a fourth. This forces them to focus on landing their current work before starting something new. High work-in-progress (WIP) is the most common cause of engineering stagnation.

Ask this question directly on your own repo →