# AIron workout-note LLM matrix > Canonical origin: https://airon-coach-bench.pages.dev/ > Paths are relative to that origin (also work under the week-TTL preview prefix). > OpenRouter bench envelope (temperature 0, seed, json_schema name=prescription_rows, strict:false, usage.include). Production interpretPrescription is Base44 InvokeLLM({prompt, response_json_schema}) with model omitted, then sane() drops declined rows. Same RULES string; different envelope. ## Start here - [Human summary](index.html) - [Prompt RULES](prompt.md) — production RULES string, stored once - [JSON schema](schema.json) - [Request envelope](request.md) — OpenRouter vs InvokeLLM - [Run metadata](data/meta.json) — SHA, ledger, filter, n, cost, tokens - [Score rollup](data/score.json) - [Corpus](data/corpus.json) - [Full page map](llms-full.txt) ## Per-model scores (JSON for a builder) - [deepseek/deepseek-chat-v3.1](data/models/deepseek-deepseek-chat-v3.1.json) — [html](models/deepseek-deepseek-chat-v3.1.html) - [google/gemini-2.5-flash](data/models/google-gemini-2.5-flash.json) — [html](models/google-gemini-2.5-flash.html) - [google/gemini-3-flash-preview](data/models/google-gemini-3-flash-preview.json) — [html](models/google-gemini-3-flash-preview.html) - [mistralai/mistral-small-3.2-24b-instruct](data/models/mistralai-mistral-small-3.2-24b-instruct.json) — [html](models/mistralai-mistral-small-3.2-24b-instruct.html) - [openai/gpt-4o-mini](data/models/openai-gpt-4o-mini.json) — [html](models/openai-gpt-4o-mini.html) - [openai/gpt-5.6-luna](data/models/openai-gpt-5.6-luna.json) — [html](models/openai-gpt-5.6-luna.html) - [x-ai/grok-4.5](data/models/x-ai-grok-4.5.json) — [html](models/x-ai-grok-4.5.html) ## Per-transcript context (96 pages) Each `context/.md` is the whole user message sent (RULES + INPUT). JSON twin has `messages` + usage defaults. - See llms-full.txt for the complete list.