Skip to main content
Glama

Run logic tests

run_tests

Run headless Node logic tests for the game and get each failure with its message, source line, and game tick, scene, and state. Use after every change and add tests for new mechanics.

Instructions

Run the logic tests in tests/**/*.test.ts (keiko): the real game in Node, no browser, in milliseconds. Each failure has its message, the source line, and the game's tick, scene and state when it failed. Use after every change; write a test for each mechanic you add.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rootNoProject root. Absolute path, or relative to the server's root. Default: the server's root.
filesNoTest files relative to the root. Default: all.
filterNoOnly run tests whose name contains this text.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.0

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already state this is not read-only and not destructive. The description adds useful behavioral context beyond that: no browser, fast millisecond execution, and detailed failure output including source line and game state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action and environment. Every sentence contributes to scope, output expectations, or usage timing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but the description explains failure diagnostics sufficiently for a test runner. It does not describe success output, but the purpose and invocation context are otherwise complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the three parameters are already fully described in the schema. The description adds no additional parameter syntax or filtering details, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: run logic tests in tests/**/*.test.ts. It also scopes the environment to Node with no browser and distinguishes this from broader game or scenario tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear when-to-use guidance: after every change, and advises writing a test for each new mechanic. It does not explicitly compare against alternatives like run_scenarios or fuzz, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.