From that it reports four things: a region written twice with the same text inside the repeat window, a region whose resolved urgency is not the expected one, an update the expectations wanted that the recording does not hold, and a region that was inserted into the document already carrying its message.
This walkthrough uses the tool's public README and checked-in example files. Run the command from a repository checkout with Node.js 22+.
Run the checked-in example
# a journey whose live regions behave
node bin/live-region-event-auditor.mjs \
--journey examples/clean/journey.json \
--expectations examples/clean/expectations.json \
--now 2026-09-18
echo $? # 0
# the same journey with a repeated basket message, an error region built as a
# status region, a confirmation that never arrives, and a progress region
# created with its text already in it
node bin/live-region-event-auditor.mjs \
--journey examples/broken/journey.json \
--expectations examples/broken/expectations.json \
--now 2026-09-18
echo $? # 1Read the result
npm run example runs the first of those and npm run example:broken the second. --now is passed so the verdict does not depend on the day it is run; see The clock.
Scope
maxUpdatesPerStep is a required expectation rather than a limit with a default, because it is a statement about the interface as much as about the size of the document. A step that exceeds it is not checked at all and the run is incomplete.