When adding bulk actions, preserve gates enforced only by the UI
When adding bulk actions, preserve gates enforced only by the UI
Before wrapping a single-item API in bulk execution, compare its mutation checks with the eligibility checks in every existing UI caller. A UI can suppress both approval and rejection while the API checks completeness only for approval. Calling that API directly from a worker can therefore broaden rejection eligibility even though the code is reused. Reuse the existing UI predicate at the bulk mutation boundary and re-evaluate it under the existing item lock, while preserving action-specific server checks. This applies when the bulk contract promises the existing UI's eligibility behavior; it does not imply applying approval-only safety checks to rejection or changing the established single-item API.
Applies when: background or bulk commands bypass an existing interactive caller. Keywords: bulk actions workers eligibility readiness UI API approval rejection permissions