--- id: MAN-9 family: GR-MAN level: extended profiles: [storage-api] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/gr-man/man-9 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # MAN-9 — A workflow used as a node cannot build its own contract forever *GR-MAN (Part I) · level: extended · profiles: storage-api · added in 1.0* Workflows compose, so a contract build can walk into itself. The guard is per path, not per build, so an honest diamond still resolves. ## The rule > **Normative.** This is the rule. > > 1. When a workflow is used as a node inside another workflow, the contract build descends into it. > > 2. Re-entering a workflow already on the current path is refused: the entry resolves to an empty object schema and a warning is logged, rather than recursing. > > 3. Encountering the same workflow again as a sibling, not an ancestor, is allowed and builds normally. --- Rule identifiers are permanent and are never renumbered. This specification carries no implementation status: each implementation publishes its own standing against these rules. Licensed CC BY 4.0.