# `Gralkor.PersonalGraphMigration`
[🔗](https://github.com/elimydlarz/jido_gralkor/blob/main/lib/gralkor/personal_graph_migration.ex#L1)

Prepares and verifies the explicit migration of historical private graphs.

Operator identifiers remain unchanged. Connections and configuration references
are supplied explicitly so migration never selects a running application's store.

# `connection`

```elixir
@type connection() :: keyword()
```

# `manifest`

```elixir
@type manifest() :: %{required(String.t()) =&gt; term()}
```

# `advance`

```elixir
@spec advance(connection(), String.t(), map(), map()) ::
  {:ok, manifest()} | {:error, String.t()}
```

# `apply`

```elixir
@spec apply(connection(), String.t(), map(), map()) ::
  {:ok, manifest()} | {:error, String.t()}
```

# `plan`

```elixir
@spec plan(connection(), [String.t()], map()) ::
  {:ok, manifest()} | {:error, String.t()}
```

# `prepare`

```elixir
@spec prepare(connection(), [String.t()], map(), String.t()) ::
  {:ok, manifest()} | {:error, String.t()}
```

# `rollback`

```elixir
@spec rollback(connection(), String.t(), map(), map()) ::
  {:ok, manifest()} | {:error, String.t()}
```

---

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