rrodolfo0/qwen3-4b-move-intent-curve-2700
Qwen3 4B Move Intent curve, 2,700 rows
This LoRA adapter maps one finalized English chess transcript to one canonical move-interpretation/v2 compact value or UNKNOWN. The output is Move Interpretation, not SAN. A host-owned Move Resolver checks the interpretation against chess.js; chess.js owns legality, playable identity, check, mate, and SAN.
This is the final demo selection because it achieved the best strict exact result in the controlled curve: 272/300 (90.67%). No curve point met all registered gates, so this adapter is not described as qualified.
Frozen identities
- Base:
Qwen/Qwen3-4B-Base@906bfd4b4dc7f14ee4320094d8b41684abff8539 - Dataset:
rrodolfo0/move-intent-v2-final@d146121e25e1fafdb114605f4264fef7d754521e - Evaluator source:
db8e51ff33473125ce9733946334ae0b72315236 - Training rows: 2,700, fresh-only nested curve prefix
- Result: 272/300 strict exact; 294/300 parseable; 112/130 noisy exact; 300/300 correctly framed; 0/30
UNKNOWNfalse accepts - Evidence repository:
rrodolfo0/move-intent-final-evidence@d7da912c386a7930bc0fea2cb265382b8030c178
training-receipt.json records the clean update-zero run, recipe, checkpoints, hardware, hashes, and reload result. adapter-verification.json records fresh-process reload evidence. adapter_config.json pins the exact base revision.
Use
Load this repository as a PEFT adapter on the pinned base and use the repository's chat template with thinking disabled and deterministic decoding. The grader-facing repository command is python eval.py --model <this-repo>@<immutable-sha> --eval-set <jsonl>.
Limits
The own-test panel is public and is not staff-heldout. Controlled noisy-ASR examples are synthetic text corruptions rather than transcriptions from recorded audio. The adapter does not see a board and cannot determine whether a move is legal or unique. It must not be used as a SAN generator.
