mesh/merge-gate pass: builds messenger → novox; no bus step; every machine composes with the change as it did without (4 of 4 compose)
mesh/repo-check pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
mesh/delivery superseded: a newer head of the same pull request
The words a condition reaches the operator with are composed in the router, and nothing kept them: a send's history row holds a key and an outcome, never text, and a notification still on the desk is not in the notifier's history. So a wording could only be proven by waiting for a send and reading the operator's screen, which is why proving issue 400's tracking line stalled. messenger_preview composes what a send would carry for a condition the router holds open — the same words, the same tracking line, the same verdict — and says whether the content rule would let them out. It sends, queues and records nothing.