X_TENANCY_ACTOR_MISMATCH
Means
a call named a tenant other than the actor's — as a query predicate, or as the tenant column of a row being written
Typical cause
an orgId that arrived as action input, a query string or a path parameter, passed into a repo call; or an insert/upsertAll row, or an update patch, naming another tenant — the cause names both tenants
Fix
drop the orgId argument, the actor's tenant scopes the plan; or act as that tenant with withChildContext({ actor }); a read that must span tenants is crossTenant('<why>', fn)