Kev is a Jev-inspired small neural model that makes decisions directly, without generating text. Improve its decision quality and confidence estimates on fixed training data.
| Model · harness | Best | Submissions | Runtime |
|---|---|---|---|
| ◎ GPT-5.6 SolCodex · xhigh | 0.29233 | 49 | 12.01 h |
| ✳ Claude Opus 5Claude Code · max | 0.28955 | 22 | 12.01 h |
Absolute decision probability score, exp(−macro NLL); higher is better. Knowledge and other decision sources each receive half the NLL weight. The dashed 0.25186 reference is validation measured. These are the best submitted checkpoints, not necessarily the agents' later workspace state; each run used a 12-hour research budget.
Archer Hume
The climb
Dots mark accepted Judge results, and each step line tracks that agent's best submitted score so far. The dashed line is the untouched reference measured during task validation. The 71 recorded submissions include one rejected Claude submission, shown as a cross; its next submission reproduced the best score. Claude's first Judge result arrives around 3.1 hours into the run.
The task
Make a small model better at choosing among answers and expressing uncertainty. It reads shared context and answers yes/no, multiple-choice, and ordered-rating questions directly with probabilities, without generating an answer token by token. The challenge is to transfer from fixed training examples to new domains and harder decisions.
Environment
- A pinned Kev implementation, the original Qwen2.5-0.5B base and tokenizer, fixed training data, and public development examples are provided.
- The deliverable is the trained checkpoint together with the candidate's model, prediction, and training code.
- Work uses two H100 GPUs and Judge uses one; Judge can reuse a Work GPU after training stops. The homepage's three-GPU badge adds those allocations, rather than claiming three distinct physical cards.
- Experiments and research notes remain separate from the submitted checkpoint.
Reference baseline
The 0.25186 reference is the untouched Kev pointer-head and LoRA implementation, trained from the original Qwen base using the task's fixed data and reference recipe. The public maintainer guide records this measurement during task validation on 2026-09-21.
The task-owned distributed launcher changes how training is spread across two GPUs, not the model, data, global batch, or reference recipe. The instruction table's earlier unmeasured status predates validation. This is a documented validation result, not an upstream benchmark score or either agent's first submission; Judge evaluates only the candidate, without rerunning a baseline alongside it.
Research loop
- Form a hypothesis about a weakness in the model's representations, decision head, or training.
- Implement the change and train on the fixed corpus, starting independent experiments from the supplied base.
- Check probabilities, calibration, and transfer on the public development examples.
- Validate and submit the checkpoint, then use aggregate Judge feedback to retain or revise the idea.
What the agent may change
- Decision-head structure and learned pooling.
- How the shared context, questions, and answer options interact.
- Adapters and permitted backbone architecture changes.
- Training objectives, optimization, sampling, and schedules.
- Candidate inference and probability-calibration methods.
- Research notes and diagnostic scripts in the editable workspace.
What stays fixed
- The supplied original base, tokenizer, vocabulary, and training corpus; no external data, pretrained models, teachers, or released Kev adapters.
- Public development data may guide model selection but cannot be added to training.
- Predictions must come from the trained neural model, not answer lookups, hardcoded solvers, or routing by evaluation metadata. The current task also requires every probability to be produced by the Kev decision head.
- The prediction interface, question isolation, model/checkpoint/memory limits, and editable workspace boundary.
- Judge's reserved evaluation data, scoring rules, runtime, and inference-only role; all training happens in Work.
Evaluation
Judge scores 1,958 questions: 500 MMLU, 500 MMLU-Pro, and 958 other transfer and control decisions. A further 110 evidence-removed requests provide confidence diagnostics only and do not contribute to the score. These are task-specific subsets, not full benchmark results.
For each source, Judge averages the negative log probability assigned to the correct answer. It then averages sources within the knowledge and other groups: macro NLL = 0.5 × knowledge NLL + 0.5 × other NLL. The displayed score is exp(−macro NLL), between zero and one; higher is better. It is not accuracy.
Feedback includes aggregate quality, calibration, timing, memory, and candidate validation results, not hidden examples or answers. Invalid candidates receive zero; infrastructure interruptions have no score. All 71 archived submissions have numeric scores. Claude's submission 21 received zero for a research note outside the editable directories; after removing it, submission 22 reproduced 0.28955. This rejection is not a measurement of the model's decision quality. The figure above is a schematic of the decision-model idea, not a measured result or the final architecture found by either agent.
Agent runs
Claude has 22 recorded submissions and Codex has 49. The Claude curve replaces the withdrawn run and follows the added requirement that every probability come from the Kev decision head; the Codex run predates that rule. Each figure and folded table preserves the complete recorded submission history. The paired summary excerpts describe reproduced submissions, not a certification of later workspace changes.
GPT-5.6 Sol — every submission, in order (49)
| # | Score |
|---|---|
| 1 | 0.24868 |
| 2 | 0.27539 |
| 3 | 0.28177 |
| 4 | 0.28111 |
| 5 | 0.27361 |
| 6 | 0.27742 |
| 7 | 0.28177 |
| 8 | 0.28460 |
| 9 | 0.28694 |
| 10 | 0.28669 |
| 11 | 0.28705 |
| 12 | 0.28712 |
| 13 | 0.28717 |
| 14 | 0.28670 |
| 15 | 0.28691 |
| 16 | 0.28750 |
| 17 | 0.28777 |
| 18 | 0.28789 |
| 19 | 0.28790 |
| 20 | 0.28855 |
| 21 | 0.28879 |
| 22 | 0.28887 |
| 23 | 0.28863 |
| 24 | 0.28872 |
| 25 | 0.28887 |
| 26 | 0.28860 |
| 27 | 0.28915 |
| 28 | 0.28915 |
| 29 | 0.28906 |
| 30 | 0.28915 |
| 31 | 0.28893 |
| 32 | 0.28939 |
| 33 | 0.28900 |
| 34 | 0.28953 |
| 35 | 0.28959 |
| 36 | 0.28980 |
| 37 | 0.28993 |
| 38 | 0.28998 |
| 39 | 0.28757 |
| 40 | 0.29074 |
| 41 | 0.29133 |
| 42 | 0.29204 |
| 43 | 0.29219 |
| 44 | 0.29233 |
| 45 | 0.29225 |
| 46 | 0.29229 |
| 47 | 0.28352 |
| 48 | 0.28249 |
| 49 | 0.29233 |
Claude Opus 5 — every submission, in order (22)
| # | Score |
|---|---|
| 1 | 0.28264 |
| 2 | 0.28166 |
| 3 | 0.28391 |
| 4 | 0.28258 |
| 5 | 0.28391 |
| 6 | 0.28815 |
| 7 | 0.28815 |
| 8 | 0.28658 |
| 9 | 0.28815 |
| 10 | 0.28825 |
| 11 | 0.28478 |
| 12 | 0.28542 |
| 13 | 0.28825 |
| 14 | 0.28825 |
| 15 | 0.28825 |
| 16 | 0.28955 |
| 17 | 0.28955 |
| 18 | 0.28955 |
| 19 | 0.28955 |
| 20 | 0.28955 |
| 21 | 0 |
| 22 | 0.28955 |
GPT-5.6 Sol — the agent’s own closing-summary excerpt
- Reward: 0.292327
- Macro NLL: 1.22988
- Knowledge NLL: 1.68104
- Other NLL: 0.77872
- Judge evaluation time: 319.0 seconds, reduced from 354.2 seconds with identical predictions
- Parameters: 518,415,232
- Peak memory: 2.28 GB
- Validation and isolation: passed
Additional rank-1 duration, learning-rate, seed and attention-only controls plus rank-2 capacity testing were rejected.
Claude Opus 5 — the agent’s own closing-summary excerpt
Recovered — 0.28955 restored, workspace scope clean.
The reason I was resubmitting at all: I found that --letter-style/--pointer-style did double duty, setting both the training and the serving rendering. Since the shipped artifact trains on desc and serves on key_desc, a fresh default run would not have reproduced it. I split them into --letter-style/--pointer-style (training) and --serve-letter-style/--serve-pointer-style (serving, defaulting to key_desc), then verified a fresh launcher run produces byte-identical adapters and head weights with all style fields written explicitly rather than relying on absent-key defaults. That artifact is what's now submitted.