# EXP-27: Evolving tutors, selection on doing vs on teaching

- Date: 2026-10-09 | Cadence version: unrecorded (iter18-19 carry no stamp; iter16 and iter25 both stamp 0.78.0 / 750c8ef) | Program iter: iter18 (runs 1 and 2), iter19 (powered run)
- Script: `exp/EXP-27_evolving_tutors.py` (imports `exp/EXP-26_tutor_focus.py`) | Evidence: `exp/EXP-27-M128-ceiling.out/.json`, `exp/EXP-27-M32-small.out/.json`, `exp/EXP-27-powered.out`, `exp/EXP-27.json` (powered run)

## Summary
- Question: does selecting brains on their parent's TEACHING score evolve better teachers (higher focus gene) than selecting on their own DOING, and what does each do to knowledge?
- Setup: K=32 bandit from EXP-26, founders trained K*200 plus K*400 steps on rule seed 1234. Each member teaches KIDS children with its own focus; child focus = parent focus + N(0, 0.15) clipped to [0,1]; teaching score = mean child accuracy. Arms: DO (own accuracy), TEACH (parent teaching score, then own accuracy), BOTH (own accuracy + parent teaching score, added for the powered run). Run 1: P=8, 3 kids, 8 gens, M=128. Run 2: P=8, 3 kids, 8 gens, M=32. Powered run: P=24, 6 kids, 20 gens, M=32, MUT 0.15, one run per arm, same founders and starting focus across arms.
- Prediction: written before running in the docstring: "focus rises in both arms (good teaching shows up in children's doing); faster / knowledge better preserved in TEACH. Equal arms = honest null." Before the powered run (iter18): "BOTH keeps most knowledge and evolves highest focus; TEACH-only erodes knowledge; DO-only evolves focus slowly."
- Result: Run 1 (M=128): ceiling, pop accuracy 1.000 from gen 1 in both arms, teaching 0.906 at gen 0, then 0.945 to 0.996; final focus DO 0.76, TEACH 0.75. Run 2 (M=32): focus DO 0.57 to 0.76, TEACH 0.57 to 0.70; final pop accuracy DO 0.898, TEACH 0.855. Powered run: focus starts 0.53 (gen 0 pop acc 0.915, teaching 0.821); final focus / final pop accuracy / gen-19 teaching: DO 0.85 / 0.943 / 0.852, TEACH 0.81 / 0.879 / 0.830, BOTH 0.64 / 0.922 / 0.854. BOTH focus was 0.82 to 0.85 at gens 14-15 and fell to 0.64 by the end. No SEM: one run per arm.
- Verdict: Run 1 VOID (ceiling; pilot conditions did not match). Run 2 NULL (underpowered). Powered run SUPPORTIVE but unreplicated, and the written prediction was WRONG: DO was best on every measure, not BOTH. The earlier docstring prediction also failed on its TEACH part: TEACH did not keep knowledge better (it kept it worst in run 2 and the powered run) and its final focus ended below DO's in both (0.70 vs 0.76, 0.81 vs 0.85), though TEACH focus peaked at 0.94 mid-run in the powered run. Not retracted or superseded in later iterations; the replicate-seed run asked for in iter19 ("needs 3-5 replicate seeds") has no recorded result.

## Reflection
- What it means: in this setup focus rises under all three selection rules, and selecting children on their own accuracy (DO) raised focus most while keeping knowledge best, because a child's score already reflects its parent's teaching. Selecting on the parent's teaching score alone (TEACH) lost knowledge in both run 2 and the powered run. The program drew the design rule "doing selects teaching; payment rewards it." Caution: focus being "heritable" is built in (the gene is copied with mutation), not discovered, and the mean teaching score barely moved (DO 0.821 to 0.852), so the evidence that teaching quality improved is the focus gene, not a large rise in child accuracy.
- Process: run 1 was wasted at ceiling because the EXP-26 pilot used a 0.69 teacher while EXP-27 founders were trained to 1.00 (logged as "my error"). Run 2 was underpowered: an effect of about 0.11 against student noise and mutation at P=8. The powered run has one run per arm, focus is noisy generation to generation (BOTH swung from 0.85 to 0.64), and the script changed between runs: the BOTH arm is absent from the run 1 and run 2 outputs and from the docstring, so it was added for the powered run (the docstring was not updated to describe it). Founders also vary in knowledge (0.66 to 1.00), which mixes knowledge with teaching quality in the teaching score.
- Lesson: match the pilot to the run's conditions, and power the run for the effect size the pilot shows; a single run per arm can show a direction but cannot rank arms whose gap is within generation-to-generation noise.
- Next: replicate seeds (3-5 per arm) for the powered run, queued in iter19 and not yet recorded as done. The design consequence (price on doing AND pedigree; pedigree share as teacher incentive) fed the later teaching market and pedigree-share work (EXP-32, EXP-35).
