Skip to main content
Workflow Objects (WOBs) are the core building blocks of the MainlyAI data model. They provide an ORM-style abstraction over the underlying database tables, which primarily consist of shared metadata tables and a set of workflow-specific tables such as code, knowledge_object, compute_resource_groups, and project. Each WOB is exposed to the user as a database view that enforces access control based on information stored in ACL tables. Modifications to a WOB are performed via stored procedures that execute in a privileged context, governed by the same ACL rules. This database interface is then wrapped in a corresponding Python object—such as Code_block, Knowledge_object, Model, or Project—which serves as the primary API for interacting with the object.

Edges

All WOBs are connected in graphs via an edge table (edges). Users interact with these connections through the v_edges view, and WOBs can be linked or unlinked using the MainlyAI functions miranda.link() and miranda.unlink().
ColorData typesFlow directionUse case
RedString, numberForwardUsed for prompts, settings, text, code
GreenJSON or dictsForwardProgram state, objects that change forward
BlueDataset, DataFrameForwardRelational data that change forward
PurpleAPI, ML modelsBackwardsThe leaf nodes of a purple branch is a subprogram that has its own state and it can receive and propagate information. Note that all objects are passed by reference which is important in concurrent execution.