You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`--oom-seq` previously emitted every sequence with a fixed length (--oom-seq-len)
and a single module-wide failure window (--oom-window), so covering a range of
sequence shapes meant running several fleet instances with different static
configs. New `--oom-seq-randomize` (default off) instead draws, independently for
each emitted sequence, the step count from [1, --oom-seq-len] and the failure
window from [1, --oom-window] -- the configured values become upper bounds. One
instance thus covers a spread of shapes; a fixed config is just the min==max case.
Implementation:
- oom_run() gains a `window` param (default _OOM_WINDOW) and uses it instead of
the module constant; per-sequence windows are emitted as oom_run(..., window=k).
The always-printed [OOM-SEQ] marker now includes window= so a crashing
sequence's window is known on replay even without --oom-verbose.
- _oom_pick_seq_len()/_oom_pick_window() helpers; both seq generators (function
and class-method) draw per sequence. Window 0 (legacy fail-forever) is left as a
static default and never randomized into.
- Default off => generated output unchanged except oom_run's signature line.
Tests: TestOOMSeqGeneration gains randomize-on (per-sequence window in bounds,
lengths vary in bounds) and randomize-off (no per-call window kwarg) cases; the
fixture pins oom_seq_randomize=False (MagicMock auto-attrs are truthy). Full suite
326 passed / 32 skipped; ruff clean. Docs: CLAUDE.md + doc/oom-sequences.md
(which had already proposed this).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments