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

task.mdclean-architecture/evals/scenario-1/

Identify and Fix Dependency Direction Violations

Problem Description

Review the following TypeScript module structure and identify all dependency direction violations. The project claims to follow Clean Architecture.

File: src/domain/entities/order.ts

import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';
import { OrderRepository } from '../../infrastructure/repositories/order-repository';

@Entity()
export class Order {
  @PrimaryGeneratedColumn()
  id: string;

  @Column()
  userId: string;

  @Column()
  total: number;

  async save(): Promise<void> {
    const repo = new OrderRepository();
    await repo.persist(this);
  }
}

File: src/application/use-cases/create-order.ts

import { PostgresOrderRepository } from '../../infrastructure/repositories/postgres-order-repository';

export class CreateOrderUseCase {
  private repo = new PostgresOrderRepository();

  async execute(userId: string, items: string[]): Promise<string> {
    // ... business logic
    await this.repo.save(order);
    return order.id;
  }
}

Produce a VIOLATIONS.md that:

  1. Lists each dependency direction violation found
  2. Explains why each violates the dependency rule
  3. Shows how to fix each one (what should import what instead)

clean-architecture

evals

scenario-1

capability.txt

criteria.json

task.md

instructions.json

summary_infeasible.json

summary.json

SKILL.md

tile.json