CtrlK
BlogDocsLog inGet started
Tessl Logo

pantheon-ai/design-principles

Strategic architecture, tactical design, and testable code principles (SOLID, Clean Architecture, Design Patterns, Testable Design)

97

Quality

97%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsondesign-patterns/evals/scenario-4/

{
  "context": "Agent must extract complex conditional object creation into a Factory, separating construction concerns from usage concerns",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "INotificationSender interface produced",
      "description": "INotificationSender.ts exists with a send method returning Promise<void>",
      "max_score": 10
    },
    {
      "name": "Three sender implementations produced",
      "description": "EmailSender.ts, SmsSender.ts, and SlackSender.ts each exist and implement INotificationSender",
      "max_score": 20
    },
    {
      "name": "Factory class has create method with conditional logic",
      "description": "NotificationSenderFactory.ts has a create method containing the channel-based branching logic",
      "max_score": 25
    },
    {
      "name": "Refactored NotificationService accepts sender via constructor",
      "description": "NotificationService constructor parameter is typed to INotificationSender, not a concrete sender class",
      "max_score": 20
    },
    {
      "name": "NotificationService contains no conditional creation logic",
      "description": "The refactored NotificationService.ts has no if/else or switch statements for channel selection",
      "max_score": 25
    }
  ]
}

tile.json