// the find
mwzero/Criteria
a C/C++ Workflow Engine
Criteria is a C/C++ workflow engine that orchestrates activities, behaviours, and function executions stored in SQLite or MySQL. It appears to define workflows as data models with XML/SQL backends and execute them via a FastCGI endpoint. This is pre-cloud, pre-REST infrastructure that would fit embedded or industrial automation contexts from the early 2010s.
The data model is reasonably well-structured — separating Activities, Behaviours, Connections, and FormalParameters mirrors WfMC concepts properly rather than just winging it. The base OS abstraction layer (bOS) is a real abstraction with mutex, semaphore, thread, and socket wrappers, not just `#ifdef WIN32` scattered through business logic. The SQL connection pool (`bOSSQLConnectionPool`) is a legitimate feature rather than opening a new connection per request.
1 star on GitHub and the last push was March 2025 — this is effectively unmaintained and has never been adopted anywhere publicly. The README is four words ('a C/C++ Workflow Engine'), the docs folder exists but there is no meaningful documentation about what workflows actually look like or how to define one. The FastCGI executor is the only apparent entry point to the engine, which means you're looking at a 2005-era deployment model with no REST API, no gRPC, no modern embedding path. Shipping prebuilt `.so` files in the docker directory alongside source is a red flag — you can't verify what's in those binaries.