fix(quant): a flat calibration round is not a failure — the tap's floor is pooled
RADIANCE_CALIB_TOKENS=12000000 is a pooled floor and calib-7168.jsonl carries 10.03M tokens, so round 1 of a corpus push seals nothing by construction. The gate PR #84 added failed exactly there, one round too early, while the drain was already running. Now round_verdict() separates the cases: 'shrink' (the tap lost bytes) fails the run, 'flat' says so and continues, 'grew' continues, 'done' stops. A run that never sees the engine's completion line still exits non-zero on max rounds, and the rig marker remains the lock that stops a push into anything that is not the rig. Test: round_verdict's four verdicts, behaviorally.
This commit is contained in:
1 parent
c238e32d6f
commit
a6fb0209e8
2 files changed
+52
-7
No files matched your search
@@ -699,3 +699,20 @@ window_fixture() {
|
||||
[[ "$output" == *"calib-push.py"* ]]
|
||||
[[ "$output" == *"AGENTTRASH"* ]]
|
||||
}
|
||||
|
||||
@test "a flat calibration round is not a failure: the tap's floor is pooled" {
|
||||
# round 1 of a 10.03M-token corpus against a 12M floor seals nothing, and the
|
||||
# first version of this gate aborted the run there — one round too early.
|
||||
run python3 - "$PUSHER" <<'PY'
|
||||
import importlib.util, sys
|
||||
spec = importlib.util.spec_from_file_location("cp", sys.argv[1])
|
||||
m = importlib.util.module_from_spec(spec)
|
||||
spec.loader.exec_module(m)
|
||||
print(m.round_verdict(8192, 8192, False), # flat: continue
|
||||
m.round_verdict(8192, 4096, False), # shrink: fail
|
||||
m.round_verdict(8192, 20000, False), # grew: continue
|
||||
m.round_verdict(0, 0, True)) # done: stop
|
||||
PY
|
||||
[ "$status" -eq 0 ]
|
||||
[ "$output" = "flat shrink grew done" ]
|
||||
}
|
||||
Reference in new issue
Block a user