Guides
Reading a run.
The ledger records what the script did, and local preview ships today. Delivery is performed by the runtime that owns the channel, not by Chawo.
One attempt, read in order
A run is one execution attempt against one revision. It carries the events, the path taken, the outcomes, the timing, the repair steps, the handover, and the delivery facts, in the order they happened. Where a value was never established it stays unknown: a missing fact is not a negative result, and it never becomes a success because the interface had nowhere else to put it.
That is the difference between scrolling a chat by hand and reading a run. The chat shows what was said. The ledger shows which branch answered, how long it took, whether a repair fired, and whether a person took over, while analytics aggregate those runs in memory and reseed when the process restarts, so they remain a working instrument rather than a system of record.
Local preview, not a live send
Local preview and a local run are in the current build. You load a checked-in redacted or synthetic projection, you start the attempt, and you read the path back on the same machine. Chawo does not send the message: the channel runtime does that, and in the current build there is no live runtime on the other end of the attempt.
The workbench does not contact a live runtime, does not call a model, and does not write to a CRM or an ad platform while you inspect a conversation. That is not a footnote under the ledger. It is why a misconfigured test cannot reach a customer: the build has nowhere to send anything.
What you fix after you read it
Repair is a recorded step, not a silent retry. If a branch failed and the script recovered, the ledger keeps both facts, so you can see the recovery instead of only the later success. The handover sits in the same sequence: you can tell what the bot had already promised before a person arrived, because that promise is a row, not a recollection.
Delivery facts belong to the runtime that owns the channel. Chawo records them when they exist on the projection you loaded, and they are not proof that Chawo delivered a Telegram message, because Chawo is not the sender. The current build reads a record shaped for inspection, then stops.