feat(silo): headless runner entry points -- dag_extract, validate, export #217

Closed
opened 2026-02-14 19:40:31 +00:00 by forbes · 0 comments
Owner

Summary

Create runner.py with three headless entry points for the silorunner compute worker.

Deliverables

dag_extract(input_path, output_path)

Open a .kc file headlessly, extract the DAG, write JSON to output_path.

validate(input_path, output_path)

Open a .kc file, recompute all features, report pass/fail per node with updated properties_hash.

export(input_path, output_path, format='step')

Open a .kc file, export geometry to STEP/IGES/STL/OBJ.

Invocation

create --console -e "from silo.runner import dag_extract; dag_extract('/tmp/part.kc', '/tmp/dag.json')"

Location

New file: mods/silo/freecad/runner.py

Depends on

  • DAG extraction engine issue

Ref

docs/MULTI_USER_CLIENT.md Sections 6-7

## Summary Create `runner.py` with three headless entry points for the silorunner compute worker. ## Deliverables ### `dag_extract(input_path, output_path)` Open a .kc file headlessly, extract the DAG, write JSON to output_path. ### `validate(input_path, output_path)` Open a .kc file, recompute all features, report pass/fail per node with updated properties_hash. ### `export(input_path, output_path, format='step')` Open a .kc file, export geometry to STEP/IGES/STL/OBJ. ## Invocation ```bash create --console -e "from silo.runner import dag_extract; dag_extract('/tmp/part.kc', '/tmp/dag.json')" ``` ## Location New file: `mods/silo/freecad/runner.py` ## Depends on - DAG extraction engine issue ## Ref `docs/MULTI_USER_CLIENT.md` Sections 6-7
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/create#217