---
title: "MGS3028: queue plan unverified"
description: magus queue apply stopped because the plan disagrees with what apply reads itself, its base, remote, base commit or a stack base.
tags: [MGS3028, merge queue, magus queue, stacks, security]
---

# MGS3028: queue plan unverified

`magus queue apply` checked the plan against facts it reads itself and found a
disagreement, so it stopped before merging anything that rests on it.

```text
[MGS3028] the plan's stack of #2: stack base 5e1a2b3c4d5e is not 9f2e8d7c6b5a,
the head #1 was reviewed at
```

## Why

The plan comes from validation's run, and validation runs every change's code.
Apply trusts none of it that it can read for itself:

- **Base and remote.** The plan must name apply's own `--base` and the URL of
  apply's own `--remote`.
- **Base commit.** Every candidate was built on the plan's base commit, so the
  base must carry it. A base that does not was rewritten, or the plan was made
  for another one.
- **Stack base.** A stacked change merges as its own delta, measured from its
  stack base. That base must be beneath the change's head, not already on the
  base, and the head the provider confirmed for the change beneath it (with
  merges of the base into that head peeled off). For a change stacked on one
  that already merged, it must be the newest commit it carries of a change the
  provider lists as merged onto the base. A stack base anywhere else merges a
  delta nobody reviewed: one whose tree is the base's makes the merge carry the
  head's own tree, reverting everything the base gained since the change forked.

A stack the provider now declares differently than the plan does is not this
error: the stack may have changed after planning, so that change waits instead.

## Resolution

A plan `magus queue plan` wrote against the same base and remote passes these
checks, so this error means the plan came from somewhere else, the base was
rewritten after planning, or apply was given another `--base` or `--remote`
than planning used. Plan again from the base's current tip; if the error
repeats with a plan you made yourself, report it as a bug.

See the [merge queue's trust model](../../../concepts/merge-queue.md#trust-model).
