Projects and workspace
Creating a project
POST /api/v1/projects → main workspace + local deployment target are created.
Resource IDs are UUIDv7; renaming keeps the same identity.
Workspace (draft)
Edits live only in workspace delta rows. Reads merge the base revision with deltas (copy-on-write).
Write: PUT /api/v1/workspaces/{id}/resources/{resourceId} body includes expectedVersion. 409 → re-read, retry.
Resource kinds
folder, tag, screen, equipmentType, equipment, udt, udtInstance, connection, report
equipmentType, equipment, udt, udtInstance, connection, report are not copied into the snapshot; the compiler produces tags/screens.
Publish path
On the Deployment surface: Validate → Publish → Activate. Details: Deployment and Publish loop.