Your hexagonal architecture ports might still be speaking HTTP instead of business.
In hexagonal architecture, ports exist to isolate your business logic from how
it's delivered. In practice, most of them are still named after HTTP operations
like createUser or updateUser — a habit inherited from years of REST-first
development.
That mismatch isn't cosmetic. It turns your tests into database checks instead
of real business specifications. And it's exactly the convention AI coding
agents will pick up from your existing code and repeat at scale, for as long as
the repo lives.
I wrote about why ports keep lying about your business, and what it takes to
name them so a domain expert would recognize what they actually do.
Read the full article on the SQUER blog →
The part people push back on most is the single-adapter case — if there's only
ever going to be one adapter, is the port interface worth keeping? Curious
whether you'd skip it.
Top comments (0)