Queue stacked merges as ordered logical items #54

Open AtlantisPleb opened this 4h ago

Outcome

When a stack prefix enters a merge queue, the queue treats it as one logical item with ordered members, preserves layer order, and ejects upward on lower failure.

Context

docs/stacked-prs.md section 14 defines the model. No merge queue exists on the forge yet; this issue defines the stack contract for whichever queue implementation lands and should stay small until then.

Acceptance criteria

  • A queue item groups the selected entries with expected heads and the effective base OID; speculation applies the current queue base, then layers bottom to top.
  • The queue may reorder independent items but never reorders entries within one stack.
  • Ejecting a lower member ejects every selected member above it in the same speculative group.
  • Speculative results invalidate when the queue base SHA, stack version, any selected head SHA, or policy version changes.

Verification

Domain tests for ordering, cascade ejection, and invalidation triggers, using a fake queue base. Run mix precommit.

Dependencies

Stack merge (#51). Blocked until a merge queue exists on the forge; keep scoped to the contract until then.

  1. AtlantisPleb opened this issue 4h ago
Sign in with GitHub to comment on this issue.