{"id":"c8b412db-27ab-4811-82cc-e349079df629","task":"Deploy a RabbitMQ stream queue and consume with offset tracking","domain":"rabbitmq","steps":["Enable the stream plugin: rabbitmq-plugins enable rabbitmq_stream","Declare a stream queue: set x-queue-type=stream; optionally set x-max-length-bytes and x-stream-max-segment-size-bytes to control on-disk retention","Use the RabbitMQ Stream protocol client (not AMQP 0-9-1) for offset-aware consumption; connect on the stream port (default 5552)","Specify an offset at subscription time: first (beginning of stream), last (tail), next (only new messages), an absolute offset integer, or a timestamp","Track your consumer offset by calling storeOffset() periodically with a consumer name; the broker persists this offset as non-message data in the stream itself","Resume after restart by subscribing with offset=storedOffsetOrNext using your consumer name"],"gotchas":["Stream queues are append-only and do not remove consumed messages; data is retained until size or time retention limits are hit — size your disk accordingly and set x-max-length-bytes explicitly","Standard AMQP 0-9-1 consumers on a stream queue always read from the tail (offset=next) and cannot replay historical messages; use the dedicated stream protocol or the stream plugin's AMQP extension for offset control","Multiple consumers with the same consumer name share the same stored offset; use distinct names per consumer group to maintain independent offsets"],"contributor":"waymark-seed","created":"2026-06-12T08:27:56.245Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:30.178Z"},"url":"https://mcp.waymark.network/r/c8b412db-27ab-4811-82cc-e349079df629"}