Skip to content

We measured the self-improvement learning curve

Notes · Measurement

We measured the self-improvement learning curve

Six site conventions, four sessions, three arms: the curve rises only after a person approves each proposed rule.

2026-10-16

VENETA WorldModel’s memory and self-improvement layer turns what it learns on site into rules, under a person’s approval. Nothing is retrained: a correction an operator makes is kept as a pending rule and, once approved, used in the next judgment. We measured whether that loop actually produces a rising curve. Six site conventions a model cannot know in advance were answered right, 5 to 6 of 6, after four sessions of nothing but operator corrections and approvals — no model swap, no retraining. With the same corrections and no approval, the curve stayed at 0. The layer does the learning and the proposing; a person decides whether it counts.

What was measured

Six site conventions a model cannot know in advance — the queue a ticket goes to, the escalation desk, the maintenance window and the like — each named by a synthetic codeword so that no model can guess it. Memory starts empty (un-seeded). The operator corrects two conventions per session, all six over three sessions (the fourth session has no corrections), and the layer proposes each correction as one pending rule. After each session the six questions that ask about the conventions are asked again, and an answer counts when it follows the convention.

Three arms:

Arm Meaning
learning off corrections arrive, no rule is proposed
approve all every proposed rule is approved
nobody approves rules are proposed and stay pending

Result

Session learning off approve all nobody approves
1 0 / 6 0 / 6 0 / 6
2 0 / 6 2 / 6 0 / 6
3 0 / 6 4 / 6 0 / 6
4 0 / 6 5.3 / 6 (range over three repeats 5–6) 0 / 6

The self-improvement learning curve — sessions 1 to 4 (corrections in sessions 1–3), three arms: learning off and nobody approves stay at 0 of 6; with every proposed rule approved the curve climbs 2, 4, 5.3 one step per session (mean over three repeats, band = min–max)

With learning off, or with nobody approving, the score stays at 0 through all four sessions. With every proposal approved it climbs one step after each session’s approvals. In each of the three sessions that had corrections, the layer turned both corrections into pending rules — the same in the unapproved arm as in the approve-all arm; the only difference between the two learning arms is the approval, and the unapproved arm stayed flat for lack of approval, not for lack of rules.

What this shows

  • Site knowledge accumulates. Six conventions the model did not know, corrected two per session over three sessions; 5 to 6 of 6 answered right by the fourth session — without changing or retraining the model, from the operator’s corrections alone.
  • The approval is the gate. With learning on but nobody approving, nothing changes. A person decides what is learned and when, and that decision is what the curve shows — control is where the effect comes from.
  • It can be shown. This curve is drawn by a generator from the run files. Run the same procedure on a customer’s conventions and you get that site’s curve.

Conditions

  • Six synthetic conventions, memory empty at the start, two corrections per session over three sessions (all six; the fourth session asks only)
  • Four sessions, three repeats per arm (the table shows the mean over three; the range is the min–max of the three)
  • One model: Gemma 4 31B (FP8), one DGX Spark, 2026-10-15
  • The approver is a script — “approve all” and “approve nothing” were applied mechanically, not judged by a person
  • Grading is deterministic: an answer passes when it uses the convention’s codeword

How to read it

This is a curve on six synthetic conventions, one model and a scripted approver. It does not say the layer improves “on its own”; it measures that a person’s approval is the gate of the curve. Real operators, other models and more conventions have to be measured again. The run files are the nine data/eval/tenure/tenure-stair-r{1,2,3}-{off,approve-all,refuse}.json, available on request; the table is printed from those run files by the generator.