Coming soon. A dedicated debugging guide is being written. The existing material lives across a few pages today; the section below points to the most useful starting points.
Where to look first
- Compiler errors.
mufl-compilereports type and parse errors with the meta stage enabled. If a transaction fails on an unexpected type, recompile with meta on and the type system will usually tell you where the mismatch is. See The MUFL Type System for what meta enforces. - Runtime errors from a packet. Transactions can
abortwith a reason. The reason string is returned to the caller in the transaction result. See TheabortStatement. - Wrapper logs. The ADAPT wrappers
take a
--logger_configflag with verbosity levels (ERROR | WARNING | INFO | DEBUG_MESSAGES | DEBUG), per-message-ID filters, and stdout/stderr redirection. Start atINFOand step down toDEBUGfor a single message type when you are zeroing in on a specific exchange. - Message broker trace. Setting the broker logger to
DEBUGprints every routed envelope, which is the fastest way to confirm whether the failure is in routing or inside the destination packet.
What is planned
A future revision of this page will cover:
- Running a packet locally under the REPL with
mufl -rfor faster-than-deploy iteration. - Reproducing a failure from a backup-storage transaction log.
- Inspecting
.mufloprovenance — confirming you are running the artifact you think you are running, by hash. - Diagnosing browser-WASM-specific failures (initialisation, attestation, randomness).
If you hit a debugging scenario that is not covered here, please file feedback through Contact Us; the page is being prioritised by what real users report.