Use before implementing or refactoring software when the task requires designing module boundaries, APIs, layers, abstractions, services, repositories, adapters, or architecture. Helps coding agents reduce total system complexity by creating deep modules, hiding implementation knowledge, avoiding leakage and pass-through APIs, comparing alternative designs, documenting interfaces before coding, and critiquing existing architecture.
93
94%
Does it follow best practices?
Impact
93%
1.13xAverage score across 5 eval scenarios
Passed
No known issues
A team wants feedback on a profile lookup feature before adding membership badges and privacy filtering. The current design has several layers and has been easy to extend in small ways but hard to reason about. Review the architecture and recommend a migration path that reduces maintenance risk without a broad rewrite.
Produce architecture_critique.md only.
=============== FILE: profile_stack.py ===============
class UserController:
def get_user(self, http_request):
return UserService().get_user(http_request.args["id"], http_request)
class UserService:
def get_user(self, user_id, request):
return UserManager().get_user(user_id, request)
class UserManager:
def get_user(self, user_id, request):
row = UserRepository().get_user(user_id, request.db_transaction)
if row["status_code"] == 9:
return {"error": "inactive"}
return row
class UserRepository:
def get_user(self, user_id, transaction):
return transaction.query("select * from users where id = ?", [user_id]).one()