Building Blocks
Cohesive. Processes
Cohesive.Processes is the workflow semantics layer for coordinating reads, transitions, effects, decisions, waits, signals, and outputs over time.
Processes describe intent and coordination separately from the runtime that executes them. The same process model can be interpreted by local test harnesses, durable workflow engines, API endpoints, hosted workers, or future infrastructure adapters.
Workflow Semantics
Many workflows are hidden in service methods, queue handlers, cron jobs, controller branches, and integration callbacks. Cohesive.Processes makes the coordination model explicit.
A process can describe a sequence or graph of work: read entity state, query related facts, invoke a transition, emit an effect, wait for a signal, branch on a predicate, start another process, or return a shaped result.
Process Model
The process IR can represent:
- Inputs and outputs shaped by
Cohesive.Core. - Entity references and transition invocations.
- Query and relation reads.
- Effects and external intents.
- Wait points, correlation keys, timers, and signals.
- Decision nodes based on expressions or typed authoring delegates.
- Execution metadata for tracing, replay, and diagnostics.
Determinism And Waits
Durable work needs more than a function call. Cohesive.Processes separates semantic decisions from runtime effects so execution can be replayed, resumed, inspected, and tested.
Waits are modeled as process semantics instead of incidental infrastructure callbacks. That makes approval flows, integration handshakes, long-running training jobs, settlement workflows, and human-in-the-loop tasks easier to reason about.
Integration
Processes sit across the rest of the stack:
Cohesive.Entitiessupplies legal transitions and effects.Cohesive.Relationssupplies queries and projections.Cohesive.Storagesupplies repository state and streams.Cohesive.Apiexposes process start, status, signal, and query operations.Cohesive.Identitypreserves actor, initiator, scope, and capability context.Cohesive.Presentationcan surface process actions, status, tasks, and timelines.
Why It Matters
Processes are where system meaning becomes temporal. They make long-running behavior visible as a model that can be generated, tested, traced, resumed, and projected into operations tooling.
