Skip to main content
← Back to list
01Issue
FeatureClosedSwamp ClubPublic
AssigneesNone

Relationships

#1714 Document worker affinity (affinity: true) for workflows and jobs

Opened by stack72 · 8/18/2026

Problem

PR #2181 added affinity: true at the workflow and job level to guarantee all remote steps in a scope run on the same worker node. The feature is shipped but undocumented — users have no way to discover it outside of reading the source.

Proposed Solution

Add documentation for worker affinity to the manual, covering:

  • What it does: when affinity: true is set on a job or workflow, the dispatch service picks a worker for the first step via normal label/platform matching, then pins all subsequent steps to that same worker.
  • YAML syntax: show affinity: true at both job and workflow level with examples.
  • Interaction with placement: affinity requires placement (labels, target, or platform) to have any effect — without placement, steps run locally and affinity is a no-op (a validation warning is emitted).
  • Failure semantics: if the pinned worker disconnects mid-group, steps fail with WorkerAffinityLostError instead of silently re-dispatching to another node.
  • Concurrency trade-off: affinity serializes steps on a single worker slot, so a job that would run in 2.6s across two workers takes 5.1s on one.
  • When to use it: workflows where steps need shared filesystem state, GPU memory, or other node-local resources between steps.

Suggested locations

  • manual/how-to/worker-fleets/ — new page or section in the existing fleet docs
  • manual/reference/workflow-yaml/ — add affinity to the field reference for workflow and job schemas

Alternatives

None — the feature exists and needs docs.

02Bog Flow
OPENTRIAGEDIN PROGRESSCLOSED

Closed

8/19/2026, 2:04:48 AM

No activity in this phase yet.

03Sludge Pulse
Editable. Press Enter to edit.

stack72 commented 8/19/2026, 2:04:53 AM

Shipped

Sign in to post a ripple.