Strategic architecture, tactical design, and testable code principles (SOLID, Clean Architecture, Design Patterns, Testable Design)
97
97%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
{
"context": "Agent must produce a gateway that fully translates external CRM data to domain types, preventing external model leakage",
"type": "weighted_checklist",
"checklist": [
{
"name": "CrmGateway.ts produces a Customer domain object",
"description": "The getCustomer method (or equivalent) returns a Customer object with all five fields: id, fullName, email, isPremium, createdAt",
"max_score": 25
},
{
"name": "Full name is assembled from f_name and l_name",
"description": "CrmGateway.ts concatenates f_name and l_name into fullName — not just using one field",
"max_score": 15
},
{
"name": "acct_type is correctly mapped to isPremium",
"description": "CrmGateway.ts maps 'PRE' to true and 'STD' to false for the isPremium field",
"max_score": 15
},
{
"name": "reg_ts is converted to a Date",
"description": "CrmGateway.ts converts the reg_ts string to a Date object for the createdAt field (e.g. new Date(reg_ts))",
"max_score": 15
},
{
"name": "No CrmApiResponse fields leak outside CrmGateway.ts",
"description": "CrmGateway.ts does not export CrmApiResponse or return it; only Customer is returned to callers",
"max_score": 20
},
{
"name": "acl-analysis.md explains domain pollution risk and ACL resolution",
"description": "acl-analysis.md contains one paragraph on what pollution would look like (e.g. cust_id and acct_type used in domain code) and one paragraph on how the ACL isolates it",
"max_score": 10
}
]
}clean-architecture
evals
references
design-patterns
solid-principles
testable-design