Configuration
Configure you-agent-factory with factory.json topology: work types, workers, workstations, resources, and how the pieces fit.
What Lives Where
Put topology in factory.json. Keep worker runtime instructions in workers/<name>/AGENTS.md and workstation runtime instructions in workstations/<name>/AGENTS.md. Drop watched single-work-type requests under inputs/<work-type>/default/, and mixed or relation-heavy batch files under inputs/BATCH/default/. The recommended factory directory layout looks like this:How The Pieces Fit
Work enters the factory as a token in a work type's initial state. A workstation is enabled when its configured input places have matching tokens. The workstation dispatches to its worker, then routes the token based on the worker outcome:| Worker outcome | Routing field |
|---|---|
| Accepted | outputs |
| Continue | onContinue |
| Rejected | onRejection |
| Failed, timed out, or errored | onFailure |
Factory Root Properties
The live Factory schema root lists the topology fields factory.json can declare. Required fields define executable workflow. Optional resources bound concurrency. Identity and runner fields set factory-level defaults. layout and supportingFiles are non-executable portability metadata — they do not change runtime topology. Open the full Factory schema and API references when you need exhaustive contract lookup beyond this root summary.You Factory configuration
objectTop-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.
- additionalProperties
false (closed)
Fields
Optional localized customer-facing explanation of this Factory.
Ordered runnable invocation examples. Canonical Factory documents write examples here; legacy invocationSignature.examples are accepted only by the Factory input compatibility mapper.
- factoryDirectory
factoryDirectoryOptionalstringDirectory that contained the factory.json used for this serialized runtime config.
Root-level guards that apply across the factory instead of one specific workstation or input.
- id
idOptionalstringFactory identifier used as the factory-level template context fallback.
Named input kinds accepted by the factory. The default input type is implicit and must not be declared.
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.
Optional canonical callable argument contract shared by CLI, API, dashboard, docs, and packaged factories. When omitted, callers use the factory's compatibility invocation behavior.
Optional non-executable graph editor layout metadata keyed by canonical graph node and edge ids.
Free-form factory-level metadata carried through runtime serialization and replay diagnostics.
Authored orchestrator identity for this factory. When omitted, existing Petri factories load through compatibility defaulting to orchestrator.kind = PETRI.
Shared capacity pools that workers or workstations can consume while work is executing.
Default runner selection for the factory when a workstation does not declare its own runner override.
- sourceDirectory
sourceDirectoryOptionalstringOriginal source directory for record/replay and drift diagnostics.
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.
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.
Customer-authored work item categories and the lifecycle states each one can occupy.
Reusable worker definitions that workstations reference by name when dispatching work.
Processing steps that consume work, invoke workers, and emit the next work states.