CtrlK
BlogDocsLog inGet started
Tessl Logo

vitron-ai/themis

Reference tile for Themis, a Node.js and TypeScript unit test framework designed for AI coding agents. Covers unit-test authoring, Jest/Vitest migration, agent-readable failure output with repair hints, and first-class integrations for Claude Code, Cursor, and generic agents.

96

2.69x
Quality

94%

Does it follow best practices?

Impact

97%

2.69x

Average score across 10 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-10/

{
  "context": "Tests whether the agent avoids nondeterministic time and network behavior in Themis tests by using controlled inputs, mocks, or stubs — and uses the correct Themis constructs (intent vs test) and includes the triple-slash reference directive.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Clock controlled in scheduler test",
      "description": "report-scheduler.test.ts does NOT call `Date.now()` directly inside assertion logic — instead passes a fixed/controlled clock value to the schedule() method or otherwise avoids real-time dependency",
      "max_score": 14
    },
    {
      "name": "Network mocked in rate test",
      "description": "fetch-external-rate.test.ts does NOT make a real network call — passes a mock/stub fetcher function or otherwise avoids live HTTP requests",
      "max_score": 14
    },
    {
      "name": "test() for aggregateRecords",
      "description": "report-aggregator.test.ts uses `test(...)` (not `intent(...)`) for the pure aggregation function",
      "max_score": 12
    },
    {
      "name": "intent() for ReportScheduler",
      "description": "report-scheduler.test.ts uses `intent(...)` (not `test(...)`) for the ReportScheduler workflow test",
      "max_score": 12
    },
    {
      "name": "Triple-slash reference present",
      "description": "At least one of the three test files contains `/// <reference types=\"@vitronai/themis/globals\" />` as the first line",
      "max_score": 8
    },
    {
      "name": "No Jest/Vitest APIs in test files",
      "description": "None of the three test files use `describe(`, `it(`, `expect(`, or import from jest/vitest packages",
      "max_score": 10
    },
    {
      "name": "Nondeterminism handling documented",
      "description": "TESTING_NOTES.md describes the specific technique used for the time-dependent scheduler (controlled clock) and the network-dependent rate fetcher (mock/stub)",
      "max_score": 12
    },
    {
      "name": "Tests in __themis__/tests",
      "description": "All three test files are placed under `__themis__/tests/` directory",
      "max_score": 10
    },
    {
      "name": "Deterministic assertions",
      "description": "All assertions in the three test files compare against fixed, known values — not against dynamic values like `Date.now()` or randomly-generated IDs",
      "max_score": 8
    }
  ]
}

tile.json