Four LLMs, one task: write a JavaScript module that finds a shortest solution for the lockpicking minigame of the Gothic Remake. Reference material for a blogpost.
Every model got the same prompt (instructions.md, German) plus the test
cases in locks.json — initially only the first 10; the last 6 cover edge cases
added afterwards (self-coupling, duplicate couplings, invalid locks) and two of them are
intentionally unsolvable/invalid.
| Directory | Model | Run | Tests |
|---|---|---|---|
claude-fable5/ |
Claude 5 Opus (Claude Code) | node solve.js |
node verify.js |
gpt5.6-sol/ |
GPT 5.6 Sol (Codex CLI) | node cli.js |
npm test |
gemini3.6-flash/ |
Gemini 3.6 Flash (Antigravity CLI) | node main.js |
node test.js |
kimi-k2.6/ |
Kimi K2.6 (web UI) | node main.js ../locks.json |
— |
combined/ |
Claude 5 Opus, after the fact | node cli.js |
npm test, node verify.js |
Node only, no dependencies, no install step. Each entry point defaults to ../locks.json.
combined/cli.js exits 1 because locks.json contains deliberately invalid locks.
combined/ is not a contestant: it was built afterwards, with knowledge of all four
submissions, to merge their best ideas into one implementation.
- n = 1 per model — a single run each, no follow-up prompts, no retries. These files characterize these files, not the models in general.
- Kimi K2.6 was run through the web interface (no CLI access at the time), so treat it as a stand-in for a last-gen model rather than a like-for-like comparison.