Quality Gates
CI says green — so why did the module boundary just break?
Active
Turning team and architecture rules into checks that fail the build: CI gates for a packaged E2EE module, choosing Android lint tools, and rolling custom lint rules out across teams.
CI Says Green — So Why Did the Module Boundary Just Break?
Compiling isn't enough to protect a Flutter/Kotlin/Swift/Rust E2EE module's architecture. Five CI gates that catch boundary breaks before they ship.
Android Lint, Detekt or ktlint? Ask What the Rule Needs
Stop asking which Android linter is best. Ask what each team rule needs — types, a quick fix, resources, KMP — and pick the tool that can enforce it.
Your Custom Lint Rule Works. Will Ten Teams Accept It?
A custom Android Lint rule takes an afternoon. Rolling it out to ten teams takes an owner, tests, a stable message, a baseline ratchet and a kill switch.
Coming in this series
- Mutation Testing a Crypto Core: Are My Invariant Tests Vacuous?