Factories

Published factory pages that describe packaged factory surfaces and how they are configured and run.

What a Factory is

A Factory is the workflow topology you-agent-factory runs. It declares work types, workers, workstations, and optional resources so long-running agent work stays persistent and coordinated instead of resetting on every chat. Use this family to learn factory.json topology, how named and global operator defaults interact, how packaged factories are discovered and refreshed, how dynamic workflow APIs relate to factory configuration, and how Factory Sessions identify a running factory over time.

Factory root definition

The live Factory schema root lists the topology fields a factory.json can declare. This index shows that root summary only. Open the full Factory schema and API references when you need exhaustive field or operation lookup.

You Factory configuration

object

Top-level factory.json contract. Declare the work types, resources, portability resources, workers, and workstations that make up one authored factory here. Guarded loop breakers should be authored as guarded LOGICAL_MOVE workstations using VISIT_COUNT guards instead of a top-level exhaustion-rules field.

  • additionalPropertiesfalse (closed)

Fields

  • factoryDirectoryfactoryDirectoryOptionalstring

    Directory that contained the factory.json used for this serialized runtime config.

  • guardsguardsOptionalFactoryGuard[]

    Root-level guards that apply across the factory instead of one specific workstation or input.

  • ididOptionalstring

    Factory identifier used as the factory-level template context fallback.

  • inputTypesinputTypesOptionalInputType[]

    Named input kinds accepted by the factory. The default input type is implicit and must not be declared.

  • invocationReturninvocationReturnOptionalallOf

    Optional factory-authored invocation primary-result policy shared by CLI and API entrypoints. When omitted, runtimes use the SUBMITTED_WORK_TERMINAL fallback and return the first terminal content for the work item originally submitted by the invocation.

    $ref →InvocationReturn (reference link; not expanded recursively)
  • invocationSignatureinvocationSignatureOptionalallOf

    Optional canonical callable argument contract shared by CLI, API, dashboard, docs, and packaged factories. When omitted, callers use the factory's compatibility invocation behavior.

    $ref →FactoryInvocationSignature (reference link; not expanded recursively)
  • layoutlayoutOptionalallOf

    Optional non-executable graph editor layout metadata keyed by canonical graph node and edge ids.

    $ref →FactoryLayout (reference link; not expanded recursively)
  • metadatametadataOptionalallOf

    Free-form factory-level metadata carried through runtime serialization and replay diagnostics.

    $ref →StringMap (reference link; not expanded recursively)
  • namenameRequiredFactoryName
    $ref →FactoryName (reference link; not expanded recursively)
  • orchestratororchestratorOptionalallOf

    Authored orchestrator identity for this factory. When omitted, existing Petri factories load through compatibility defaulting to orchestrator.kind = PETRI.

    $ref →FactoryOrchestrator (reference link; not expanded recursively)
  • resourcesresourcesOptionalResource[]

    Shared capacity pools that workers or workstations can consume while work is executing.

  • runnerrunnerOptionalallOf

    Default runner selection for the factory when a workstation does not declare its own runner override.

    $ref →RunnerID (reference link; not expanded recursively)
  • sourceDirectorysourceDirectoryOptionalstring

    Original source directory for record/replay and drift diagnostics.

  • supportingFilessupportingFilesOptionalallOf

    Optional portability manifest for validation-only external tools and portable bundled files. During v1 factory sharing, bundled INPUT files represent a share-time snapshot of the source factory's current inputs work so recipients restore detached starter-work copies that no longer sync back to the original factory. This contract is distinct from runtime-capacity resources.

    $ref →ResourceManifest (reference link; not expanded recursively)
  • versionversionOptionalallOf

    Server-managed current-factory version metadata. Clients should echo this value on complete replacement saves when they want stale-write detection, but durable factory configuration does not treat it as customer-authored topology.

    $ref →HybridLogicalTimestamp (reference link; not expanded recursively)
  • workTypesworkTypesOptionalWorkType[]

    Customer-authored work item categories and the lifecycle states each one can occupy.

  • workersworkersOptionalWorker[]

    Reusable worker definitions that workstations reference by name when dispatching work.

  • workstationsworkstationsOptionalWorkstation[]

    Processing steps that consume work, invoke workers, and emit the next work states.

Full Factory schemaFactory API reference