lib/openagents/stacks/queue_item.ex

58e6347eeb72 · 734 B

defmodule OpenAgents.Stacks.QueueItem do
  @moduledoc """
  One logical merge-queue item for a selected stack prefix
  (docs/stacked-prs.md section 14).

  The queue treats the whole prefix as one item with ordered internal
  members. Each member records the position, pull request, and expected
  head OID it was selected with; the item records the queue base OID the
  speculation applies onto, the stack version, and the policy version, so
  a speculative result stays keyed to everything that produced it.
  """

  @enforce_keys [:stack_id, :stack_number, :stack_version, :queue_base_oid, :members]
  defstruct [
    :stack_id,
    :stack_number,
    :stack_version,
    :queue_base_oid,
    :policy_version,
    :members
  ]
end