@@ 00 · blog @@
Notes from the pyor.
On the review bottleneck: why PRs got hard to read, how to review the big and the generated ones, and what a review surface owes you. We'd rather publish something worth your time than fill a feed.
@@ 01 · published @@
August 31, 2026CODEOWNERS best practices that keep reviews honestCODEOWNERS best practices from the GitHub docs and real teams: own directories not files, avoid the everything-owner, and audit for owners who never review.process · 6 minAugust 29, 2026Code review SLAs that teams actually keepA code review SLA works when it promises a first response, not a finished review. Google’s one business day ceiling, review blocks, and honest escalation.process · 6 minAugust 27, 2026How to do your first code review without pretending to know everythingHow to do your first code review: pick small PRs, read the description before the diff, ask real questions, and know exactly what your approval means.new reviewers · 6 minAugust 25, 2026When to request changes in a code review, and when to approve with commentsWhen to request changes in code review: block only on correctness, security, or irreversible design, and make approve with comments your default verdict.review verdicts · 5 minAugust 23, 2026Code review comments that land: examples, rewrites, and severityCode review comments examples that actually land: before and after rewrites, severity prefixes, questions over verdicts, and praise that teaches.review craft · 6 minAugust 21, 2026How to review infrastructure as code and config changesHow to review infrastructure as code: why small config diffs hide huge blast radius, plus a checklist for env scoping, secrets, defaults, and rollback.infra review · 6 minAugust 19, 2026How to review dependency updates without reflex-mergingHow to review dependency updates without reflex-merging: tier Renovate and Dependabot PRs by risk, read changelogs, and watch new transitive packages.dependency hygiene · 6 minAugust 17, 2026How to review a refactor when the claim is no behavior changeHow to review a refactor: treat no behavior change as a claim needing evidence, use commit structure and untouched tests, and catch sneaked-in edits.refactor review · 6 minAugust 15, 2026How to review test code so that green means somethingHow to review test code so green means something: ask if the test can fail, assert requirements over implementation, and catch flakiness smells in the diff.test review · 6 minAugust 13, 2026How to review frontend pull requests beyond looks fineHow to review frontend pull requests beyond looks fine: the four UI states, race conditions, accessibility basics, bundle cost, and when to pull the branch.frontend review · 6 minAugust 11, 2026How to review API changes without breaking clientsHow to review API changes as contract changes: additive vs breaking, nullability and error-shape traps, versioning, deprecation, and generated clients.contract thinking · 6 minAugust 9, 2026How to review database migrationsHow to review database migrations: verify the down path, lock behavior on big tables, deploy order, and backfills before a one-line ALTER hurts you.schema changes · 6 minAugust 7, 2026A security code review checklist for auth, payments, and input handlingA security code review checklist for auth, payments, and input handling: trust boundaries, authz on new paths, secrets, and a two-reviewer rule.critical paths · 7 minAugust 5, 2026A code review checklist that fits in your head: three passes, seven questionsA code review checklist that fits in your head: three passes, seven questions worth asking every time, and when checklists turn into box-ticking.the checklist · 6 minAugust 3, 2026Junior developers, AI code review, and the learning loop we are quietly breakingHow junior developers and AI code review collide: unclear ownership when agents write full PRs, and the norms that protect the learning loop.the apprenticeship · 6 minAugust 1, 2026Multiple AI code reviewers: when parallel bots help and when they just multiply noiseMultiple AI code reviewers barely overlap in what they find. When parallel review bots are worth the noise, and when one well-tuned reviewer wins.the ensemble · 6 minJuly 30, 2026Code review capacity: plan it like the finite resource it isCode review capacity is a finite team resource. How to estimate it in reviewer-hours, spend it deliberately by risk tier, and spot when it runs out.the budget · 6 minJuly 28, 2026Prompt injection is now a code review problemPrompt injection code review: how hidden instructions in READMEs, comments, and issues steer AI agents and reviewers, and a checklist for catching them.review security · 6 minJuly 26, 2026When AI changes tests to pass, green CI stops meaning correctWhen AI changes tests to pass, green CI stops meaning correct. Why reviewers should read test diffs first and how to protect assertions from quiet rewrites.test integrity · 6 minJuly 24, 2026AI code change intent documentation: capture the why before the session diesAI code change intent documentation keeps the reasoning after the agent session ends: what was asked, what was chosen, what was rejected, what is untested.capturing intent · 6 minJuly 24, 2026Pyor vs Stage: an honest comparisonPyor vs Stage compared honestly by the team behind Pyor: narrate the diff into AI chapters versus organize it and point. Which review style fits you?head to head · 8 minJuly 22, 2026Risk based code review: tier your rigor by blast radiusRisk based code review tiers rigor by blast radius, longevity, and ownership. A concrete four tier model, how to encode it, and the everything is critical trap.review tiers · 6 minJuly 22, 2026Pyor vs CodeRabbit: an honest comparisonPyor vs CodeRabbit compared honestly by the team behind Pyor: an AI reviewer that comments on PRs versus a human review surface with AI triage.head to head · 8 minJuly 20, 2026Human on the loop code review vs human in the loop: pick one honestlyHuman in the loop gates every change before merge. Human on the loop code review samples and audits with authority to intervene. When each posture fits.review postures · 6 minJuly 20, 2026Pyor vs Graphite: an honest comparisonPyor vs Graphite compared honestly by the people who build Pyor: stacked PRs and a merge queue versus a faster review surface. Which one fits your team?head to head · 8 minJuly 18, 2026Agentic code review: how review changes when agents write the codeAgentic code review means reviewing code whose author is a model: absent intent, tiered rigor by blast radius, and a human who still owns the merge.the agent era · 7 minJuly 18, 2026Greptile alternatives in 2026: an honest comparisonGreptile alternatives compared honestly: CodeRabbit and GitHub Copilot code review, plus Pyor, a review surface that triages the diff instead of commenting.the field · 8 minJuly 16, 2026Stop reviewing code on GitHubGitHub hosts your PRs; it was never built to review them. Why the default web diff is the wrong surface for review, and where to read code instead.a strong opinion · 7 minJuly 16, 2026GitHub Copilot code review alternatives in 2026GitHub Copilot code review alternatives compared honestly: CodeRabbit and Greptile go deeper, and Pyor takes a non-bot approach that triages the diff for you.the field · 8 minJuly 15, 2026Review pull requests in dependency order, not alphabeticalGitHub lists changed files alphabetically, which fights comprehension. Dependency order reads the code the way it was built: exporters first, entry points last.reading order · 6 minJuly 14, 2026What AI should (and shouldn’t) do in code reviewWhere AI in code review actually helps: upstream as a quiet pre-filter, humans downstream on a fast surface. Why Pyor ships no AI summaries, by design.our position · 6 minJuly 14, 2026Graphite alternatives in 2026: an honest comparisonGraphite alternatives compared honestly: GitHub native stacked PRs in private preview, CodeRabbit and Greptile for AI review, and Pyor as a review surface.the field · 8 minJuly 12, 2026AI PRs are burning out open source maintainersAI-generated PRs arrive in minutes; review still happens at volunteer speed. The data behind open source maintainer burnout, and what projects can do.the commons · 6 minJuly 12, 2026CodeRabbit alternatives in 2026: an honest comparisonCodeRabbit alternatives compared honestly: Greptile, GitHub Copilot code review, Graphite, and Pyor, a surface that triages the diff instead of commenting.the field · 8 minJuly 10, 2026Alert fatigue comes for code reviewAI review false positives don't just waste time; they teach your team to ignore the bot, real catches included. How to tune a reviewer for trust.the agent era · 5 minJuly 8, 2026AI code review tools: what they actually catchHow accurate is AI code review? Independent testing shows most suggestions duplicate linters, some are wrong, a few are gold. How to evaluate a tool honestly.the evidence · 6 minJuly 6, 2026Atomic commits make reviewable PRsStructure a pull request as a sequence of atomic commits and reviewers can read it like chapters. The craft of commit-by-commit review, and the squash debate.review craft · 6 minJuly 4, 2026Do code reviews actually find bugs?Do code reviews find bugs? Yes, but fewer than you'd hope, and that's not their main value. What the research says reviews deliver, and when they pay off.the evidence · 6 minJuly 2, 2026Re-reviewing a PR after changes: the interdiff problemHow to review changes since your last review: the interdiff problem, force-push pain, git range-diff, and commit-scoped diffs that keep threads intact.review craft · 6 minJune 30, 2026Nitpicks are killing your code reviewCode review nitpicking crowds out logic review, demoralizes authors, and slows merges. Automate the nits, label the rest, save attention for what matters.review culture · 6 minJune 28, 2026Author self-review: the cheapest code review you’re not doingSelf-review your pull request before requesting eyes: catch the cheap defects at the cheapest point and halve reviewer round-trips. A five-minute pass.review craft · 6 minJune 26, 2026LGTM culture: when code review becomes theatreLGTM code review can mean real approval or rubber-stamping. How LGTM culture drifts into theatre, and how to make approval mean something.review culture · 6 minJune 24, 2026Reviewing PRs locally vs. in the browser: when to pull the branchSome reviewers pull the branch to review pull requests locally; others live in the web diff. The real trade-offs, when each wins, and the third option.review craft · 6 minJune 22, 2026Stop losing review requests: fixing the PR review inboxReview requests die in GitHub notification noise. Build a PR query inbox with search filters, review SLAs, scheduled review blocks, and a real queue.team flow · 6 minJune 20, 2026AI writes code faster than you can review itAuthoring got 50% faster; reviewing didn't. Why the AI code review bottleneck is structural, what it does to teams, and the three places to attack it.the agent era · 6 minJune 18, 2026GitHub PR review alternatives in 2026: an honest comparisonGitHub PR review alternatives compared honestly: Graphite's stacks, Stage's AI chapters, Pyor's native surface, or just pulling locally. Which fits your team?the field · 8 minJune 16, 2026Reviewing AI-generated code: a practical checklistHow to review AI-generated code: a practical checklist covering intent match, hallucinated APIs, untested edges, security surface, and testing the tests.the agent era · 7 minJune 14, 2026How big should a pull request be?The research-backed answer on pull request size: under ~400 changed lines, smaller is better. Where the number comes from, when to break it, how to split.review craft · 5 minJune 12, 2026How to review large pull requests without losing your mindA practical, step-by-step method for reviewing large pull requests: triage the files that matter, review in passes, and keep your place in a 40-file diff.review craft · 7 minJune 10, 2026Why are pull requests so hard to review?Pull request review is slow because reading code is harder than writing it, and the tools make it worse. The four real causes, and what actually helps.the bottleneck · 6 min