# EXP-42: can a Cadence brain learn text one character at a time from grades alone?

- Date: 2026-10-10 | Cadence version: 0.80.0 (`19bee92`) | Program iter: iter32
- Script: `exp/EXP-42_char_language.py` | Evidence: `exp/EXP-42-full.json/.jsonl`, `exp/EXP-42-full.out` | Text: `exp/data/alice-ch1.txt` (train), `exp/data/alice-ch2.txt` (held out), from Project Gutenberg #11 (public domain)

## Summary
- Question (Will: "can we make an llm style chat bot with cadence brains"): how far does grading alone (say a character, hear +1 or -1, never the answer) take a Cadence brain on real text? Cadence's own MANIFESTO makes language a dedicated goal and says "the world supplies problems, never answers".
- Setup: Alice chapter 1 (10,891 characters, a-z, space, period) lived through 3 times, then chapter 2 (10,468) held out with learning on (prequential: every character said before it is graded). Cadence arms, modules (32, 16), arousal on: w1 (last character in, one-step episodes), w3 (last 3 characters in), seq (last character in, the life runs on through the text, so the brain's own working trace may carry context). Baselines on the same text: majority character; a tabular epsilon-greedy bandit on the same grades (w1, w3); online n-gram counts that are TOLD the right character (k = 1-4; the LLM training signal, an upper reference). 3 seeds. Also greedy held-out accuracy from a saved copy, and a 160-character sample after "alice was ".
- Prediction (written before the full run; a 600-character smoke run of the code was seen first, too short to read): (P1) Cadence w1 beats the majority baseline on the held-out chapter by >= .02. (P2) No grading learner, Cadence or bandit, reaches the supervised bigram's held-out accuracy: being told only "wrong" is far less information than being told the answer. (P3) w3 does not beat w1 by more than 2 SEM (three-character contexts are too many to explore by grading in one chapter). (P4) seq does not beat w1 by more than 2 SEM (no evidence yet that the working trace carries character context). (P5) Cadence w1 does no better than the tabular bandit on the same grades. (P6) Samples are not English: short loops of frequent characters, at best common pairs.
- Result (3 seeds, held-out chapter 2, prequential, after 3 passes over chapter 1): Cadence w1 .225 (SEM .004), w3 .215 (SEM .006), seq .200 (SEM .001); majority (always space) .202; tabular bandit on the same grades w1 .231, w3 .242; supervised counts, told the right character: bigram .291, trigram .419, 4-gram .502. Greedy held-out accuracy from a saved copy equals the live numbers (w1 .224, w3 .216). Training accuracy by pass: w1 .193 / .216 / .222, w3 .204 / .212 / .213, seq .104 / .146 / .187. Samples after "alice was ": "w w w w ..." (w1), "t i  h  h  h ..." (w3), only spaces (seq). About 5 ms per step; 9 runs in 9 minutes at 5 workers.
- Verdict: BOUNDARY. All six predictions held: P1 w1 beat majority by .023 (barely past the .02 bar); P2 the best grader (.242) stayed under the supervised bigram (.291); P3 w3 below w1; P4 seq below w1 (it learned to say space); P5 Cadence w1 (.225) no better than the bandit (.231); P6 no English. No breakaway on this path.

## Reflection
- What it means: a grade carries at most one bit per character (right or wrong, and almost always "wrong"), while being told the character carries log2(28), about 4.8 bits. A learner that only hears "wrong" must find each answer by elimination, and the number of contexts grows as 28^n with context length, so longer context makes grading worse for Cadence, not better (w3 under w1). In three passes over one chapter, Cadence learned about what a lookup table learns from the same grades: space is common and a few letters follow a few letters. Its own memory did not carry useful context: the continuing-life arm collapsed onto saying space.
- Greedy text from any one-character model falls into a short cycle (space, w, space), so the loops are partly greedy decoding; the numbers, not the samples, are the result.
- Not a verdict on Cadence's language goal: its manifesto aims at sentences from a settled state with memory, not next-character prediction under the one-step bandit protocol this program uses everywhere else. This measures that protocol's limit on text.
- Next levers, cheapest first: (1) more experience: do graders reach the bigram ceiling (.291) with 10+ passes? (2) richer grades: a grade carrying more than one bit (partial credit), the same knob as how much a teaching-market grade tells the student; (3) a teacher that drills the contexts the student gets wrong (as missing-first does on the Arena teacher track); (4) Cadence's own token-window connectome instead of stacked one-hots.
- Process: Will's speedrun call. Pre-registered and pushed (51baa5a) before the full run; EXP-40 was stopped at 30 of 144 runs to free the CPU.
