Observability
Observability should tell you whether automation is healthy without creating a second, less protected copy of every customer payload. WOML therefore exposes execution structure, identities, counts, durations, statuses, waits, and bounded failure information while redacting business values by default.
Foreground run presentation
woml run begins with workflow name, description, version, and trigger instructions. Each occurrence then receives its own run section with step names, descriptions, durations, safe results where appropriate, lifecycle outcomes, and failures.
This format is meant for development and direct operations: you can see what ran and where it stopped without reconstructing the graph from raw JSON.
Live terminal inspection
woml inspect --state ./data/workflow-history.sqliteThe colored inspector is WOML's htop-like view. It summarizes runtime health, active workflows, recent runs, policy queues, human waits, loop progress, workflow calls, and failures. Use log following when you want detail about one run or workflow.
Health and metrics
Runtime configuration can enable local health and Prometheus metrics endpoints:
{
"schemaVersion": 1,
"observability": {
"health": true,
"metrics": true
}
}Health answers whether the process and its critical runtime components are ready. Metrics cover runs, queue pressure, waits, failures, providers, workflow calls, and for-each progress. Put alerts on outcomes and capacity signals rather than on normal event volume alone.
Keep the administration listener loopback-only. If a monitoring system must reach it from another machine, use a reviewed authenticated network boundary rather than exposing the local admin API directly.
Logs
Choose readable text locally and structured JSON when a log collector will ingest records:
{
"schemaVersion": 1,
"logging": {
"format": "json",
"level": "info",
"directory": "./logs"
}
}Use debug temporarily during investigation; do not leave high-volume diagnostics enabled without a retention plan. Provider credentials, managed-operation bodies, SQL parameters, and secret values remain outside normal operational projections.
What WOML cannot classify for you
If your script deliberately logs, returns, or sends sensitive data, WOML cannot infer its business meaning. Redacting platform-owned fields does not replace careful application design. Log stable IDs and counts, keep customer content out of routine logs, and store business records in the system that owns them.