The Keep gate
An agent proposes a result. Something has to decide whether the platform accepts it. That decision is split deliberately: code enforces the floor; the agent judges the substance.
Two kinds of check
The split turns on a single question — what does it mean if this check is wrong?
Proof invariants cannot be faked and are cheap to verify: the code actually ran, the source is committed, the requirement is satisfiable, the declared contract was honoured. A miss here means the result is not what it claims to be. These fail hard, always.
Descriptors are the surrounding telemetry — how many items were processed, how fast, what the output looked like. These vary legitimately with the kind of work, and no fixed list of them survives contact with a platform whose whole purpose is absorbing problems nobody anticipated. So a missing or differently-named descriptor is recorded as an advisory alongside the result and weighed by the agent judging it, rather than raising.
What the floor refuses
Some results are refused no matter how good they look, because "looks good" is exactly the failure mode:
- A metric that is too good. A result that outperforms what the data can support is treated as evidence of leakage, not success.
- A large negative generalization gap. When held-out performance falls far below cross-validated performance, the evaluation is not measuring what it claims to.
- Unbounded iteration. A task has a fixed budget of attempts, enforced by code, so a loop that is not converging stops rather than continuing indefinitely.
These are deterministic. They are not the agent's call, because an agent optimising for a good result is the wrong party to ask whether a suspiciously good result is real.
What the agent decides
Everything above the floor. Which of several viable candidates to keep, whether an approach has been exhausted, whether a disappointing result is worth another attempt or is telling you the framing is wrong — these are judgement calls, made with the descriptors, the search history, and the brief in view.
Why this shape recurs
The Keep gate is one instance of a pattern used throughout the platform: guarantee a floor that works without understanding the payload, then layer recognition-based enhancements on top. The alternative — enumerating every acceptable case in advance — fails at a boundary that is open by design.
Where something genuinely must be refused, the refusal is loud, precise about what was wrong, and extensible — never a silent pass, and never a generic failure that leaves an agent guessing.