firehose> #llmops

Validation-Gated Update

A proposed change to a durable artifact is accepted only if it strictly improves a score on a held-out set the proposer never saw. Everything else is rejected — and kept, in a rejected-edit buffer, as negative evidence about what not to try again. The gate is what converts an open-loop generator of plausible edits into a process with a floor: the artifact after N updates is, by construction, no worse than the artifact after zero.

The mechanism is old (early stopping, model selection on a validation split) and its transplant into text is the interesting move. In SkillOpt, every candidate add/delete/replace edit to a skill document faces a held-out validation score before it is allowed into best_skill.md; in SkillOpt-Sleep the same gate stands between a mined skill candidate and the operator's real skill directory. Two properties travel with it. First, monotonicity: a gated self-evolving system can run unattended for many rounds without regressing, which is precisely the drift that makes unsupervised improvement loops untrustworthy. Second, held-out-ness is load-bearing: a gate scored on the same tasks the optimizer saw measures memorization, not improvement, and a gated loop that overfits its validation set has quietly deleted its own guarantee. The gate's strength is exactly the strength of the split.

This is where a live tension sits. Self-Improving System holds — as a principle — that "self-improving" must not mean "fully autonomous," because an unsupervised loop drifts and removes the operator's judgment. A validation gate is a bid to mechanize that judgment: if the score is the operator's proxy, the gate can sign off without them. The bid succeeds only to the extent the score captures what the operator cares about. A gate is a proxy for judgment, not judgment; what it does not measure, it does not protect.

Claims


Linked from