# `MishkaCmsMigration.Workers.Helpers.Actor`
[🔗](https://github.com/mishka-group/mishka_cms_migration/blob/v0.0.1/lib/mishka_cms_migration/workers/__helpers/actor.ex#L5)

Who a migration job runs as: the admin who started its run. The `AshOban.ActorPersister` of
`MishkaCmsMigration.MigrationRun`'s triggers keeps the user's id in the job (`store/1`) and
loads the user with their permissions when the job runs (`lookup/1`), so a target writes as that
admin under the CMS's own policies, with the permissions they hold then. A user who is gone
fails the attempt.

`lookup/1` reads the user as the system (`authorize?: false`): there is no actor yet to read as,
since finding one is what it is for. It is one of the places the extension acts as the system,
with `MishkaCmsMigration.Workers.Helpers.Discarded`, which runs outside any job, and
`MishkaCmsMigration.Resources.Notifiers.Steps`, which writes a run's log.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
