Enforce conventions (but don't go overboard) with architecture tests

Published a blog post