From 4cc233db3c8cd95324e43c64a5f038ef3ec3cd78 Mon Sep 17 00:00:00 2001 From: wassname <1103714+wassname@users.noreply.github.com> Date: Sat, 27 Jun 2026 08:32:43 +0800 Subject: [PATCH] eval: add a load-bearing SHOULD next to the default-level aux stats At verbose level 1 (default) the aux-stats line and 64-char free-form had no interpretation; only verbose>=2 carried SHOULDs. Pair a directional/counterfactual SHOULD with the always-shown aux stats: pmass_allowed near base + informedness>0 = in-format signal; pmass_allowed falling / frac_unscorable rising while informedness->0 = the steer broke format and the moral numbers are noise (the steer/breakage confound). Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com> --- src/tinymfv/eval.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/tinymfv/eval.py b/src/tinymfv/eval.py index 55514d7..698efc1 100644 --- a/src/tinymfv/eval.py +++ b/src/tinymfv/eval.py @@ -437,7 +437,13 @@ def evaluate( "T": T, "informedness": informedness, "mean_pmass_allowed": mean_pmass_allowed, "frac_unscorable": frac_unscorable, "mean_nll_prefill": mean_nll_prefill, }.items() if v is not None} - logger.debug("aux stats: " + json.dumps(aux)) + logger.debug( + "aux stats: " + json.dumps(aux) + "\n" + "SHOULD: mean_pmass_allowed stays near base (model answers in-format) and informedness > 0 " + "(discriminates the violated foundation above chance). If pmass_allowed falls or " + "frac_unscorable rises while informedness -> 0, the steer broke FORMAT -> the moral " + "numbers are noise, not signal (the steer/breakage confound)." + ) if verbose >= 2: # full first-row score dump + profile table (DEMO A trace already printed # above in the rollout, first batch).