# Python as Source of Truth In Kindred Create's architecture, FreeCAD documents (`.FCStd` files) are the authoritative representation of all CAD data. The Silo database and MinIO storage are caches and metadata indexes — they do not define the model. ## How it works An `.FCStd` file is a ZIP archive containing: - XML documents describing the parametric model tree - BREP geometry files for each shape - Thumbnail images - Embedded spreadsheets and metadata When a user runs **Commit**, the workbench uploads the entire `.FCStd` file to MinIO and records metadata (part number, revision, timestamp, commit message) in PostgreSQL. When a user runs **Pull**, the workbench downloads the `.FCStd` from MinIO and opens it locally. ## Why this design - **No data loss** — the complete model is always in the `.FCStd` file, never split across systems - **Offline capability** — engineers can work without a server connection - **FreeCAD compatibility** — files are standard FreeCAD documents, openable in stock FreeCAD - **Simple sync model** — the unit of transfer is always a whole file, avoiding merge conflicts in binary geometry ## Trade-offs - **Large files** — `.FCStd` files can grow large with complex assemblies; every commit stores the full file - **No partial sync** — you cannot pull a single feature or component; it is all or nothing - **Conflict resolution** — two users editing the same file must resolve conflicts manually (last-commit-wins by default)