Add Kimi K3 (Moonshot) as a verifiable teacher via OpenRouter - #59
Merged
Conversation
Adds the `moonshot` provider pinned to the OpenRouter slug `moonshotai/kimi-k3`, with `kimi-k3` as the logical model id recorded on a trajectory and checked against ALLOWED_MODELS. The prefix addresses the model; it is not the record, which is why the prefixed form is rejected as a logical id and there is a test saying so. Provider key is the vendor, not the model family: `moonshot`/`kimi-k3` matches `anthropic`/`claude-fable-5` and `openai`/`gpt-5.6`. This also follows the naming on the older feat/kimi-k3-teacher branch, which predates v0.3.0 and swapped GPT 5.6 Sol out rather than adding alongside it. Kimi is pinned to OpenRouter only. The same model reached through a different gateway is not the same evidence -- OpenRouter is the one route with a generation-id ledger re-check -- so kimi via yunwu is refused. The pin is enforced in both directions, as with Qwen: a moonshot bundle claiming `claude-fable-5` and an anthropic bundle claiming `kimi-k3` are both rejected. Without the cross-provider check the allowlist would only prove that some pinned teacher was used, not which one. OpenRouter dated build suffixes (kimi-k3-<date>) normalize to kimi-k3. gpt-5.6-sol stays in ALLOWED_MODELS. It is retired for generation but 23 merged registry entries were proved with it, and removing it here would retroactively invalidate the data behind the current frontier. Stacked on feat/qwen-teacher.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #58 (base is
feat/qwen-teacher). Merge #58 first.Adds the
moonshotprovider pinned to the OpenRouter slugmoonshotai/kimi-k3, withkimi-k3as the logical model id recorded on a trajectory and checked againstALLOWED_MODELS. Themoonshotai/prefix addresses the model; it is not the record — the prefixed form is rejected as a logical id, with a test saying so.Naming
Provider key is the vendor, not the model family:
moonshot/kimi-k3matchesanthropic/claude-fable-5andopenai/gpt-5.6. This also follows the naming on the olderfeat/kimi-k3-teacherbranch — which predates v0.3.0 and swaps GPT 5.6 Sol out rather than adding alongside it, so it isn't reusable as-is.Pinned to OpenRouter only
The same model through a different gateway is not the same evidence — OpenRouter is the one route with a generation-id ledger re-check.
moonshotvia yunwu is refused.The pin holds in both directions
moonshot/kimi-k3moonshot/kimi-k3-2026-08(dated build)kimi-k3moonshot/moonshotai/kimi-k3moonshotclaimingclaude-fable-5anthropicclaimingkimi-k3moonshot/kimi-k2moonshotvia yunwuWithout the cross-provider check the allowlist would only prove that some pinned teacher was used, not which one.
Unchanged
gpt-5.6-solstays inALLOWED_MODELS— retired for generation, but 23 merged registry entries were proved with it and removing it would retroactively invalidate the data behind the current frontier. A test asserts the other three teachers still normalize exactly as before.Verification
400 tests pass (9 new), ruff clean.