Blog
Insights on architecture-aware code review.
Engineering patterns, real findings from open-source PRs, and updates on making structural review part of every pull request.
July 28, 2026
1 in 3 refactor PRs quietly moves the architecture. Nobody's review mentioned it.
We analyzed merged refactor PRs from well-known repos like Presto, Google Cloud DataflowTemplates, Apache Beam, and LINE armeria. A third carried real structural risk: boundary inversions, package cycles, contract rewrites. Here's what that risk looks like, on real Striff diagrams.
Read moreJuly 21, 2026
Design docs matter more than ever. Now they can actually be enforced.
In the AI era, a written design decision steers every generated line, and an unenforced one gets violated at machine speed. Here's how Striff extracts structural facts from every PR and turns design-doc decisions into checks, with a real enforcement example.
Read moreMay 19, 2026
The architecture review checklist: how to catch structural risk in a PR, by hand
A practical, tool-agnostic checklist for reviewing pull requests for architectural risk: new dependency directions, blast radius, layer skips, cycles, and coupling drift. Plus the free tools that help, and the honest math on what it costs.
Read moreMarch 10, 2026
How we stop our AI reviewer from making things up
AI code review has a trust problem: plausible-sounding claims nobody can verify. Here's Striff's answer, a facts-first, neurosymbolic pipeline where the graph is measured before the AI writes a word, plus the findings we deliberately refuse to post.
Read moreJanuary 27, 2026
Package dependency cycles: how one clean import quietly breaks your build, your tests, and your team
What a package-level dependency cycle actually is, the mechanical damage it does to builds, testing, and refactoring, how cycles really form, and why near-cycles are the cheapest architectural problem you'll ever fix.
Read moreNovember 18, 2025
Afferent and efferent coupling, explained with numbers from real codebases
What afferent coupling (Ca) and efferent coupling (Ce) actually measure, how to read them together, and what the rest of the metrics on a Striff diagram mean: WMC, DIT, NOC, and encapsulation, illustrated with real values from Spring Framework and Apache Pinot.
Read moreSeptember 2, 2025
AI didn't make engineering discipline obsolete. It made it the whole job.
Tests, small PRs, readable code, documentation: every engineering best practice just got more valuable, because every one of them is about managing change, and change is what AI multiplied. But one practice has no guardian at all, and it's the one that decides whether your codebase survives the next two years.
Read more