missing-sort-tiebreaker
Sorting by a single field without tiebreaker can produce unstable order
Applies to: Python
Why this matters
When you sort by just one field (like a score), items with the same score might appear in random order. Adding a tiebreaker (like sorting by name too) ensures consistent ordering even when the primary sort key is the same.
Catch it before it ships
pip install stablestack # or: npx stablestackstablestack # scans your project, DET003 includedstablestack explain DET003DET003 is part of the Pro rule set. See pricing — the free tier ships 24 checks with no signup.
False positive in your codebase? Suppress a single line with # noqa: DET003
More Determinism checks
unsorted-dict-iteration
Dictionary iteration without a canonical sort order
DET002unsorted-set-iteration
Set iteration without sorting can produce unpredictable order
DET004list-set-dedup
Using list(set(...)) for deduplication scrambles element order
DET005random-without-seed
Random values without seed cause non-reproducible behavior
DET006datetime-now-usage
datetime.now() makes code non-deterministic and hard to test
DET007unsorted-directory-listing
Directory listings have no guaranteed order across systems
DET008hash-unsorted-collection
Hashing dicts/sets without sorting produces inconsistent cache keys
DET009uncached-llm-call
LLM API call without @cache decorator wastes money on duplicate requests