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.
[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
--baseand 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.