Society · Protocols

Workflow

Directed graph of operations

Definition

Mechanism

A directed graph of Steps in which completion or output from one Solver can enable another. It defines the operation topology required to pursue a complex objective and can express branching, parallelism, conditional logic, or declared recursion. An edge may carry a typed Artifact with an AcceptSpec, and a step may bind one or more Roles without instantiating performers. Edge payloads, acceptance policy, and role bindings remain optional unless a descendant requires them.

Invariants

  1. Causality: Step B cannot start before Step A's prerequisites are met.
  2. Cycle Declaration: A dependency cycle is permitted only when its recursion or daemon semantics are explicit; otherwise dependencies are acyclic.
  3. Declared Edge Data: When an edge carries data, it names a typed Artifact rather than untyped raw data.
  4. Binding Separation: Any declared role binding names one or more Roles without instantiating performers.

Risks

Failure modes

  1. Unresolved Cycle

    A dependency cycle has no declared recursion or daemon semantics and prevents progress.

  2. Cascade Failure

    One node failure propagates to all dependents.

  3. Orphan Output

    A node produces artifacts that no downstream node consumes.

Relationships

Builds on

References

Infrastructure

AcceptSpec

Non-compensatory acceptance contract; consumer Verify yields Solution or FrameError

Infrastructure

Artifact

Immutable data unit

Infrastructure

Role

Assignable contextual function

Mind

Solver

Abstract five-surface contract: Manifest, Execute, Consult, Verify, Feedback

Infrastructure

Step

Atomic action with pre/post conditions

Used by

References

Reference

Data schema

{
  "type": "object",
  "required": [
    "steps",
    "dependencies"
  ],
  "properties": {
    "steps": {
      "type": "array",
      "description": "List of executable units"
    },
    "dependencies": {
      "type": "array",
      "description": "Directed prerequisite edges (step_A -> step_B)"
    },
    "artifacts": {
      "type": "object",
      "description": "Typed outputs flowing on edges"
    },
    "accept_specs": {
      "type": "object",
      "description": "Optional mapping from edge identifiers to AcceptSpec identifiers"
    },
    "role_bindings": {
      "type": "object",
      "description": "Mapping from step identifiers to one or more Role identifiers; selects required roles without instantiating performers"
    }
  }
}

Identity

Ref
Workflow#808d
Sema ID
sema:Workflow#mh:SHA-256:808de72d3285e4ac086b85bfe4ba028ad2904b4088f7a22b60259ff8d8ffe057
Ring
0
Tier
1
Updated
2026-11-11
Supersedes
  • sema:Workflow#mh:SHA-256:36b2e9b976f4c8995977ea44277a6c0d2d6fba5c61e8bac80b13d4f9695e1dd9
  • sema:Workflow#mh:SHA-256:c08269a947e9c4b5dc11979a504aa791196de2cea81245bfb45ede8c781a2586
  • sema:Workflow#mh:SHA-256:e8ce5c15c37d26e79c0bcb73685b7bee68e9cbe85dae3a0ce0002bb64439e728
  • sema:Workflow#mh:SHA-256:2b8a81eecc3c3656b624d8cbe2b8b2bbf115b1d045d1b98b277f24a7e94ebdf1
  • sema:Workflow#mh:SHA-256:092d027e1770222c8e2420fd7c893f6b0b1ea34042bc9283bce826925e12d3a2