Process Schema
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.