diff --git a/extensions/chaeo/examples/batch_run_patches.py b/extensions/chaeo/examples/batch_run_patches.py
index 52b0149017e454def89354d7737358aac8407512..c831c08ed8b38fe5d61b7eb45ed070ae43bb2919 100644
--- a/extensions/chaeo/examples/batch_run_patches.py
+++ b/extensions/chaeo/examples/batch_run_patches.py
@@ -27,6 +27,8 @@ if __name__ == '__main__':
     csv_args = {'mode': 'w', 'header': True} # when creating file
     px_ilp = Path.home() / 'model-server' / 'ilastik' / 'AF405-bodies_boundaries.ilp'
 
+    # TODO: try/catch blocks and error handling around workflow calls
+    # TODO: pack JSON-serializable workflow inputs
     for ff in where_czi.iterdir():
         pattern = 'Selection--W([\d]+)--P([\d]+)-T([\d]+)'
         ma = re.match(pattern, ff.stem)
diff --git a/extensions/chaeo/workflows.py b/extensions/chaeo/workflows.py
index 85b16d8b811124fd41ac1b0e52e9d77f47785a5d..30c2221b33f5b7407d190670cb28dadbb655aca2 100644
--- a/extensions/chaeo/workflows.py
+++ b/extensions/chaeo/workflows.py
@@ -8,6 +8,7 @@ from extensions.chaeo.zmask import build_zmask_from_object_mask, project_stack_f
 from model_server.accessors import generate_file_accessor, InMemoryDataAccessor, write_accessor_data_to_file
 from model_server.workflows import Timer
 
+# TODO: unpack and validate inputs
 def export_patches_from_multichannel_zstack(
         input_zstack_path: str,
         ilastik_project_file: str,