← The Stage ManagerCase 02 of 05

The herald

Three isolated characters and one shared messenger.

The situation

Three machines, each with one character doing one job — a cashier who sells, a packer who packs, a courier who ships. They are deliberately isolated: own verbs, own journals, no cable between them. And yet when the cashier sells, the packer must pack and the courier must ship. The usual answer is a message bus, which works but moves the flow of the business into the bus's configuration, where no participant's own program says anything about it.

What travels

What actually crosses between machines.

On the wire

Ordered values and an identity for the telling — nothing else. Names and types never cross; the receiver reads the values by position and relabels them in his own vocabulary.

What is addressed

A role, never a machine and never a transport. The route is not in the language at all — a binding table resolves it at runtime.

Who may emit

Only the Director. A tell issued by every replica would deliver the same message once per body, so a replicated messenger emits from one.

The act of speaking became a sentence in the speaker's own program.

The objection

If the cashier never calls the packer, isn't the herald just a message bus with extra steps? What did we actually gain?

Where the record lives. With a bus, the cashier's program records the sale and nothing else — the fact that anyone was told lives in the bus's log, outside every participant's program. Here the sentence recording that he told the herald is an entry in the cashier's own journal, and the acknowledgments naming who answered are entries in the herald's.

Words used precisely
A command is not a reaction
A command is an imperative verb a character performs, and it journals. A reaction watches a journal and speaks. The packer running pack is his own command, run because a message arrived — not a reaction.
The herald orders nobody
His verbs are assertive: facts, in the past tense. What each receiver does about a fact is the receiver's decision, in the receiver's own verbs. The sender never names them — he would not know them.
What is absent
  • The cashier never learned the packer's verbs.
  • No direct link between cashier, packer and courier.
  • No orchestrator deciding the sequence. No component owns the flow.
  • No broadcast. Each receiver was named, one at a time.

That absence is the result, not the setup.