Model Ingestion
ImplementedPresign → R2 PUT → complete_upload → RQ ingest_structural_file. Re-ingest DETACH DELETEs the prior graph for that file.
State machine
Upload → created → uploaded → queued → ingested | error.
Element recognition is a second job type: element_recognition.
Limitations
No graph snapshot of the previous ingest. History is Decision Memory snapshots, not ingest history.
IFC uses ifcopenshell per element; STEP mesh is display-only unless OCCT is on.
Implementation
- services/api/app/routes/files.py
- services/worker/app/structural_ingest.py