fm.freemix.release

A release: a top-level container that groups member leaves into a put-out work (FM-549 s38). Single-owner (distinct from collection.*, the curatorial multi-owner lens). Container points DOWN at its members.

Details · record, key tid
Kindrecord
Record keytid
Authorityfreemix.fm
Indexed

Record

record · key tid

Properties

SHA-256 hash of the cover art.

  • maxLength: 200

coverArtUrl

string · uri

URL to cover art image.

  • maxLength: 3000

createdAt

requiredstring · datetime

Record creation timestamp.

  • maxLength: 100

currency

string

ISO-4217 currency code. Phase 1 = USD only. INLINE sellability shape — keep in sync across sellable types.

  • maxLength: 3
  • knownValues: USD

Release description.

  • maxLength: 5000

kind

requiredstring

The product form of the release (FM-549 s41: 8 values). OPEN enum by design — adding a kind later is a data change, not a lexicon change. `stems` = a stems bundle; `trackWithStems` = track + its stems; `samplePack` = samples as members; `djSet` = a DJ set.

  • maxLength: 50
  • knownValues: single | ep | album | compilation | stems | trackWithStems | samplePack | djSet

DERIVED summary cache (FM-549 s40): the shared license value when all member leaves agree, or 'mixed' when they differ. Powers Browse license search + display. Recomputed at publish and on any post-publish leaf edit. READ-ONLY for sort/display — NEVER read by enforcement (gate/cascade/charge read the LEAF, not this).

  • maxLength: 100

members

array

Ordered member leaves of this release (FM-549 s38: containers point DOWN at members). Each is an AT-URI ref to a track / stem / sample / group.stems record.

  • maxLength: 200
itemsobject

priceCents

integer

On-network price in integer cents (FM-549: price on-network; offer public, sale private). 0 or absent = free. Hard price floor enforced in app, not schema. INLINE sellability shape — authored identically in fm.freemix.release and fm.freemix.group.stemsGroup; keep in sync (s41).

  • minimum: 0

DERIVED summary cache (FM-549 s40): the shared royalty posture when member leaves agree, or 'mixed' when they differ. Same rules as licenseSummary — read-only, never read by enforcement. Royalties themselves stay track-level only.

  • maxLength: 100

seller

requiredstring · did

parties.seller (s39): the single account DID that owns and sells this release (owner = seller = uploader; may be an org account). Charge/entitlement read THIS field. INLINE — keep in sync.

title

requiredstring

Release title.

  • maxLength: 300

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A stems group: a structural grouping of stems that is downloadable/sellable as a unit, independent of any release (FM-549 s38). First record under the net-new group.* segment (named group.stems, not group.stemsGroup — the segment already says 'group') (for sets that fit neither collection.* — the curatorial lens — nor release — the put-out work). Points DOWN at its member stems; the sold-product name lives here. RELATIONSHIP TO fm.freemix.release: a release is a separate 'put-out work' wrapper t

  • A samples group: a structural grouping of samples uploaded and presented as a unit, independent of any release (FM-824; mirrors fm.freemix.group.stems, FM-549 s38). A sample PACK is this same record with a price — one record type, pricing optional. Points DOWN at its member samples, which carry an optional parentGroup back-ref (the only upward ref); members[] is authoritative for membership and order. RELATIONSHIP TO fm.freemix.release: a release is a separate 'put-out work' wrapper that MAY inc

  • A music track record on FreeMix. Top-level leaf (FM-549 s38: pulled out from under the release.* prefix; release.track -> track).

  • A music track record on FreeMix

  • A stem (isolated track component) belonging to a parent track