Legality is provided by the chess engine
The model selects among verified legal moves rather than inventing board coordinates. This constrains syntax and legality, not move strength.
Inspect the supporting source ↗Chess moves, evaluations, persona opponents, and game classification using TypeSafe AI System One models. Resolves natural language move intents into legal moves, evaluates positional sharpness and king risk in parallel, and powers historical persona opponents (Tal, Capablanca, Petrosian).
jev-chess invokes Jev primitives via `@typesafe-ai/sdk` for natural-language move resolution, multi-dimensional position evaluations, and persona style scoring.
Adds structured choices or scores to the workflow; performance and cost benefits have not been independently verified.
Pinned client and browser bundle reviewed. No-key outputs come from a handcrafted simulator, not measured Jev probabilities. The bundled SDK rejects browser initialization, while the live wrapper supplies no browser opt-in; entering a key is not a verified working live path. No browser run or playing-strength test was performed here.
Map a player's natural-language chess intent to an already legal move set.
Material analysed:
The model selects among verified legal moves rather than inventing board coordinates. This constrains syntax and legality, not move strength.
Inspect the supporting source ↗typeSafeClient.ts switches between LiveTypeSafeClientWrapper and SimulatedTypeSafeClient. The simulator derives values from move features and even sets fixed confidence values; those are not measured Jev probabilities.
Inspect the supporting source ↗LiveTypeSafeClientWrapper constructs the SDK with only apiKey. The checked-in public/app.js SDK rejects browser initialization by default; setApiKey stores the key before constructing the wrapper. This static mismatch means the wrapper's existence does not prove that entering a key enables live inference.
Inspect the supporting source ↗Use the project to study an intent interface and explanation rubrics. Use a dedicated chess engine when move quality or tactical correctness is the goal.
Compare setApiKey/getTypeSafeClient with the SDK browser check in public/app.js. Do not paste a real key into the static demo; an integrator should use a server-side proxy that keeps credentials off the page.