{
  "metadata": {
    "skill_name": "wiki",
    "skill_path": "<path/to/skill>",
    "executor_model": "<model-name>",
    "analyzer_model": "<model-name>",
    "timestamp": "2026-04-14T20:40:52Z",
    "evals_run": [
      1,
      3
    ],
    "runs_per_configuration": 3
  },
  "runs": [
    {
      "eval_id": 3,
      "configuration": "with_skill",
      "run_number": 1,
      "result": {
        "pass_rate": 1.0,
        "passed": 7,
        "failed": 0,
        "total": 7,
        "time_seconds": 0.0,
        "tokens": 0,
        "tool_calls": 0,
        "errors": 0
      },
      "expectations": [
        {
          "text": "Every class that inherits from the declarative Base is identified as an entity",
          "passed": true,
          "evidence": "detected-entities.json has User, Order, Role \u2014 all three Base-inheriting classes."
        },
        {
          "text": "Each entity's table_name matches its own __tablename__ assignment (R3 per-class windowing)",
          "passed": true,
          "evidence": "User\u2192users, Order\u2192orders, Role\u2192roles. R3 holds."
        },
        {
          "text": "relationship() declarations have type AND target_entity populated (T1)",
          "passed": true,
          "evidence": "T1 PROOF: User.relationship('Order') \u2192 target_entity='Order'; User.relationship('Role') \u2192 target_entity='Role'; Order.relationship('User') \u2192 target_entity='User'. All populated."
        },
        {
          "text": "ForeignKey() declarations resolve to a target table name (not 'table.column') (T1)",
          "passed": true,
          "evidence": "T1 PROOF: Order.ForeignKey('users.id') \u2192 target_entity='users' (collapsed to table part, not 'users.id')."
        },
        {
          "text": "detected-entities.json serializes each relationship as {type, target_entity} (T2, not a bare kind string)",
          "passed": true,
          "evidence": "T2 PROOF: jq shows each relationship as {type: 'relationship'|'foreign_key', target_entity: 'Order'|'Role'|'User'|'users'}. Object shape, not flat kind strings."
        },
        {
          "text": "Mermaid erDiagram has edges between real tables (users\u2194orders, users\u2194roles) with NO _rel placeholders",
          "passed": true,
          "evidence": "4 edges: users||--o{ orders, users||--o{ roles, orders||--o{ users, orders}o--|| users. No `_rel` in grep. Real tables at both endpoints."
        },
        {
          "text": "mermaid_lint passes",
          "passed": true,
          "evidence": "mermaid-lint.txt contains []."
        }
      ],
      "notes": []
    },
    {
      "eval_id": 1,
      "configuration": "with_skill",
      "run_number": 1,
      "result": {
        "pass_rate": 1.0,
        "passed": 8,
        "failed": 0,
        "total": 8,
        "time_seconds": 0.0,
        "tokens": 0,
        "tool_calls": 0,
        "errors": 0
      },
      "expectations": [
        {
          "text": "User + Order identified as @Entity classes",
          "passed": true,
          "evidence": "detected-entities.json: User, Order."
        },
        {
          "text": "@Table(name) maps correctly; User has schema=public",
          "passed": true,
          "evidence": "Order\u2192orders, User\u2192public.users."
        },
        {
          "text": "@OneToMany and @ManyToOne relationships captured",
          "passed": true,
          "evidence": "Order.many_to_one, User.one_to_many, User.many_to_many all present in JSON."
        },
        {
          "text": "Every relationship has non-empty target_entity (F3 + T2 serialization)",
          "passed": true,
          "evidence": "T2 PROOF: jq extract \u2192 ['User', 'Order', 'Role']. blank_count=0. F3's target resolution is now visible in the JSON (wasn't before T2)."
        },
        {
          "text": "Role stub block (R2) emitted BEFORE users\u2194role edge, no _rel phantoms",
          "passed": true,
          "evidence": "database-mapping.md line 30: `role {` stub; line 35: `users }o--o{ role`. grep -E '_rel' returns nothing."
        },
        {
          "text": "Mermaid has BOTH directions of User\u2194Order (S2 many_to_one rendering)",
          "passed": true,
          "evidence": "Lines 33 + 34: `orders }o--|| users` (many_to_one) and `users ||--o{ orders` (one_to_many) \u2014 S2 extension makes many_to_one visible."
        },
        {
          "text": "frontmatter type=entity, orm_profile=jpa",
          "passed": true,
          "evidence": "Frontmatter in database-mapping.md."
        },
        {
          "text": "mermaid_lint returns []",
          "passed": true,
          "evidence": "mermaid-lint.txt contains []."
        }
      ],
      "notes": []
    }
  ],
  "run_summary": {
    "with_skill": {
      "pass_rate": {
        "mean": 1.0,
        "stddev": 0.0,
        "min": 1.0,
        "max": 1.0
      },
      "time_seconds": {
        "mean": 0.0,
        "stddev": 0.0,
        "min": 0.0,
        "max": 0.0
      },
      "tokens": {
        "mean": 0.0,
        "stddev": 0.0,
        "min": 0,
        "max": 0
      }
    },
    "delta": {
      "pass_rate": "+1.00",
      "time_seconds": "+0.0",
      "tokens": "+0"
    }
  },
  "notes": []
}