The process schema stores all process definitions and their parameter specifications. It is one of the three default Xspatula framework schemas. Every operation the framework can execute — including the operations used to insert records into the process schema itself — must be registered here before it can be called from a process file.

Process files

Two process files create the process schema:

File Purpose
process/processes_v10_sql.json Creates the 8 process tables
process/processes_records_v10_sql.json Inserts the bootstrap processes needed to register all other processes

Tables

The process schema defines 8 tables that together fully describe every operation the framework can run:

Table Purpose
root_process Groups related processes into families (e.g. manage_table_data)
process Each executable operation, linked to a root_process and a Python function
process_parameter All parameters expected by a specific process
process_parameter_set_value Enumerated allowed values for a text parameter
process_parameter_minmax Minimum and maximum allowed values for a numeric parameter
process_parameter_schema_table The target schema.table that a parameter writes to
process_parameter_permission Whether a parameter value can be updated or deleted after insertion
process_parameter_default Default parameter values drawn automatically from another table

Bootstrap processes

processes_records_v10_sql.json inserts the minimal set of processes needed to register all other processes. Without these bootstrap records, no subsequent process file that tries to register a new process can execute — the framework would find no matching process definition for manage_process.

These bootstrap records are fixed and should not be edited.

AI4SH processes

After the community and process schemas are seeded, the setup processes stage registers all AI4SH-specific processes (for managing campaigns, samples, observations, etc.) into the process schema. This is done via the separate setup_processes.ipynb notebook.

For the full technical description of the process schema tables and how process files reference them, see the core framework documentation.

Updated: