managedFlowBlueprint
Properties, variants, types and bounds for managedFlowBlueprint.
This reference describes the full structure of managedFlowBlueprint. Paths include nested objects, list items and conditional branches. A branch selected by kind, contract or mode only admits its own properties.
Structure and values
| Field | Options / expected values | Description |
|---|---|---|
contract |
"FlowBlueprint@1" |
Required. Exact discriminant of this contract variant. Match the literal value shown. |
key |
string; min length 1 |
Required. Stable semantic identifier used by references; changing it changes identity. |
workspaceRole |
"work-workspace" |
Required. Defines workspace Role for this object. Observe the type, variants and bounds in the Options column. |
title |
string; min length 1 |
Required. Title of the object or section in the interface. |
composition |
closed object; null |
Required. Declarative organization of components, sources or Spaces for the selected variant. |
composition.contract |
"FlowComposition@1" |
Required. Exact discriminant of this contract variant. Match the literal value shown. |
composition.rootWorkNodeKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.stateSurfaceDefinitionPath |
string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u |
Required. Exact path of the relevant definition type; each reference must exist in the Model and respect declared scope. |
composition.subflowLinkTypePath |
string; min length 1; max length 600; null |
Required. Declared relation type with sources, targets and direction compatible with this traversal. |
composition.entryStepKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.inputs |
Array<closed object>; max length 50 |
Required. Named, typed inputs needed by the composition or operation. |
composition.inputs[].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.inputs[].type |
"text" | "number" | "boolean" | "surface-reference" | "result-reference" |
Required. Defines type for this object. Observe the type, variants and bounds in the Options column. |
composition.inputs[].provenance |
"caller" | "canonical" | "derived" |
Required. Source or result origin with verifiable references. |
composition.inputs[].minimum |
integer; ≥ 0; ≤ 1000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.inputs[].maximum |
integer; ≥ 1; ≤ 1000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.contexts |
Array<closed object>; max length 30 |
Required. Defines contexts for this object. Observe the type, variants and bounds in the Options column. |
composition.contexts[].definitionPath |
string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u |
Required. Exact path of a definition in the Model; this is not a record instance ID. |
composition.contexts[].source |
closed object OR closed object OR closed object |
Required. Defines source for this object. Observe the type, variants and bounds in the Options column. |
composition.contexts[].source.[kind=input].kind |
"input" |
Required. Selects the variant and the properties admitted in this branch. |
composition.contexts[].source.[kind=input].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.contexts[].source.[kind=step].kind |
"step" |
Required. Selects the variant and the properties admitted in this branch. |
composition.contexts[].source.[kind=step].stepKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.contexts[].source.[kind=collection-item].kind |
"collection-item" |
Required. Selects the variant and the properties admitted in this branch. |
composition.contexts[].source.[kind=collection-item].stepKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.outputs |
Array<closed object>; max length 50 |
Required. Outputs exposed by the composition using declared names. |
composition.outputs[].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.outputs[].type |
"text" | "number" | "boolean" | "surface-reference" | "result-reference" |
Required. Defines type for this object. Observe the type, variants and bounds in the Options column. |
composition.outputs[].provenance |
"caller" | "canonical" | "derived" |
Required. Source or result origin with verifiable references. |
composition.outputs[].minimum |
integer; ≥ 0; ≤ 1000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.outputs[].maximum |
integer; ≥ 1; ≤ 1000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.outputs[].source |
closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object |
Required. Defines source for this object. Observe the type, variants and bounds in the Options column. |
composition.outputs[].source.[kind=input].kind |
"input" |
Required. Selects the variant and the properties admitted in this branch. |
composition.outputs[].source.[kind=input].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.outputs[].source.[kind=input-node-id].kind |
"input-node-id" |
Required. Selects the variant and the properties admitted in this branch. |
composition.outputs[].source.[kind=input-node-id].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.outputs[].source.[kind=field].kind |
"field" |
Required. Selects the variant and the properties admitted in this branch. |
composition.outputs[].source.[kind=field].definitionPath |
string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u |
Required. Exact path of a definition in the Model; this is not a record instance ID. |
composition.outputs[].source.[kind=field].fieldKey |
string; min length 1; max length 120 |
Required. Key of a Field declared on the referenced Surface definition. |
composition.outputs[].source.[kind=literal].kind |
"literal" |
Required. Selects the variant and the properties admitted in this branch. |
composition.outputs[].source.[kind=literal].value |
string; max length 4000 OR number OR true | false OR null |
Required. Effective value interpreted according to the enclosing type and discriminant. |
composition.outputs[].source.[kind=collection-item].kind |
"collection-item" |
Required. Selects the variant and the properties admitted in this branch. |
composition.outputs[].source.[kind=collection-node-id].kind |
"collection-node-id" |
Required. Selects the variant and the properties admitted in this branch. |
composition.outputs[].source.[kind=iteration-number].kind |
"iteration-number" |
Required. Selects the variant and the properties admitted in this branch. |
composition.outputs[].source.[kind=step-output].kind |
"step-output" |
Required. Selects the variant and the properties admitted in this branch. |
composition.outputs[].source.[kind=step-output].stepKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.outputs[].source.[kind=step-output].outputKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.outputs[].reduction |
"first" | "ordered-list" | "distinct-list" |
Required. Defines reduction for this object. Observe the type, variants and bounds in the Options column. |
composition.steps |
Array<closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object>; min length 1; max length 200 |
Required. Composition steps in their declared organization. |
composition.steps[].[kind=task].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=task].kind |
"task" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=task].workNodeKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=task].actionKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Reference to a declared Action; rendering does not execute it. |
composition.steps[].[kind=task].inputs |
Record<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u, closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object> |
Required. Named, typed inputs needed by the composition or operation. |
composition.steps[].[kind=task].inputs{key}.[kind=input].kind |
"input" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=task].inputs{key}.[kind=input].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=task].inputs{key}.[kind=input-node-id].kind |
"input-node-id" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=task].inputs{key}.[kind=input-node-id].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=task].inputs{key}.[kind=field].kind |
"field" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=task].inputs{key}.[kind=field].definitionPath |
string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u |
Required. Exact path of a definition in the Model; this is not a record instance ID. |
composition.steps[].[kind=task].inputs{key}.[kind=field].fieldKey |
string; min length 1; max length 120 |
Required. Key of a Field declared on the referenced Surface definition. |
composition.steps[].[kind=task].inputs{key}.[kind=literal].kind |
"literal" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=task].inputs{key}.[kind=literal].value |
string; max length 4000 OR number OR true | false OR null |
Required. Effective value interpreted according to the enclosing type and discriminant. |
composition.steps[].[kind=task].inputs{key}.[kind=collection-item].kind |
"collection-item" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=task].inputs{key}.[kind=collection-node-id].kind |
"collection-node-id" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=task].inputs{key}.[kind=iteration-number].kind |
"iteration-number" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=task].inputs{key}.[kind=step-output].kind |
"step-output" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=task].inputs{key}.[kind=step-output].stepKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=task].inputs{key}.[kind=step-output].outputKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=task].outputs |
Array<closed object>; max length 20 |
Required. Outputs exposed by the composition using declared names. |
composition.steps[].[kind=task].outputs[].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=task].outputs[].type |
"text" | "number" | "boolean" | "surface-reference" | "result-reference" |
Required. Defines type for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=task].outputs[].provenance |
"caller" | "canonical" | "derived" |
Required. Source or result origin with verifiable references. |
composition.steps[].[kind=task].outputs[].minimum |
integer; ≥ 0; ≤ 1000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.steps[].[kind=task].outputs[].maximum |
integer; ≥ 1; ≤ 1000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.steps[].[kind=task].outputs[].result |
"reference" | "summary" | "outputs" | "decisions" | "nextSteps" | "blockers" |
Required. Defines result for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=task].reservedCostUnits |
integer; ≥ 0; ≤ 1000000 |
Required. Defines reserved Cost Units for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=task].maximumAttempts |
integer; ≥ 1; ≤ 10 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.steps[].[kind=sequence].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=sequence].kind |
"sequence" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=sequence].steps |
Array<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u>; min length 1; max length 100 |
Required. Composition steps in their declared organization. |
composition.steps[].[kind=choice].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=choice].kind |
"choice" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=choice].mode |
"exclusive" | "multiple" |
Required. Defines mode for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=choice].branches |
Array<closed object>; min length 1; max length 100 |
Required. Defines branches for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=choice].branches[].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=choice].branches[].stepKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=choice].branches[].ruleKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=choice].minimum |
integer; ≥ 1; ≤ 100 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.steps[].[kind=choice].maximum |
integer; ≥ 1; ≤ 100 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.steps[].[kind=choice].selection |
"all-eligible" | "explicit" |
Required. Defines selection for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=choice].confirmation |
"required" | "not-required" |
Required. Requires or configures intent review before execution; does not replace permissions. |
composition.steps[].[kind=choice].freshness |
"captured" | "require-current" |
Required. Defines freshness for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=choice].join |
closed object OR closed object |
Required. Defines join for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=choice].join.[mode=all].mode |
"all" |
Required. Defines mode for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=choice].join.[mode=all].remaining |
"wait" |
Required. Defines remaining for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=choice].join.[mode=quorum].mode |
"quorum" |
Required. Defines mode for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=choice].join.[mode=quorum].successes |
integer; ≥ 1; ≤ 1000 |
Required. Defines successes for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=choice].join.[mode=quorum].remaining |
"wait" | "request-cancel" |
Required. Defines remaining for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=parallel].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=parallel].kind |
"parallel" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=parallel].branches |
Array<closed object>; min length 1; max length 100 |
Required. Defines branches for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=parallel].branches[].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=parallel].branches[].stepKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=parallel].maximumConcurrency |
integer; ≥ 1; ≤ 100 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.steps[].[kind=parallel].join |
closed object OR closed object |
Required. Defines join for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=parallel].join.[mode=all].mode |
"all" |
Required. Defines mode for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=parallel].join.[mode=all].remaining |
"wait" |
Required. Defines remaining for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=parallel].join.[mode=quorum].mode |
"quorum" |
Required. Defines mode for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=parallel].join.[mode=quorum].successes |
integer; ≥ 1; ≤ 1000 |
Required. Defines successes for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=parallel].join.[mode=quorum].remaining |
"wait" | "request-cancel" |
Required. Defines remaining for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=subflow].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=subflow].kind |
"subflow" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=subflow].blueprintKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=subflow].inputs |
Record<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u, closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object> |
Required. Named, typed inputs needed by the composition or operation. |
composition.steps[].[kind=subflow].inputs{key}.[kind=input].kind |
"input" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=subflow].inputs{key}.[kind=input].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=subflow].inputs{key}.[kind=input-node-id].kind |
"input-node-id" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=subflow].inputs{key}.[kind=input-node-id].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=subflow].inputs{key}.[kind=field].kind |
"field" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=subflow].inputs{key}.[kind=field].definitionPath |
string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u |
Required. Exact path of a definition in the Model; this is not a record instance ID. |
composition.steps[].[kind=subflow].inputs{key}.[kind=field].fieldKey |
string; min length 1; max length 120 |
Required. Key of a Field declared on the referenced Surface definition. |
composition.steps[].[kind=subflow].inputs{key}.[kind=literal].kind |
"literal" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=subflow].inputs{key}.[kind=literal].value |
string; max length 4000 OR number OR true | false OR null |
Required. Effective value interpreted according to the enclosing type and discriminant. |
composition.steps[].[kind=subflow].inputs{key}.[kind=collection-item].kind |
"collection-item" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=subflow].inputs{key}.[kind=collection-node-id].kind |
"collection-node-id" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=subflow].inputs{key}.[kind=iteration-number].kind |
"iteration-number" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=subflow].inputs{key}.[kind=step-output].kind |
"step-output" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=subflow].inputs{key}.[kind=step-output].stepKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=subflow].inputs{key}.[kind=step-output].outputKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=collection].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=collection].kind |
"collection" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=collection].queryKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Reference to a declared Query; scope and authorization remain enforced by the data engine. |
composition.steps[].[kind=collection].parameters |
Record<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u, closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object> |
Required. Named operation or Query parameters and their associated values. |
composition.steps[].[kind=collection].parameters{key}.[kind=input].kind |
"input" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=collection].parameters{key}.[kind=input].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=collection].parameters{key}.[kind=input-node-id].kind |
"input-node-id" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=collection].parameters{key}.[kind=input-node-id].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=collection].parameters{key}.[kind=field].kind |
"field" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=collection].parameters{key}.[kind=field].definitionPath |
string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u |
Required. Exact path of a definition in the Model; this is not a record instance ID. |
composition.steps[].[kind=collection].parameters{key}.[kind=field].fieldKey |
string; min length 1; max length 120 |
Required. Key of a Field declared on the referenced Surface definition. |
composition.steps[].[kind=collection].parameters{key}.[kind=literal].kind |
"literal" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=collection].parameters{key}.[kind=literal].value |
string; max length 4000 OR number OR true | false OR null |
Required. Effective value interpreted according to the enclosing type and discriminant. |
composition.steps[].[kind=collection].parameters{key}.[kind=collection-item].kind |
"collection-item" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=collection].parameters{key}.[kind=collection-node-id].kind |
"collection-node-id" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=collection].parameters{key}.[kind=iteration-number].kind |
"iteration-number" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=collection].parameters{key}.[kind=step-output].kind |
"step-output" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=collection].parameters{key}.[kind=step-output].stepKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=collection].parameters{key}.[kind=step-output].outputKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=collection].stepKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=collection].maximumItems |
integer; ≥ 1; ≤ 1000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.steps[].[kind=collection].maximumPages |
integer; ≥ 1; ≤ 100 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.steps[].[kind=collection].maximumOutputBytes |
integer; ≥ 1024; ≤ 16000000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.steps[].[kind=collection].maximumConcurrency |
integer; ≥ 1; ≤ 100 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.steps[].[kind=collection].freshness |
"captured" | "require-current" |
Required. Defines freshness for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=collection].join |
closed object OR closed object |
Required. Defines join for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=collection].join.[mode=all].mode |
"all" |
Required. Defines mode for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=collection].join.[mode=all].remaining |
"wait" |
Required. Defines remaining for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=collection].join.[mode=quorum].mode |
"quorum" |
Required. Defines mode for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=collection].join.[mode=quorum].successes |
integer; ≥ 1; ≤ 1000 |
Required. Defines successes for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=collection].join.[mode=quorum].remaining |
"wait" | "request-cancel" |
Required. Defines remaining for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=iterate].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=iterate].kind |
"iterate" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=iterate].stepKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=iterate].stopRuleKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=iterate].maximumIterations |
integer; ≥ 1; ≤ 100 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.steps[].[kind=iterate].inputs |
Record<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u, closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object> |
Required. Named, typed inputs needed by the composition or operation. |
composition.steps[].[kind=iterate].inputs{key}.[kind=input].kind |
"input" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=iterate].inputs{key}.[kind=input].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=iterate].inputs{key}.[kind=input-node-id].kind |
"input-node-id" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=iterate].inputs{key}.[kind=input-node-id].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=iterate].inputs{key}.[kind=field].kind |
"field" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=iterate].inputs{key}.[kind=field].definitionPath |
string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u |
Required. Exact path of a definition in the Model; this is not a record instance ID. |
composition.steps[].[kind=iterate].inputs{key}.[kind=field].fieldKey |
string; min length 1; max length 120 |
Required. Key of a Field declared on the referenced Surface definition. |
composition.steps[].[kind=iterate].inputs{key}.[kind=literal].kind |
"literal" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=iterate].inputs{key}.[kind=literal].value |
string; max length 4000 OR number OR true | false OR null |
Required. Effective value interpreted according to the enclosing type and discriminant. |
composition.steps[].[kind=iterate].inputs{key}.[kind=collection-item].kind |
"collection-item" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=iterate].inputs{key}.[kind=collection-node-id].kind |
"collection-node-id" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=iterate].inputs{key}.[kind=iteration-number].kind |
"iteration-number" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=iterate].inputs{key}.[kind=step-output].kind |
"step-output" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=iterate].inputs{key}.[kind=step-output].stepKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=iterate].inputs{key}.[kind=step-output].outputKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=wait].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=wait].kind |
"wait" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=wait].inputs |
Array<closed object OR closed object>; max length 50 |
Required. Named, typed inputs needed by the composition or operation. |
composition.steps[].[kind=wait].inputs[].[variant 1].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=wait].inputs[].[variant 1].type |
"text" | "number" | "boolean" |
Required. Defines type for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=wait].inputs[].[variant 1].provenance |
"caller" |
Required. Source or result origin with verifiable references. |
composition.steps[].[kind=wait].inputs[].[variant 1].minimum |
integer; ≥ 0; ≤ 1000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.steps[].[kind=wait].inputs[].[variant 1].maximum |
integer; ≥ 1; ≤ 1000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.steps[].[kind=wait].inputs[].[variant 2].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=wait].inputs[].[variant 2].type |
"surface-reference" | "result-reference" |
Required. Defines type for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=wait].inputs[].[variant 2].provenance |
"canonical" |
Required. Source or result origin with verifiable references. |
composition.steps[].[kind=wait].inputs[].[variant 2].minimum |
integer; ≥ 0; ≤ 1000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.steps[].[kind=wait].inputs[].[variant 2].maximum |
integer; ≥ 1; ≤ 1000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector |
closed object |
Required. Defines selector for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.contract |
"SurfaceFlowReferenceSelector@1" |
Required. Exact discriminant of this contract variant. Match the literal value shown. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.queryKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Reference to a declared Query; scope and authorization remain enforced by the data engine. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters |
Record<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u OR string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u, closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object OR closed object> |
Required. Named operation or Query parameters and their associated values. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters{key}.[kind=input].kind |
"input" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters{key}.[kind=input].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters{key}.[kind=input-node-id].kind |
"input-node-id" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters{key}.[kind=input-node-id].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters{key}.[kind=field].kind |
"field" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters{key}.[kind=field].definitionPath |
string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u |
Required. Exact path of a definition in the Model; this is not a record instance ID. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters{key}.[kind=field].fieldKey |
string; min length 1; max length 120 |
Required. Key of a Field declared on the referenced Surface definition. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters{key}.[kind=literal].kind |
"literal" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters{key}.[kind=literal].value |
string; max length 4000 OR number OR true | false OR null |
Required. Effective value interpreted according to the enclosing type and discriminant. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters{key}.[kind=collection-item].kind |
"collection-item" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters{key}.[kind=collection-node-id].kind |
"collection-node-id" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters{key}.[kind=iteration-number].kind |
"iteration-number" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters{key}.[kind=step-output].kind |
"step-output" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters{key}.[kind=step-output].stepKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=wait].inputs[].[variant 2].selector.parameters{key}.[kind=step-output].outputKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=wait].arrival |
"active-only" |
Required. Defines arrival for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=wait].ordering |
"first-committed" |
Required. Defines ordering for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=wait].eventKey |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
composition.steps[].[kind=wait].recipient |
"initiator" |
Required. Defines recipient for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=wait].timeoutMilliseconds |
integer; ≥ 1; ≤ 2592000000 |
Required. Defines timeout Milliseconds for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=wait].onExpiration |
"fail" | "cancel" |
Required. Defines on Expiration for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=delay].key |
string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u |
Required. Stable semantic identifier used by references; changing it changes identity. |
composition.steps[].[kind=delay].kind |
"delay" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=delay].resume |
closed object OR closed object |
Required. Defines resume for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=delay].resume.[kind=duration].kind |
"duration" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=delay].resume.[kind=duration].milliseconds |
integer; ≥ 1; ≤ 2592000000 |
Required. Defines milliseconds for this object. Observe the type, variants and bounds in the Options column. |
composition.steps[].[kind=delay].resume.[kind=instant].kind |
"instant" |
Required. Selects the variant and the properties admitted in this branch. |
composition.steps[].[kind=delay].resume.[kind=instant].at |
integer; ≥ 0; ≤ 8640000000000000 |
Required. Defines at for this object. Observe the type, variants and bounds in the Options column. |
composition.budgets |
closed object |
Required. Defines budgets for this object. Observe the type, variants and bounds in the Options column. |
composition.budgets.maximumDepth |
integer; ≥ 1; ≤ 8 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.budgets.maximumOccurrences |
integer; ≥ 1; ≤ 1000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.budgets.maximumConcurrency |
integer; ≥ 1; ≤ 100 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.budgets.maximumIterations |
integer; ≥ 1; ≤ 100 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.budgets.maximumDurationMilliseconds |
integer; ≥ 1; ≤ 2592000000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.budgets.maximumCostUnits |
integer; ≥ 0; ≤ 1000000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
composition.budgets.maximumStateBytes |
integer; ≥ 1024; ≤ 2000000 |
Required. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema. |
workNodes |
Array<closed object OR closed object> |
Required. Blueprint work units with inputs, dependencies and results. |
workNodes[].[kind=worknode].key |
string; min length 1 |
Required. Stable semantic identifier used by references; changing it changes identity. |
workNodes[].[kind=worknode].surfaceDefinitionPath |
string; min length 1; semantic validation |
Required. Exact path of the relevant definition type; each reference must exist in the Model and respect declared scope. |
workNodes[].[kind=worknode].title |
string; min length 1 |
Required. Title of the object or section in the interface. |
workNodes[].[kind=worknode].dependsOn |
Array<string; min length 1> |
Required. Prerequisite step keys; references must exist and must not create cycles. |
workNodes[].[kind=worknode].requiredInputs |
Array<string; min length 1> |
Required. Inputs needed before work; they must match declared Fields. |
workNodes[].[kind=worknode].resultSurfaceDefinitionPath |
string; min length 1; semantic validation |
Required. Exact path of the relevant definition type; each reference must exist in the Model and respect declared scope. |
workNodes[].[kind=worknode].completionCriteria |
Array<string; min length 1> |
Required. Conditions establishing that work is complete. |
workNodes[].[kind=worknode].parentWorkNodeKey |
string; min length 1; null |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
workNodes[].[kind=worknode].initialFields |
Record<string; min length 1, true | false OR number OR string OR Array<true | false OR number OR string>> |
Required. Defines initial Fields for this object. Observe the type, variants and bounds in the Options column. |
workNodes[].[kind=worknode].kind |
"worknode" |
Required. Selects the variant and the properties admitted in this branch. |
workNodes[].[kind=container].key |
string; min length 1 |
Required. Stable semantic identifier used by references; changing it changes identity. |
workNodes[].[kind=container].surfaceDefinitionPath |
string; min length 1; semantic validation |
Required. Exact path of the relevant definition type; each reference must exist in the Model and respect declared scope. |
workNodes[].[kind=container].title |
string; min length 1 |
Required. Title of the object or section in the interface. |
workNodes[].[kind=container].dependsOn |
Array<string; min length 1>; length 0 |
Required. Prerequisite step keys; references must exist and must not create cycles. |
workNodes[].[kind=container].requiredInputs |
Array<string; min length 1> |
Required. Inputs needed before work; they must match declared Fields. |
workNodes[].[kind=container].resultSurfaceDefinitionPath |
null |
Required. Exact path of the relevant definition type; each reference must exist in the Model and respect declared scope. |
workNodes[].[kind=container].completionCriteria |
Array<string; min length 1>; length 0 |
Required. Conditions establishing that work is complete. |
workNodes[].[kind=container].parentWorkNodeKey |
string; min length 1; null |
Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
workNodes[].[kind=container].initialFields |
Record<string; min length 1, true | false OR number OR string OR Array<true | false OR number OR string>> |
Required. Defines initial Fields for this object. Observe the type, variants and bounds in the Options column. |
workNodes[].[kind=container].kind |
"container" |
Required. Selects the variant and the properties admitted in this branch. |
Reading the contract
A path ending in [] describes each list item; {key} describes each dictionary value. The ↻ marker refers to the same recursive expression. Closed objects reject additional properties. Semantic validation denotes an additional check: matching a type does not make a reference, permission or transition valid. References must resolve in the Model and the current user context.
An older variant cannot accept properties belonging to a newer variant. The compiler checks the version and consistency of the complete Model.
Structural example
This fragment passes the schema for this section. Its business references must be defined in the enclosing Model.
{
"key": "design-character",
"title": "Développer un personnage",
"workspaceRole": "work-workspace",
"contract": "FlowBlueprint@1",
"workNodes": [
{
"initialFields": {},
"parentWorkNodeKey": null,
"completionCriteria": [],
"dependsOn": [],
"key": "work",
"requiredInputs": [
"objective",
"expectedResult",
"completionCriteria"
],
"surfaceDefinitionPath": "workspace/workshop/surface/work",
"title": "Développer un personnage",
"kind": "container",
"resultSurfaceDefinitionPath": null
},
{
"initialFields": {
"objective": "Préciser le rôle du personnage, sa place dans l’énigme et ses contraintes.",
"expectedResult": "Cadrage relié à la fiche Personnage.",
"completionCriteria": "Le rôle, la cible et les contraintes sont explicités et sourcés."
},
"parentWorkNodeKey": "work",
"completionCriteria": [
"Le rôle, la cible et les contraintes sont explicités et sourcés."
],
"dependsOn": [],
"key": "frame",
"requiredInputs": [
"objective",
"expectedResult"
],
"surfaceDefinitionPath": "workspace/workshop/surface/work/surface/step",
"title": "Cadrer",
"kind": "worknode",
"resultSurfaceDefinitionPath": "workspace/workshop/surface/work/surface/step/surface/task/surface/result"
},
{
"initialFields": {
"objective": "Explorer plusieurs profils et motivations dans des Surfaces distinctes.",
"expectedResult": "Propositions alternatives conservées avec leurs sources.",
"completionCriteria": "Plusieurs pistes et leurs questions ouvertes restent consultables."
},
"parentWorkNodeKey": "work",
"completionCriteria": [
"Plusieurs pistes et leurs questions ouvertes restent consultables."
],
"dependsOn": [],
"key": "explore",
"requiredInputs": [
"objective",
"expectedResult"
],
"surfaceDefinitionPath": "workspace/workshop/surface/work/surface/step",
"title": "Explorer",
"kind": "worknode",
"resultSurfaceDefinitionPath": "workspace/workshop/surface/work/surface/step/surface/task/surface/result"
},
{
"initialFields": {
"objective": "Comparer les arguments, différences et sources des propositions.",
"expectedResult": "Comparaison sourcée des alternatives.",
"completionCriteria": "Les différences, arguments et incertitudes sont explicités sans supprimer de piste."
},
"parentWorkNodeKey": "work",
"completionCriteria": [
"Les différences, arguments et incertitudes sont explicités sans supprimer de piste."
],
"dependsOn": [],
"key": "compare",
"requiredInputs": [
"objective",
"expectedResult"
],
"surfaceDefinitionPath": "workspace/workshop/surface/work/surface/step",
"title": "Comparer",
"kind": "worknode",
"resultSurfaceDefinitionPath": "workspace/workshop/surface/work/surface/step/surface/task/surface/result"
},
{
"initialFields": {
"objective": "Retenir explicitement une piste puis préparer la révision de la fiche.",
"expectedResult": "Décision et preview de consolidation vers la même fiche.",
"completionCriteria": "La décision est attribuée et la modification de la cible est approuvée."
},
"parentWorkNodeKey": "work",
"completionCriteria": [
"La décision est attribuée et la modification de la cible est approuvée."
],
"dependsOn": [],
"key": "consolidate",
"requiredInputs": [
"objective",
"expectedResult"
],
"surfaceDefinitionPath": "workspace/workshop/surface/work/surface/step",
"title": "Retenir et consolider",
"kind": "worknode",
"resultSurfaceDefinitionPath": "workspace/workshop/surface/work/surface/step/surface/task/surface/result"
},
{
"initialFields": {
"objective": "Examiner les scènes liées et les critères de continuité.",
"expectedResult": "Constats de continuité et questions restant ouvertes.",
"completionCriteria": "Chaque constat cite sa source et distingue preuve, hypothèse et travail restant."
},
"parentWorkNodeKey": "work",
"completionCriteria": [
"Chaque constat cite sa source et distingue preuve, hypothèse et travail restant."
],
"dependsOn": [],
"key": "verify",
"requiredInputs": [
"objective",
"expectedResult"
],
"surfaceDefinitionPath": "workspace/workshop/surface/work/surface/step",
"title": "Vérifier",
"kind": "worknode",
"resultSurfaceDefinitionPath": "workspace/workshop/surface/work/surface/step/surface/task/surface/result"
}
],
"composition": {
"contract": "FlowComposition@1",
"rootWorkNodeKey": "work",
"stateSurfaceDefinitionPath": "workspace/workshop/surface/work/surface/flow-state",
"subflowLinkTypePath": null,
"entryStepKey": "flow-entry",
"inputs": [],
"contexts": [],
"outputs": [
{
"key": "result",
"type": "result-reference",
"provenance": "canonical",
"minimum": 1,
"maximum": 1,
"source": {
"kind": "step-output",
"stepKey": "verify",
"outputKey": "result"
},
"reduction": "first"
}
],
"steps": [
{
"key": "flow-entry",
"kind": "sequence",
"steps": [
"frame",
"explore",
"compare",
"consolidate",
"verify"
]
},
{
"key": "frame",
"kind": "task",
"workNodeKey": "frame",
"actionKey": "execute-work-stage",
"inputs": {},
"outputs": [
{
"key": "result",
"type": "result-reference",
"provenance": "canonical",
"minimum": 1,
"maximum": 1,
"result": "reference"
},
{
"key": "summary",
"type": "text",
"provenance": "derived",
"minimum": 1,
"maximum": 1,
"result": "summary"
}
],
"reservedCostUnits": 0,
"maximumAttempts": 3
},
{
"key": "explore",
"kind": "task",
"workNodeKey": "explore",
"actionKey": "execute-work-stage",
"inputs": {},
"outputs": [
{
"key": "result",
"type": "result-reference",
"provenance": "canonical",
"minimum": 1,
"maximum": 1,
"result": "reference"
},
{
"key": "summary",
"type": "text",
"provenance": "derived",
"minimum": 1,
"maximum": 1,
"result": "summary"
}
],
"reservedCostUnits": 0,
"maximumAttempts": 3
},
{
"key": "compare",
"kind": "task",
"workNodeKey": "compare",
"actionKey": "execute-work-stage",
"inputs": {},
"outputs": [
{
"key": "result",
"type": "result-reference",
"provenance": "canonical",
"minimum": 1,
"maximum": 1,
"result": "reference"
},
{
"key": "summary",
"type": "text",
"provenance": "derived",
"minimum": 1,
"maximum": 1,
"result": "summary"
}
],
"reservedCostUnits": 0,
"maximumAttempts": 3
},
{
"key": "consolidate",
"kind": "task",
"workNodeKey": "consolidate",
"actionKey": "execute-work-stage",
"inputs": {},
"outputs": [
{
"key": "result",
"type": "result-reference",
"provenance": "canonical",
"minimum": 1,
"maximum": 1,
"result": "reference"
},
{
"key": "summary",
"type": "text",
"provenance": "derived",
"minimum": 1,
"maximum": 1,
"result": "summary"
}
],
"reservedCostUnits": 0,
"maximumAttempts": 3
},
{
"key": "verify",
"kind": "task",
"workNodeKey": "verify",
"actionKey": "execute-work-stage",
"inputs": {},
"outputs": [
{
"key": "result",
"type": "result-reference",
"provenance": "canonical",
"minimum": 1,
"maximum": 1,
"result": "reference"
},
{
"key": "summary",
"type": "text",
"provenance": "derived",
"minimum": 1,
"maximum": 1,
"result": "summary"
}
],
"reservedCostUnits": 0,
"maximumAttempts": 3
}
],
"budgets": {
"maximumDepth": 8,
"maximumOccurrences": 100,
"maximumConcurrency": 1,
"maximumIterations": 1,
"maximumDurationMilliseconds": 2592000000,
"maximumCostUnits": 0,
"maximumStateBytes": 1000000
}
}
}
Related references
Complete Model index · Build a Model
Applied examples : Prepare a quote
The Flow declares Client and Need inputs, an executable step and a bounded budget.
Configuration
Contract object managedFlowBlueprint. Properties and accepted values.
{
"key": "design-character",
"title": "Développer un personnage",
"workspaceRole": "work-workspace",
"contract": "FlowBlueprint@1",
"workNodes": [
{
"initialFields": {},
"parentWorkNodeKey": null,
"completionCriteria": [],
"dependsOn": [],
"key": "work",
"requiredInputs": [
"objective",
"expectedResult",
"completionCriteria"
],
"surfaceDefinitionPath": "workspace/workshop/surface/work",
"title": "Développer un personnage",
"kind": "container",
"resultSurfaceDefinitionPath": null
},
{
"initialFields": {
"objective": "Préciser le rôle du personnage, sa place dans l’énigme et ses contraintes.",
"expectedResult": "Cadrage relié à la fiche Personnage.",
"completionCriteria": "Le rôle, la cible et les contraintes sont explicités et sourcés."
},
"parentWorkNodeKey": "work",
"completionCriteria": [
"Le rôle, la cible et les contraintes sont explicités et sourcés."
],
"dependsOn": [],
"key": "frame",
"requiredInputs": [
"objective",
"expectedResult"
],
"surfaceDefinitionPath": "workspace/workshop/surface/work/surface/step",
"title": "Cadrer",
"kind": "worknode",
"resultSurfaceDefinitionPath": "workspace/workshop/surface/work/surface/step/surface/task/surface/result"
},
{
"initialFields": {
"objective": "Explorer plusieurs profils et motivations dans des Surfaces distinctes.",
"expectedResult": "Propositions alternatives conservées avec leurs sources.",
"completionCriteria": "Plusieurs pistes et leurs questions ouvertes restent consultables."
},
"parentWorkNodeKey": "work",
"completionCriteria": [
"Plusieurs pistes et leurs questions ouvertes restent consultables."
],
"dependsOn": [],
"key": "explore",
"requiredInputs": [
"objective",
"expectedResult"
],
"surfaceDefinitionPath": "workspace/workshop/surface/work/surface/step",
"title": "Explorer",
"kind": "worknode",
"resultSurfaceDefinitionPath": "workspace/workshop/surface/work/surface/step/surface/task/surface/result"
},
{
"initialFields": {
"objective": "Comparer les arguments, différences et sources des propositions.",
"expectedResult": "Comparaison sourcée des alternatives.",
"completionCriteria": "Les différences, arguments et incertitudes sont explicités sans supprimer de piste."
},
"parentWorkNodeKey": "work",
"completionCriteria": [
"Les différences, arguments et incertitudes sont explicités sans supprimer de piste."
],
"dependsOn": [],
"key": "compare",
"requiredInputs": [
"objective",
"expectedResult"
],
"surfaceDefinitionPath": "workspace/workshop/surface/work/surface/step",
"title": "Comparer",
"kind": "worknode",
"resultSurfaceDefinitionPath": "workspace/workshop/surface/work/surface/step/surface/task/surface/result"
},
{
"initialFields": {
"objective": "Retenir explicitement une piste puis préparer la révision de la fiche.",
"expectedResult": "Décision et preview de consolidation vers la même fiche.",
"completionCriteria": "La décision est attribuée et la modification de la cible est approuvée."
},
"parentWorkNodeKey": "work",
"completionCriteria": [
"La décision est attribuée et la modification de la cible est approuvée."
],
"dependsOn": [],
"key": "consolidate",
"requiredInputs": [
"objective",
"expectedResult"
],
"surfaceDefinitionPath": "workspace/workshop/surface/work/surface/step",
"title": "Retenir et consolider",
"kind": "worknode",
"resultSurfaceDefinitionPath": "workspace/workshop/surface/work/surface/step/surface/task/surface/result"
},
{
"initialFields": {
"objective": "Examiner les scènes liées et les critères de continuité.",
"expectedResult": "Constats de continuité et questions restant ouvertes.",
"completionCriteria": "Chaque constat cite sa source et distingue preuve, hypothèse et travail restant."
},
"parentWorkNodeKey": "work",
"completionCriteria": [
"Chaque constat cite sa source et distingue preuve, hypothèse et travail restant."
],
"dependsOn": [],
"key": "verify",
"requiredInputs": [
"objective",
"expectedResult"
],
"surfaceDefinitionPath": "workspace/workshop/surface/work/surface/step",
"title": "Vérifier",
"kind": "worknode",
"resultSurfaceDefinitionPath": "workspace/workshop/surface/work/surface/step/surface/task/surface/result"
}
],
"composition": {
"contract": "FlowComposition@1",
"rootWorkNodeKey": "work",
"stateSurfaceDefinitionPath": "workspace/workshop/surface/work/surface/flow-state",
"subflowLinkTypePath": null,
"entryStepKey": "flow-entry",
"inputs": [],
"contexts": [],
"outputs": [
{
"key": "result",
"type": "result-reference",
"provenance": "canonical",
"minimum": 1,
"maximum": 1,
"source": {
"kind": "step-output",
"stepKey": "verify",
"outputKey": "result"
},
"reduction": "first"
}
],
"steps": [
{
"key": "flow-entry",
"kind": "sequence",
"steps": [
"frame",
"explore",
"compare",
"consolidate",
"verify"
]
},
{
"key": "frame",
"kind": "task",
"workNodeKey": "frame",
"actionKey": "execute-work-stage",
"inputs": {},
"outputs": [
{
"key": "result",
"type": "result-reference",
"provenance": "canonical",
"minimum": 1,
"maximum": 1,
"result": "reference"
},
{
"key": "summary",
"type": "text",
"provenance": "derived",
"minimum": 1,
"maximum": 1,
"result": "summary"
}
],
"reservedCostUnits": 0,
"maximumAttempts": 3
},
{
"key": "explore",
"kind": "task",
"workNodeKey": "explore",
"actionKey": "execute-work-stage",
"inputs": {},
"outputs": [
{
"key": "result",
"type": "result-reference",
"provenance": "canonical",
"minimum": 1,
"maximum": 1,
"result": "reference"
},
{
"key": "summary",
"type": "text",
"provenance": "derived",
"minimum": 1,
"maximum": 1,
"result": "summary"
}
],
"reservedCostUnits": 0,
"maximumAttempts": 3
},
{
"key": "compare",
"kind": "task",
"workNodeKey": "compare",
"actionKey": "execute-work-stage",
"inputs": {},
"outputs": [
{
"key": "result",
"type": "result-reference",
"provenance": "canonical",
"minimum": 1,
"maximum": 1,
"result": "reference"
},
{
"key": "summary",
"type": "text",
"provenance": "derived",
"minimum": 1,
"maximum": 1,
"result": "summary"
}
],
"reservedCostUnits": 0,
"maximumAttempts": 3
},
{
"key": "consolidate",
"kind": "task",
"workNodeKey": "consolidate",
"actionKey": "execute-work-stage",
"inputs": {},
"outputs": [
{
"key": "result",
"type": "result-reference",
"provenance": "canonical",
"minimum": 1,
"maximum": 1,
"result": "reference"
},
{
"key": "summary",
"type": "text",
"provenance": "derived",
"minimum": 1,
"maximum": 1,
"result": "summary"
}
],
"reservedCostUnits": 0,
"maximumAttempts": 3
},
{
"key": "verify",
"kind": "task",
"workNodeKey": "verify",
"actionKey": "execute-work-stage",
"inputs": {},
"outputs": [
{
"key": "result",
"type": "result-reference",
"provenance": "canonical",
"minimum": 1,
"maximum": 1,
"result": "reference"
},
{
"key": "summary",
"type": "text",
"provenance": "derived",
"minimum": 1,
"maximum": 1,
"result": "summary"
}
],
"reservedCostUnits": 0,
"maximumAttempts": 3
}
],
"budgets": {
"maximumDepth": 8,
"maximumOccurrences": 100,
"maximumConcurrency": 1,
"maximumIterations": 1,
"maximumDurationMilliseconds": 2592000000,
"maximumCostUnits": 0,
"maximumStateBytes": 1000000
}
}
}
Variation and connection
Fragment placed in flowBlueprints[].composition.inputs. Properties and accepted values.
[
{
"key": "client",
"type": "surface-reference",
"provenance": "caller",
"minimum": 1,
"maximum": 1
},
{
"key": "need",
"type": "text",
"provenance": "caller",
"minimum": 1,
"maximum": 1
}
]
UI layout example
The illustrative layout below places this configuration in the Clients/Quotes app. Insert each fragment at the stated location, with Field, Query and Action references matching the Model declarations.
- Qualify need
- Prepare proposal
- Wait for decision
- Retain result
key- design-character
title- Développer un personnage
workspaceRole- work-workspace
workNodes- 6 items
composition- Declared object
Values above follow the configuration fragment; references resolve in the complete Model.