21534ab4d1
Consolidate 5 instances of "locate_case + warn! + 404-return" boilerplate (case_actions.rs x4, user_web.rs x1) into a single pub(crate) helper in user_web.rs. The helper takes &CaseId (no String allocation at call sites) plus a context tag that becomes a structured-log field instead of being baked into the message. bulk.rs keeps using the underlying locate_case because its miss semantics differ (silent skip, not 404).