learner-small.json: Qwen3.6-35B-A3B in the same reviewer recipe. Only its model selector differs from reviewer.json; the Qwen3.8-27B judge stays fixed. This is a different model, not a claim about improving the original Qwen3.8 reviewer. The filename is a teaching label, not a claim about parameter count.
What an actual improvement claim looks like
In a separate September 24 experiment, the reviewer trained on one fixed code-review task. Fresh reviews identified its accepted defect in 48/64 baseline samples, 30/32 after two updates, and 64/64 after five updates. Empty reviews fell from 13/64 to 0/64. Actual updates, saved checkpoints and checkpoint-consuming inference were verified. An independent AI assessor read all 160 reviews with arm labels and rewards hidden, locking the labels before unblinding. This was not a human assessment, and writing style can still reveal identity. Four baseline and four final reviews had material contradiction flags; unmatched extra findings remained in five reviews in each arm. Better detection did not mean flawless advice. That is evidence of same-task learning, not transfer to new tasks, repositories or customer work. The underlying task and review text are private; the disclosure-reviewed aggregate record exposes the counts and limitations, not a publicly reproducible benchmark. The complete public DispatchDesk experiment below is separate, with a negative result retained. Neither should be used to claim that every training job helps.Freeze before looking at the exam
Use the eight core practice tasks for learning and the eight predeclared held-out tasks for the exam. Keep clean/buggy siblings together. The held-out policies are part of the known codebase, but their changes and scores are not training material. Do not select the exam after seeing which tasks produce an attractive gain. For the base/checkpoint comparison use the same task versions, judge, harness, context, limits and two samples per task. Change only the model from the qualified base to the saved checkpoint. The evidence-first prompt experiment in lesson 4 remains separate. Choose the promotion rule in advance: complete score coverage; more supported bug reviews; no new false finding on clean changes; no semantic regression after reading every result; no worse timeout rate. Report preliminary evidence on four policy families, not general coding ability or statistical certainty.Require learning signal
Preview the eight-task qualification, then add--execute if authorized:
python3 -B tutorial.py ./my-course export learner-qualify and read it with report.py before deciding to train.
Run the practice qualification with --actor learner-small.json. Inspect its mistakes and the judge rationales. In the recorded eight-task qualification, six reviews received full credit, one received 0.5 and one received 0.25. The lower scores came from duplicate findings and a false numerical claim—not infrastructure failures. A missing score, timeout, perfect set or broken output contract is not the signal you want. If no usable variation exists, stop the training step and improve practice-task coverage or choose a suitable supported baseline; do not corrupt the rubric or tune on the exam.
Submit the bounded training plan
After qualification, preview two batches, four tasks per batch and eight trials per task:--execute only after checking your remaining authorized budget. The launcher saves the exact task/profile identities and receipt before you leave. Training uses fresh optimizer state by default. This is not a restart of a prior experiment.
Run fresh checkpoint inference
Copymy-course/profiles/learner-small.json to my-course/profiles/checkpoint.json. Change only agent.model to the exact saved checkpoint UUID. Leave every other field unchanged. Select the final committed checkpoint of the prescribed two-batch run, not whichever scores best on the exam. Validate it:
report.py. Follow the checkpoint-use verification to confirm the candidate requested and actually consumed the intended checkpoint, rather than silently falling back to the base model.
Three separate conclusions
- Mechanism exercised: actual updates, a saved/read-back checkpoint and fresh checkpoint inference.
- Exam completed: the frozen comparison has all attempts and a semantic review.
- Improvement: DEMONSTRATED, NOT DEMONSTRATED or INCONCLUSIVE under the predeclared rule.
Recorded result: training worked; improvement was not demonstrated
The two-batch run took about 15½ minutes from admission to terminal state. It committed two optimizer updates and saved two checkpoints. The final checkpoint was read back and consumed by the fresh 16-trial exam; its execution identity matched the final saved model. This establishes the learning mechanism, not a better reviewer. Training had 51 scored trials and 13 missing scores out of 64. The 13 were verifier-stage timeouts, all with retained actor reviews. They are failures to assess—not zero-quality reviews—and remain in the report. A successful run state does not turn those trials into successes.
There was no gain in supported reviews, so the predeclared promotion rule was not met. The final model was slower in these observations despite producing fewer actor tokens; no causal inference about the provider or training follows from two differently timed runs. Both arms had complete retained usage and zero timeouts.
The semantic audit also caught under-penalized duplicates in both arms and legal-compliance language beyond the supplied policy in a final review. This was an author/operator review of all candidates and rationales plus independently recomputed executable counterexamples, not blinded or independent human validation. Two samples and four policy families do not establish transfer to new repositories. Keep the baseline.