Workflows

Publish the way work gets done.

A Program is executable work. An agent can run it once—or you can publish it as a named, versioned Workflow that waits, resumes, and remains operable after the originating turn is gone.

Program · customer_onboarding publish preview
canonical source onboarding.rn
01let docs = documents::ingest(input)
02let draft = onboarding_agent(docs)
03if draft.needs_review
04approval::wait(draft)
05access::provision(draft)
06return summary(draft)
source · 7c9e31 the only definition that executes
publish validate bind freeze
Workflow published v3
identitycustomer_onboarding
inputonboarding.request.v1
outputonboarding.result.v1
resources4 explicitly bound
topologyderived · complete
status● published
immutable version · ready to start
Run · 01J6Z7 · Workflow v3 pinned ● paused at approval · $0.00 while it waits
01 · capabilityingest_documents✓ recorded
02 · agentdraft_setup✓ recorded
03 · approvalhuman_review● parked 2d 4h
04 · capabilityprovision_accesswaiting
same source version pinned for this Run another person can inspect, approve, or cancel
The model

One executable. Two ways to run.

Program, Run, Workflow, and Automation each name one thing. The Program holds the logic. A Run is one execution. Publishing gives that Program a durable identity and operating contract.

01 · executable

Program

Source plus its compiled artifact. Real control flow that can call agents, capabilities, and Workflows.

the work
run now
02 · execution

Run

One execution in the current turn, against the agent’s bound surface. It cannot wait.

ends with the turn
publish
03 · published Program

Workflow

Named, versioned, schema-bound work with durable Runs that can wait and resume.

the commitment
04 · when

Automation

Starts an Agent or published Workflow on a schedule, check-in, or watcher match.

One source of truth

Code owns the logic. The graph explains it.

Programs express decisions, loops, parallel work, local transformations, and nested calls without turning a canvas into another programming language.

Noorle derives a read-only topology from the exact compiled source. Every external effect links back to its source location. The view can explain the Workflow; it can never quietly become a second definition.

source
the only thing that executes
topology
compiler-derived and source-linked
coverage
every external effect accounted for
customer_onboarding · overview read-only
Compiler-derived Workflow topologyA Program starts by ingesting documents, branches on risk, rejoins for approval, and provisions access.standardreviewSTART · L1inputCAPABILITY · L1ingest documentsDECISION · L3needs review?CAPABILITY · L5prepare accessAGENT · L2draft setupAPPROVAL · L4human reviewCAPABILITY · L5provision access
external effect control flow durable wait coverage · complete
The publication boundary

Same source. A stronger promise.

Publishing does not rewrite the Program. It recompiles the same source under a stricter durable profile and turns its operating assumptions into an explicit contract.

The originating agent’s surface does not carry over. Resources are bound on the Workflow itself, so a Run never gains ambient access. Agent-bound Computers stay with agents.

publish · customer_onboarding contract preview
01 · validate

Prove it can last

Replay-safe calls, bounded work, durable values, and allowed waits.

durable profile · passed
02 · bind

Name every authority

Agents, capabilities, knowledge, and child Workflows resolve to stable resources.

4 resources · explicit
03 · freeze

Seal the interface

Source, artifact, input/output schemas, and derived topology become one version.

version 3 · immutable
04 · pin

Keep Runs stable

Each Run retains the version and execution contracts it started with.

future edits → version 4
no source rewriteno inherited surfaceno mutable in-flight version
Durable by record

Lose the process. Keep the place.

A published Run advances through bounded activations over Noorle’s run ledger. Each activation reconstructs from the pinned Program and recorded outcomes, does bounded work, then commits its next state.

Run · 01J6Z7 · ledger version 28 Workflow customer_onboarding@3
activation 17committed
  1. replay4 recorded outcomes restored
  2. executeapproval::wait
  3. commitwait.approval · ordinal 1
  4. releaseprocess exits cleanly
parked 2d 4h no resident worker
activation 18resumed
  1. inputapproval recorded
  2. recreatefresh Program guest
  3. replaycontinue at the same call site
  4. executeprovision_access
same Run IDsame Workflow versionno VM state to keep alive
external effectprovision_access
outcomeprovider may have accepted it
safe responsepark for resolution

Recorded results are replayed. If an external write may have landed, the Run parks for resolution instead of risking a duplicate.

Run detail ● waiting
Workflowcustomer_onboarding@3
Run01J6Z7
Started byautomation:onboarding
Current waithuman_review · approval
14:02:11RunStartedversion 3 pinned
14:02:13EffectCompletedingest_documents
14:02:19AgentCompleteddraft_setup
14:02:20ApprovalRequesteduser:operations
ApproveSend signalCancel Run
Operations, not archaeology

A Run other people can operate.

The durable record carries enough context for someone else to understand the work without asking the originating agent to reconstruct its intent.

  • 01
    Inspect

    See the pinned version, inputs, outputs, effects, and complete run history.

  • 02
    Resolve

    Approve a gate, deliver a signal, or satisfy an external callback.

  • 03
    Control

    Cancel a Run without needing the process—or actor—that originally started it.

The handoff

Workflow is what. Automation is when.

Keep the execution contract separate from the condition that starts it. Change a schedule without editing the Workflow; publish a new Workflow version without rebuilding every trigger.

what happens

Workflow · customer_onboarding@3

ingestdraftapproveprovision
named · versioned · durable
when it starts

Automation · new_customer

scheduleone-shot · interval · cron
watcherincoming activity matches
check-inperiodic proactive nudge

The portal, an agent, or another Program can start a Workflow too. An external callback resumes a Run already waiting; it is not an Automation trigger.

Choose the right surface

Judgment, or a published process?

Agent

The next step depends on judgment.

Open-ended work, ongoing threads, and an actor that carries context and learned practice forward.

relationship persists · path adapts
Workflow

The process should be published.

Named, versioned work with schemas, durable waits, and a Run someone else can inspect or operate.

version pins · Automation starts it

Ship the work. Keep it.

One source · one pinned version · a Run that can wait