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
94%
Does it follow best practices?
Impact
97%
2.69xAverage score across 10 eval scenarios
Passed
No known issues
{
"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
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
rules
skills
themis