# The lenient reader's blast radius was the whole service _2026-09-22 · booth_ **The lenient reader's blast radius was the whole service, not one booth.** `_clean_text` did `(text or "").replace(...)` and `marks_for` sorts on `(created, id)`, so a stored `text` that was a dict or a `created` that was a number raised out of the READ path — and `list_booths` reads every booth's marks on every index load. One hand-edited file 500'd `/` and `/healthz` for all 25 booths. Fixed in two layers, matching the house posture: a named type check (`_entry_type_error`) plus a `_hydrate_safe` backstop that cannot raise, and the panel now RENDERS an unreadable mark as ⚠ broken instead of as an empty note. **The general shape: a lenient reader is only lenient if the leniency is bounded by where it runs.** `marks_for` was written for one booth's page and is called in a loop over every booth.