The Series· No. 58 · Act XV — The Engine, Deeper

By DocuSeller · Published

Flow Logic
DocuSeller · No. 58

The line that makes up its mind

A straight line is a lovely way to draw a process.

It is a terrible way to run one.

Real work forks. Then it waits. Then it hands part of itself to another process entirely.

Post 14 drew our engine as an assembly line — eight boxes, joined up, reading left to right. True, and incomplete. Because the first thing anybody says when they see it is: our process isn't the same every time.

Nor should it be. A condo needs a document a single-family house doesn't. An account with an open balance needs a person to look at it. A clean one needs nobody.

So a step is allowed two exits.
A condition sends the current run down one solid branch while the other dashed branch is skipped This run takes one exitConditionTakenSkippedThe other branch does not execute
Two exits. One of them is a road this job never travels.

It reads a value the run is already carrying — a status, a count, a yes — and tests it. Equals. Doesn't equal. Contains. Is empty. Bigger than. Then it leaves by whichever exit matched, and everything hanging off the other one simply never happens. There is a four-way version for when two isn't enough.

Two roads eventually have to become one road again, so the join waits. Nothing past it moves until every branch feeding it has arrived.

A join holds a completed branch while another is still in progress, keeping the next step behind closed doors Nothing passes the join earlyBranch AArrivedBranch BIn progressJoinNext stepWait for both
The join is the reason nothing ever ships half-made.

Then the part I like most.

A flow can stop for three days.
A persisted run ticket with an illustrative wake-up time sits in a filing wallet beside an empty chair Write the wait downWake-up timeOct 1509:00 · exampleSaved runSaved, not running
Nobody is sitting there waiting. The waiting is written down and filed.

Not a program standing there with its finger on the pause button, holding a machine open all weekend. The run is written down, given a wake-up time, and let go of. Nothing is left running. When the time comes, a sweep picks up everything that is due and carries on from the exact step it stopped on. It survives a restart, because there was nothing to restart.

And a flow can call another flow — handing over everything the run knows, or just the three fields it needs.

Three caller flows pass run data into one shared five-step routine rather than keeping separate copies One shared set of stepsShared flowFlow AFlow BFlow CEach caller passes its run data
Build it once, fix it once, and every line it plugs into gets the fix.

So the five steps you built once don't get rebuilt in twelve places. When the wording changes, it changes once.

None of this is exotic. It is the difference between a diagram and a machine.

Two illustrative orders reach delivery through the same flow, one directly and one through human review and a three-day wait Two orders, different pathsOrder AOrder B1234Review3 daysDeliveredIllustrative routes through the same flow
Two orders, one flow. It only looks like a line in the drawing.
A diagram has one path because whoever drew it knew how it goes.

A machine has to survive the Tuesday it doesn't.

Next: the rehearsal — running a flow on your own data before it touches a customer.

#Automation · #PropTech · #BuildInPublic