Revision history for JobQueue

0.1.0  2026-08-10T19:52:26+01:00
    - Initial release
    - JobQueue::Job role: atomic terminal transitions (finish /
      request-cancel / begin-running), cancel + completion Promises,
      dedup keys, lanes, priorities, hard/soft dependency edges, and
      the keep-once atomic Promise settler
    - JobQueue::Queue: per-resource serial/parallel queue with
      re-evaluated parallelism policy, max-concurrent cap, lane
      serialisation, priority dispatch, live-job dedup, deferred
      cancel terminals and an optional store event sink
    - JobQueue::Coordinator: named-queue registry plus a cross-queue
      dependency DAG with hold/release, dep-result injection and
      transitive supersede cascades over hard edges
    - JobQueue::FailedRegistry: capped, insertion-ordered registry of
      failed/cancelled jobs with atomic claim-for-retry
    - Injectable log + tracer (null objects by default) and an
      EventSink documentation role
    - JobQueue::Job's role and keep-once sub are package-scoped as
      well as exported, so a host application can wrap the role in
      its own facade module (need + fully-qualified name) and
      re-export both without a name clash
