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.jsonsolid-principles/evals/scenario-2/

{
  "context": "Agent must introduce an abstraction to make the ReportExporter open for extension without modification, and articulate the OCP violation",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "IReportFormatter interface produced",
      "description": "IReportFormatter.ts exists and exports an interface with at least a format or export method that takes data and returns a string",
      "max_score": 15
    },
    {
      "name": "Three format implementations produced",
      "description": "CsvFormatter.ts, JsonFormatter.ts, and TsvFormatter.ts each exist and implement IReportFormatter",
      "max_score": 20
    },
    {
      "name": "Refactored ReportExporter contains no format-specific logic",
      "description": "ReportExporter.ts has no if/else or switch on format string; it only delegates to the injected IReportFormatter",
      "max_score": 25
    },
    {
      "name": "ReportExporter accepts formatter via constructor or method parameter",
      "description": "ReportExporter.ts receives an IReportFormatter instance as a constructor parameter or method argument",
      "max_score": 20
    },
    {
      "name": "ocp-analysis.md correctly explains the violation and fix",
      "description": "ocp-analysis.md identifies the if/else chain as the violation and explains that the abstraction allows adding formats without editing existing files",
      "max_score": 20
    }
  ]
}

tile.json