FFalCAD docs

0004 — Validated transactions for design data

Status: accepted · protocol: Collaboration protocol

Context

Electrical connectivity and geometry have invariants: references must exist, a schematic keeps at least one sheet, ids are unique. A last-writer-wins map or a naive CRDT can merge into states that are each valid separately but invalid together.

Decision

Every edit to structured design data is a transaction of entity operations (create, update, delete, set). It is checked against the entity schema, referential integrity and whole-document constraints, and applied atomically. The same engine powers:

Text documents (HDL, firmware, notes) and presence (cursors, selections) are the cases where CRDT or last-writer-wins semantics are acceptable. Text CRDT support is planned.

Consequences