You're not misunderstanding — and you're raising a great observation! The diagram is specifically illustrating the Priority feature, not a standard FIFO queue.
Here's what's happening: when you assign a priority value to a run, it acts as a time offset in seconds that moves the run earlier in the dequeue order. So a run triggered later but with a high priority can "jump ahead" of runs that were triggered earlier with no priority. [Priority runs]
For example:
await myTask.trigger({ foo: "bar" });
await myTask.trigger({ foo: "bar" }, { priority: 10 });
In this case, the second run (triggered 8 seconds later) has a priority of 10, which means it effectively "appears" as if it was triggered 10 seconds earlier than it actually was — putting it ahead of the first run in the queue. [Priority runs]
Regarding your concern about starvation (older tasks never executing): this is a valid concern with any priority queue system. However, the priority value is a finite time offset, not an infinite boost. A run with priority: 10 only jumps ahead of runs queued within the last 10 seconds. If you set priority: 3600, it jumps ahead of runs queued within the last hour — but not indefinitely. Runs without priority will eventually be the oldest in the queue and won't be skipped by newly arriving prioritized runs (unless those new runs have a very large priority value).
Also worth noting: priority only affects your own runs — it cannot be used to jump ahead of runs from other organizations. [Priority runs]