Unset inherit_parent_scope silently wipes stored scope on save (data loss)
## 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 problem should be fixed here:
#3586218+s
On the 3586218 branch, `inherit_parent_scope` has an entity-level default of TRUE and `AiContextItem::inheritsParentScope()` returns TRUE when the field is empty. `preSave()` then clears stored `scope` and `target_entities` whenever the item inherits. This destroys data in three ways:
- **Deploy window:** between code deploy and `drush updb`, any save of an existing custom-scope subcontext — including cron, since the scheduler service runs inside the same `preSave()` — permanently wipes its scope before update 10011 can backfill.
- **Programmatic saves (BC break):** `AiContextItem::create(['parent' => $p->id(), 'scope' => [...]])->save()` — valid API usage on 1.0.x — now silently discards the scope. Affects importers, migrations, ECA, recipes, and any submodule/site code.
- **Revision reverts:** update 10011 only backfills default revisions; pre-update revisions keep NULL forever, so reverting one wipes scope even after the update ran.
## Proposed resolution
Make the empty-value path infer instead of defaulting TRUE — return FALSE when stored non-global scope or target entities exist (mirroring the update 10011 heuristic). Set the entity-level field default to FALSE and keep the TRUE default in the form only (`buildInheritParentScopeElement()` already defaults to TRUE when the field is empty, so form UX is unchanged). Publish a change record for the new field and the effective-vs-stored scope semantics of `isGlobal()`, `getTargetEntities()`, `hasTargetEntities()`, `matchesTargetEntity()`, and `AiContextScopeIndexService::indexItem()`, which now resolve through the parent. Add tests for the NULL-fallback and revision-revert scenarios.
## AI usage
- [x] AI assisted issue
issue