{
  "eval_id": 4,
  "eval_name": "orm-agent-prisma",
  "skill": "wiki-orm-agent",
  "prompt": "Detect and map the ORM entities in this Prisma project. The schema lives at agents/wiki-orm-agent/evals/fixtures/prisma/schema.prisma — three models (User, Post, Comment) with explicit @relation declarations linking them.",
  "assertions": [
    {
      "text": "All three models (User, Post, Comment) are extracted into detected-entities.json as separate entries",
      "passed": null,
      "evidence": null
    },
    {
      "text": "Each entity's table_name matches the @@map(...) value in the fixture (e.g., User → 'users', Post → 'posts', Comment → 'comments')",
      "passed": null,
      "evidence": null
    },
    {
      "text": "Every @relation(fields: [...], references: [...]) field produces a relationship in detected-entities.json with a non-empty target_entity that names another extracted model — no blank target_entity strings",
      "passed": null,
      "evidence": null
    },
    {
      "text": "One-to-many sides (e.g., posts Post[]) produce relationships of type one_to_many; their corresponding many-to-one inverse (e.g., author User @relation(...)) produces type many_to_one, both with the correct target_entity",
      "passed": null,
      "evidence": null
    },
    {
      "text": "Generated database-mapping.md frontmatter has type='entity' and orm_profile='prisma'",
      "passed": null,
      "evidence": null
    },
    {
      "text": "Mermaid erDiagram contains nodes named 'users', 'posts', 'comments' (the table names from @@map, not the model names) and at least one edge of cardinality ||--o{ linking users-posts AND another linking posts-comments",
      "passed": null,
      "evidence": null
    },
    {
      "text": "mermaid_lint.js reports no issues on the generated page",
      "passed": null,
      "evidence": null
    }
  ]
}
