Blog
On documented architecture, and making it hold.
Engineering patterns, real findings from open-source PRs, and updates on making structural review part of every pull request.
September 10, 2026
Your architecture docs matter more than ever. Now every pull request is checked against them.
Coding agents read your docs as context, and nothing checks that the code still agrees with them. How Striff turns the sentences already in your repository into rules computed at both revisions of every pull request, and the one real violation it found in 1,912 checks.
Read moreAugust 24, 2026
The reviewer is not allowed to be the source of any claim
AI code review has a trust problem: fluent, plausible statements nobody can check. The fix is not a better prompt. It is an architecture where a language model reads your docs and phrases the result, and everything in between, every rule and every verdict, is computed from two parsed revisions.
Read moreAugust 18, 2026
Coupling metrics, explained — and why a coupling delta is not a finding
What afferent and efferent coupling actually measure, how to read them together with complexity, inheritance depth and encapsulation, and the case for why none of these numbers should ever be reported to a reviewer as a finding on its own.
Read moreAugust 12, 2026
The architecture review checklist: catching structural risk in a pull request, by hand
A checklist for reviewing pull requests for architectural risk: what your own docs already decided, new dependency directions, reaches into module internals, blast radius and cycles. With an honest accounting of which steps a machine can take off you and which it cannot.
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 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