diff --git a/TODO b/TODO index 12b64a3..ecdb34d 100644 --- a/TODO +++ b/TODO @@ -172,3 +172,22 @@ Description: The trainer is nearly silent: outside an example count and a save when any are dropped), and raise transformers' verbosity during training so the per-step curve shows. Apply to train() and inspect(). + +--ISSUE +Content-Type: application/issue +ID: 11 +Type: bugfix +Title: operate_rate can sum a None (eval + resident) +Status: open +Priority: medium +Created: 2026-06-17 +Module: sekft +Relationships: +Description: operate_rate computes sum(t.steps > 0 and t.meta.get('clean') for t + in rows). The 'and' yields the right operand when steps>0, so if + meta lacks the 'clean' key it yields None and sum() raises + TypeError at runtime; mypy (now that posix-sdc ships py.typed and + Trajectory is typed) flags the generator item type in eval.py:83 + and resident.py:157. Wrap the predicate in bool() so it counts + trajectories that operated and are clean, fixing both the type + error and the latent crash.