OpenCode (DeepSeek V4 Pro via OpenRouter) in a Vercel Sandbox. Starter only (AGENTS.md, serve.py, player/, helpers/dom/view_kit). No hardcoded demo code. Cursor did not edit workspace/.
2026-10-15 · task CwsWDY8Ks2D4 · opencode · openrouter/deepseek/deepseek-v4-pro-0813
Build a chess puzzle player. Each round is one position, not a full game from the start. I am the side to move, and the goal is the tactic in that position, like a mate or a winning capture. I click a piece and then a square. Only legal moves should be offered. Show the board clearly, whose turn it is, and the goal in a sentence. It helps to see which squares are under attack and which pieces are loose, because that is what makes the tactic readable. When the puzzle is solved, say so and show the score. A wrong path should not be able to pretend it won. Several puzzles, and starting the same one twice should give the same position. The page should not be keeping its own chess rules. The game itself decides legal moves and the score, and the page only shows them.
Running the prompt-created workspace on this machine — not a mock. Save an episode, then open Replay below to scrub the timeline.
opening · 0 ms
Exact files the agent wrote — not rewritten by hand.
# AI : shared Action contract — the page posts {"move": "..."}; keep this shape.
from pydantic import BaseModel
class Action(BaseModel):
move: str