Harden update 10011: empty-chunk guard and NULL-only backfill
## Problem Follow-up to: #3586294+s Parent: #3586310+s _**This issue should be verified prior to working on it to make sure it is valid.**_ This should be fixed here: #3586218+s Two robustness issues in `ai_context_update_10011()`: - If items are deleted while the update runs, the batch query eventually returns `[]` while `$sandbox['progress'] < $sandbox['max']`, so `#finished` never reaches 1 — an infinite update loop. - The backfill re-infers over explicit values rather than restricting to NULL rows, so a re-run would flip an explicitly-FALSE, no-custom-scope child back to TRUE (the idempotency test only covers the TRUE case). ## Proposed resolution Inside the batch, add `if ($ids === []) { $sandbox['#finished'] = 1; return ...; }`, and restrict the backfill query to rows where `inherit_parent_scope` is NULL. Extend the idempotency test to cover the explicit-FALSE case. ## AI usage - [x] AI assisted issue
issue