entity
Project Collection Item
Line item inside a user product collection. Holds a ProductReference, display order, and script-flag selection.
EntityStatus: Implemented in api-v1
Purpose
A collection item is one line in a ProjectCollection. Short domain name: CollectionItem. Equality of items is by identity; duplicate detection on the aggregate uses ProductReference equality.
Invariants
displayOrdermust be a non-negative integer.productReferencemust create successfully (at least one catalog id).markDeleted()sets statusdeletedwithout changing selection. Airtable save then omits the item from the parent collection link.
Domain Events
None. Items change only through the parent collection aggregate, which also emits no events.