Workstations

Choose and configure you-agent-factory workstations across two independent axes: WorkstationType (runtime implementation) and WorkstationKind behavior (scheduling), with a type-versus-behavior compatibility matrix and shared-field summary.

A workstation binds a named worker, owns step routing and limits, and combines a runtime type with a scheduling behavior. Pick both axes independently — especially keep type POLLER_RUN distinct from behavior POLLER — then open the matching variant page.

How To Use

Use the type and behavior selection tables to open the matching variant pages. WorkstationType (field type) selects the runtime implementation family such as INFERENCE_RUN or AGENT_RUN. WorkstationKind (field behavior) selects scheduling such as STANDARD, REPEATER, CRON, or POLLER. The two axes combine freely: every published type is compatible with every published behavior. POLLER_RUN is a runtime type; POLLER is a scheduling behavior — they are not the same discriminator. Author shared fields such as name, worker, inputs, type, behavior, outputs, onFailure, and limits before variant-specific configuration.

Select A Runtime Type

Use the comparison below to open the matching WorkstationType page. Choose the runtime implementation that matches how the step should execute, then pick a behavior on the scheduling axis.
WorkstationTypeUse whenVariant page
INFERENCE_RUNDispatch one-shot inference harness work through an inference workerInference run
AGENT_RUNDispatch agent-loop work through an agent worker with optional OpenCode overridesAgent run
SCRIPT_RUNDispatch command-backed work through a script workerScript run
POLLER_RUNExecute poller-worker runtime work — distinct from scheduling behavior POLLERPoller run
MODEL_WORKSTATIONModel-oriented prompts, outcome formats, output schemas, and stop wordsModel workstation
MODEL_INVOKEProvider-neutral operation bindings and model operationsModel invoke
LOGICAL_MOVENon-worker logical routing with optional guarded loop breakersLogical move
CLASSIFIER_WORKSTATIONClassification routes with classifier-specific output restrictionsClassifier

Select A Scheduling Behavior

Use the comparison below to open the matching WorkstationKind behavior page. Behavior controls when and how the step becomes ready; it does not replace the runtime type.
WorkstationKindUse whenVariant page
STANDARDOrdinary readiness, dispatch, concurrency, and routingStandard
REPEATERChange-triggered looping and rejection reloop semanticsRepeater
CRONCron configuration, time work, guards, and input readinessCron
POLLERLong-lived poller scheduling — distinct from runtime type POLLER_RUNPoller

Do not collapse POLLER_RUN (runtime type) with POLLER (scheduling behavior). Configure both axes when a poller step needs poller-worker execution and poller scheduling.

Type Versus Behavior Compatibility

Type and behavior are independent. Every cell below is a valid pairing: choose any WorkstationType with any WorkstationKind. The matrix is selection guidance, not a second schema contract.
WorkstationTypeSTANDARDREPEATERCRONPOLLER
INFERENCE_RUNCompatibleCompatibleCompatibleCompatible
AGENT_RUNCompatibleCompatibleCompatibleCompatible
SCRIPT_RUNCompatibleCompatibleCompatibleCompatible
POLLER_RUNCompatibleCompatibleCompatibleCompatible
MODEL_WORKSTATIONCompatibleCompatibleCompatibleCompatible
MODEL_INVOKECompatibleCompatibleCompatibleCompatible
LOGICAL_MOVECompatibleCompatibleCompatibleCompatible
CLASSIFIER_WORKSTATIONCompatibleCompatibleCompatibleCompatible

Shared Fields

These fields apply across Workstation variants. Variant pages add type-specific or behavior-specific fields such as classificationRoutes, guards, cron, or model operation bindings. The live Workstation schema embed below shows the base contract from the installed Factory package.
FieldRole
nameWorkstation identity declared in the factory topology
workerNamed worker the workstation invokes at runtime
inputsInput readiness contract for the step
typeWorkstationType discriminator for the runtime implementation
behaviorWorkstationKind discriminator for scheduling
outputsSuccess routing targets (classifier variants use classificationRoutes instead)
onFailureFailure routing target shared across variants
limitsCapacity and concurrency bounds for the step

Workstation Schema

The embed shows the live Factory Workstation base definition from the installed package. Open the full Factory schema reference for exhaustive field lookup rather than copying contract text into this index.

Workstation

object

A processing step in the factory graph. Workstations consume authored work states, run a worker or logical move, and emit the next work states.

  • additionalPropertiesfalse (closed)

Fields

  • behaviorbehaviorOptionalWorkstationKind

    Scheduling behavior for this workstation, such as STANDARD, REPEATER, or CRON execution.

  • bodybodyOptionalstring

    Inline workstation instructions or script body when authored directly in factory config.

  • classificationRoutesclassificationRoutesOptionalClassificationRoute[]

    Explicit label-to-destination routing used only by CLASSIFIER_WORKSTATION definitions. Each route must declare a unique non-empty label and one or more outputs.

  • copyReferencedScriptscopyReferencedScriptsOptionalboolean

    Copy supported referenced script files into the expanded workstation layout when config expand runs.

  • croncronOptionalWorkstationCron

    Cron trigger configuration for workstations whose behavior is CRON.

  • descriptiondescriptionOptionalNameValue

    Optional localized customer-facing explanation of this workstation.

  • envenvOptionalStringMap

    Environment variables added to the workstation execution context.

  • guardsguardsOptionalWorkstationGuard[]

    Guarded loop breakers should use `VISIT_COUNT` guards here with a `LOGICAL_MOVE` workstation instead of top-level exhaustion rules.

  • ididOptionalstring

    Optional durable public identifier for this workstation. Graph and layout references should use this id instead of the mutable name.

  • inputsinputsRequiredWorkstationIO[]

    Work states this workstation can consume before it dispatches.

  • limitslimitsOptionalWorkstationLimits

    Retry and execution ceilings applied to this workstation.

  • namenameRequiredstring

    Customer-authored workstation name used by guards, diagnostics, and authored references.

  • onContinueonContinueOptionalWorkstationIO[]

    Optional destination emitted when the workstation makes partial progress and should continue iterating. Classifier workstations must not declare onContinue.

  • onFailureonFailureOptionalWorkstationIO[]

    Optional destination emitted when the workstation fails permanently.

  • onRejectiononRejectionOptionalWorkstationIO[]

    Optional destination emitted when the worker rejects the current work without a hard failure. Classifier workstations must not declare onRejection.

  • operationoperationOptionalModelOperationName

    Uppercase provider-agnostic operation requested by `MODEL_INVOKE` workstations, such as `TTS`.

  • operationBindingsoperationBindingsOptionalWorkstationOperationBinding[]

    Optional workstation-authored slot bindings that resolve operation inputs from runtime content or static config content.

  • outcomeFormatoutcomeFormatOptionalWorkstationOutcomeFormat

    Optional worker-output parsing mode for model workstations. When set to `decision-envelope`, agent output is parsed as a reviewer/checker JSON envelope that maps directly onto WorkResult outcome, feedback, output, and optional recorded output work instead of stop-token routing.

  • outputSchemaoutputSchemaOptionalstring

    JSON schema string used to validate or parse structured model output when configured.

  • outputsoutputsOptionalWorkstationIO[]

    Work states emitted after a non-classifier workstation succeeds. Classifier workstations must use classificationRoutes instead of normal success outputs.

  • promptFilepromptFileOptionalstring

    Path to a prompt template file loaded for model-oriented workstation execution.

  • resourcesresourcesOptionalResourceRequirement[]

    Resource capacity this workstation consumes while one dispatch is in flight.

  • runnerrunnerOptionalRunnerID

    Optional workstation-specific runner override. When omitted, dispatch falls back to the factory runner, then worker modelProvider compatibility when no explicit runner is configured, then the default codex runner.

  • stopWordsstopWordsOptionalarray

    Stop words authored on the topology entry for model-oriented dispatches.

  • typetypeOptionalWorkstationType

    Runtime workstation implementation type, equivalent to the workstation AGENTS.md frontmatter type.

  • workPropagationworkPropagationOptionalWorkPropagation

    Optional policy for whether downstream work uses the workstation output payload or preserves the consumed input payload.

  • workerworkerRequiredstring

    Name of a worker declared in the workers list.

  • workingDirectoryworkingDirectoryOptionalstring

    Go template resolved from token tags at dispatch time.

  • worktreeworktreeOptionalstring

    Go template resolved and passed as the worktree path to CLI dispatchers.