Quick Start
See WoGu catch a real determinism violation in under a minute.
1. Add the plugin
Follow Installation to add the Maven or Gradle plugin to your project. No configuration is required for the default rule set.
2. Run your build
mvn verifyIf a workflow implementation in your project violates a rule, the build fails with a console summary:
----------------------------------------------------
WoGu Workflow Guard
----------------------------------------------------
Scanning project...
✓ Found 1 workflow class
Running Rules...
✗ WG001 UUID.randomUUID() inside Workflow
✗ WG002 Thread.sleep() inside Workflow
✗ WG003 Non-deterministic Time APIs inside Workflow
----------------------------------------
3 ERROR
Build FAILED
HTML Report
target/wogu/index.html3. Open the report
target/wogu/index.htmlThe report renders every violation with the full call path from the workflow's entry point down to the offending call, so you can see exactly how the violation is reachable even when it's several method calls deep.
Example
// Inside a workflow implementation
UUID.randomUUID();mvn verifyfails- The HTML report shows the violation and its full call path
- Recommended fix:
Workflow.randomUUID()
import io.temporal.workflow.Workflow;
public class PaymentWorkflowImpl implements PaymentWorkflow {
@Override
public String processPayment(String accountId) {
String transactionId = Workflow.randomUUID().toString();
return "Payment " + transactionId + " processed for account " + accountId;
}
}See the Rules reference for everything WoGu checks for today, or read Reports to understand what the HTML report shows.